ВЫГРУЗКА ЗАДАЧ ЧЕЛОВЕКО-МАШИННОГО ВЗАИМОДЕЙСТВИЯ
OFFLOADING HUMAN-MACHINE-INTERACTION TASKS

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[1] Данная заявка испрашивает приоритет предварительной заявки США серийный номер 61/908,918 поданной 26 ноября 2013, раскрытие которой настоящим включено в данный документ посредством ссылки во всей ее полноте.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
ОБЛАСТЬ ТЕХНИКИ
[2] Настоящее изобретение относится к панелям человеко-машинного взаимодействия (HMI), используемым в среде промышленной автоматизации, и, более конкретно, к выгрузке задач из HMI на вычислительные/коммуникационные устройства, такие как смартфоны и планшеты.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
[3] Панели HMI широко используются в среде промышленной автоматизации, особенно в суровых и экстремальных условиях, для визуализации значений процесса и осуществления связи с машинами через промышленные полевые шины. Панель HMI представляет собой интерфейс между человеком-оператором и машиной, которая выполняет задачи автоматизации. Технология панелей, однако, развивалась медленно, в то время как ожидания относительно задач HMI, таких как 3D-визуализация, росли экспоненциально. И этот разрыв продолжает расти.
[4] С другой стороны, потребительские мобильные технологии (аппаратные и программные) стали процветающими за последнее десятилетие. Смартфоны и планшеты представляют естественные интерфейсы пользовательского ввода и вывода. Эти устройства, как правило, имеют более мощные процессоры и графические системы, чем большинство панелей HMI. Функциональные возможности смартфонов и планшетов могут удовлетворять и даже превосходить требования многих задач автоматизации.
[5] Тенденция облачных вычислений добавляет еще один уровень возможностей. Облако обеспечивает еще большие онлайн и офлайн вычислительные мощности и доступность.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[6] Настоящим изобретением обеспечивается технический результат, состоящий в улучшении вычислительных возможностей и HMI-функций панелей HMI в промышленной системе автоматизации, и как результат достигается повышение общей производительности системы при одновременном обеспечении требований реального времени и критических для безопасности требований промышленных приложений HMI.
[7] В примерном варианте осуществления настоящего изобретения предложен способ для выгрузки задач человеко-машинного взаимодействия из панели человеко-машинного взаимодействия в промышленной системе автоматизации. Каждая задача человеко-машинного взаимодействия классифицирована на один из по меньшей мере типа высокоприоритетных задачи и второго типа задач в соответствии с требованиями вычислений реального времени. Посредством панели человеко-машинного взаимодействия вычисляется график для исполнения панелью человеко-машинного взаимодействия высокоприоритетных задач человеко-машинного взаимодействия. Высокоприоритетные задачи человеко-машинного взаимодействия затем выполняются панелью человеко-машинного взаимодействия в соответствии с графиком.
[8] Идентифицируются ресурсы места назначения выгрузки, которые доступны для панели человеко-машинного взаимодействия. Задачи человеко-машинного взаимодействия второго типа задач затем выгружаются панелью человеко-машинного взаимодействия на ресурсы места назначения выгрузки для исполнения ресурсами места назначения выгрузки. Панель человеко-машинного взаимодействия периодически осуществляет связь с ресурсами места назначения выгрузки, чтобы проверить статус выгруженных задач человеко-машинного взаимодействия.
[9] В одном аспекте раскрытия, задачи человеко-машинного взаимодействия второго типа задач включают в себя задачи мягкого реального времени и задачи твердого реального времени. В этом случае, выгрузка задач человеко-машинного взаимодействия второго типа задач на ресурсы места назначения выгрузки для исполнения ресурсами места назначения выгрузки может дополнительно включать в себя следующие дополнительные операции. Вычисляется второй график для исполнения задач мягкого реального времени интеллектуальными устройствами связи ресурсов места назначения выгрузки, и задачи мягкого реального времени выгружаются на интеллектуальные устройства связи для исполнения интеллектуальными устройствами связи согласно второму графику. Вычисляется третий график для исполнения задач твердого реального времени с помощью облачной вычислительной среды ресурсов места назначения выгрузки, и задачи твердого реального времени выгружаются для исполнения облачной вычислительной средой в соответствии с третьим графиком.
[10] В другом аспекте раскрытия, если статус выгруженных задач человеко-машинного взаимодействия указывает на то, что выгруженная задача человеко-машинного взаимодействия была пропущена, то пропущенная выгруженная задача человеко-машинного взаимодействия может резервироваться путем исполнения задачи локально.
[11] В другом аспекте изобретения предложена панель HMI, имеющая процессор; модуль ввода/вывода, соединенный с процессором и соединяемый для осуществления связи с промышленным оборудованием автоматизации; модуль сетевых коммуникаций, соединенный с процессором и соединяемый для осуществления связи с ресурсами места назначения выгрузки; нетранзиторный (невременный) используемый компьютером носитель, имеющий считываемые компьютером инструкции, сохраненные на нем, для исполнения процессором для выполнения операций, как описано выше.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[12] Фиг. 1 является схематичным представлением, показывающим трехуровневую архитектуру в соответствии с примерным вариантом осуществления настоящего изобретения.
[13] Фиг. 2 является схематичным представлением системы, показывающим взаимосвязь экземпляров среды выполнения HMI в соответствии с примерным вариантом осуществления настоящего изобретения.
[14] Фиг. 3 является блок-схемой последовательности действий, показывающей цикл среды выполнения HMI в соответствии с примерным вариантом осуществления настоящего изобретения.
[15] Фиг. 4 является блок-схемой последовательности действий, показывающей операции выгрузки задачи в соответствии с примерным вариантом осуществления настоящего изобретения.
[16] Фиг. 5 является блок-схемой последовательности действий, показывающей операции диспетчеризации задачи сигнализации в соответствии с примерным вариантом осуществления настоящего изобретения.
[17] Фиг. 6 является блок-схемой последовательности действий, показывающей операции резервирования выгруженной задачи в соответствии с примерным вариантом осуществления настоящего изобретения.
[18] Фиг. 7a иллюстрирует таблицу задач в соответствии с примерным вариантом осуществления настоящего изобретения; фиг. 7b иллюстрирует таблицу ресурсов в соответствии с примерным вариантом осуществления настоящего изобретения.
[19] Фиг. 8 представляет временную шкалу, иллюстрирующую способ выгрузки в соответствии с одним вариантом осуществления настоящего изобретения.
[20] Фиг. 9 представляет временную шкалу, иллюстрирующую способ выгрузки в соответствии с другим вариантом осуществления настоящего изобретения.
[21] Фиг. 10 является блок-схемой, показывающей оборудование, используемое в демонстрации одного варианта осуществления настоящего изобретения.
[22] Фиг. 11а является скриншотом дисплея панели HMI во время исполнения задания управления сигнализацией. Фиг. 11b является скриншотом дисплея мобильного устройства во время исполнения задачи уведомления о тревожной сигнализации, выгруженной из панели HMI в соответствии с одним вариантом осуществления изобретения.
[23] Фиг. 12а является скриншотом дисплея панели HMI, показывающим экранные объекты. Фиг. 12b является скриншотом дисплея мобильного устройства, показывающим экранные объекты, выгруженные из панели HMI на мобильное устройство в соответствии с одним вариантом осуществления изобретения.
[24] Фиг. 13а является скриншотом дисплея панели HMI, показывающим дополнительные экранные объекты. Фиг. 13b является скриншотом дисплея мобильного устройства, показывающим дополнительные экранные объекты, выгруженные из панели HMI на мобильное устройство в соответствии с одним вариантом осуществления изобретения.
[25] Фиг. 14 является скриншотом мобильного устройства, выполняющего задачу визуализации управления трендом, выгруженную из панели HMI.
[26] Фиг. 15 представляет собой блок-схему последовательности действий способа согласно одному варианту осуществления изобретения.
[27] Фиг. 16 является схематичным представлением, показывающим устройство в соответствии с одним вариантом осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ПРИМЕРНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[28] Обзор архитектуры в соответствии с настоящим раскрытием показан на фиг. 1. В целом, трехуровневая архитектура 100 выгружает задачи автоматизации HMI из панели 110 HMI на локальные мобильные устройства 170, а также через локальные мобильные устройства 170 в облачную вычислительную среду 180. Архитектура 100 использует преимущества распределенных вычислительных ресурсов и ресурсов обработки, а также позволяет использовать новые функции, такие как сенсорные вводы и разрешения HD, которые недоступны (или пока недоступны) в традиционных устройствах панели HMI. Описанная архитектура также предусматривает дополнительные усовершенствования систем автоматизации, таких как совместная работа операторов.
[29] Описанная система использует алгоритм планирования, основанный на характеристиках задач HMI. Эти задачи распределяются интеллектуальным образом между локальной панелью 110 HMI, мобильными устройствами 170 и облаком 180, чтобы наилучшим образом использовать достоинства каждого уровня. Полученная в результате система повышает производительность и расширяет возможности промышленной системы HMI.
[30] Инновации в панелях HMI ограничиваются требованиями реального времени и безопасности, предъявляемыми промышленными приложениями. Это обусловило то, что вычислительные возможности и HMI-функции панелей HMI отстают от тех, которые доступны в мобильных телефонах и планшетах. Предложенная система заполняет этот разрыв между требующими режима реального времени и критичными к безопасности панелями HMI и мобильными устройствами, путем распространения функциональности и доступности мобильных устройств и облака на панели HMI. Это достигается при удовлетворении относящихся к окружающей среде и коммуникационных потребностей и потребностей реального времени традиционной системы HMI. В то же время, возможности традиционных систем HMI расширяются с использованием доступности, вычислительных возможностей, а также расширенных функций HMI (вводы на основе касания, жеста, датчика движения), присутствующих в мобильных устройствах и облаке.
[31] Были предприняты попытки использовать преимущества мобильных устройств и облака в связи с системами панели HMI. Например, методы совместного использования экрана использовали Интернет для отображения на мобильном устройстве экрана, отображаемого на панели HMI. Эти реализации совместного использования экрана не в полной мере использовали расширенную функциональность HMI в мобильных устройствах. Вместо этого экран панели HMI просто воспроизводится на мобильном устройстве, и пользователь взаимодействует непосредственно с реализацией HMI, исполняющейся на панели HMI, а не в мобильном устройстве. Задачи, выполняемые с помощью панели HMI, не выгружаются. Например, вычисления, которые выполняются при генерировании экранов, по-прежнему выполняются локально посредством панели HMI. Экран просто совместно используется в сети, а также варианты выбора и указания (клики) от мобильного устройства просто транслируются обратно на панель HMI для обработки.
[32] Другим известным методом является использование веб-HMI, причем панель HMI заменяется на систему среды выполнения веб-HMI. Однако основанные на веб HMI не обеспечивают гарантий реального времени. Выполнение полностью зависит от веб-технологии (например, необходим веб-браузер). В то время как некоторые приложения могут получать выгоду от такого HMI не в реальном времени, эта идея не может быть обобщена до систем HMI промышленного масштаба.
[33] Обработка на основе облака задач HMI также используется, чтобы полностью устранить эти задачи из системы HMI. Обработка на основе облака требует облачного интерфейса, реализованного на устройстве панели. Задачи статически назначаются и планируются заранее и принадлежат облаку. Панель HMI не имеет никакого контроля над этими задачами.
[34] Описываемая система преодолевает вышеуказанные недостатки путем систематической классификации задач HMI в соответствии с их характером и требованиями реального времени и обеспечения динамического планирования задач для устройств, чтобы разгрузить вычисление и улучшить общую производительность системы HMI. Вычисление выгружается, вместо простого совместного использования экрана на удаленном устройстве, позволяя мобильному устройству или облаку использовать свои локальные ресурсы, чтобы наилучшим образом улучшить пользовательский опыт и вычисление задач локально в устройстве.
[35] Описываемая система не заменяет панель HMI. Вместо этого она использует сеть, мобильные устройства и облако, чтобы улучшить общую производительность системы. Панель HMI является ведущим устройством и постоянно контролирует исполнение распределенных/выгруженных задач. За счет того что панель HMI не исключается, система гарантирует требования реального времени и критические для безопасности требования промышленных приложений HMI.
[36] Описываемая система динамически реагирует на окружающую среду и обнаруживает новые устройства, когда они становятся доступными. Она динамически выгружает/планирует задачи на имеющиеся ресурсы и приоритизирует выгрузку/планирование задач на основе требований реального времени задач. Таким образом, система может получить полную выгоду от расширенных функций HMI в мобильных устройствах, таких как сенсорный, мультисенсорный ввод, ввод на основе жеста и т.д., а также получить выгоду от высокой доступности и вычислительной мощности облака, позволяя при этом панели HMI контролировать и принимать решения по выгруженным задачам.
[37] Описываемая система не заменяет веб-интерфейс. Вместо этого, веб-интерфейс является только одной опцией коммуникационного интерфейса для выгрузки.
[38] Традиционные панели HMI предназначены для использования в среде автоматизации, которая часто является суровой промышленной средой, которая может включать в себя экстремальные температуры, экстремальные условия вибрации и т.д. Панели HMI являются компьютерами специального назначения, соединенными с машинами (через программируемые логические контроллеры (PLC), модули ввода-вывода (I/O), приводы и т.д.) специальной промышленной коммуникационной полевой шиной, такой как Modbus, PROFINET или Profibus.
[39] Панели, однако, являются менее мощными и имеют меньше возможностей, чем большинство других современных вычислительных устройств. Панели также имеют более длительный цикл разработки. Например, типичная панель HMI поставляется с всего лишь несколькими фиксированными размерами экрана с различными разрешениями. Как правило, поставщику систем автоматизации требуется несколько лет для разработки следующего поколения панелей, которые имеют увеличенные размеры экрана и более высокие разрешения.
[40] Устройства панелей HMI, как ожидается, должны обрабатывать типичные задачи визуализации и коммуникации, сложность которых выросла экспоненциально. 3D-графика и современные методы ввода, такие как сенсорные и с использованием жестов, ожидаются операторами панелей HMI, которые используют смартфон ежедневно. Усложненные структуры экранов являются главным звеном предприятий автоматизации.
[41] В целом, панели HMI не обладают достаточной мощностью и не развиваются достаточно быстро, чтобы обрабатывать все эти задачи или удовлетворять ожидания пользователей.
[42] С другой стороны, смартфоны и планшеты являются потребительскими продуктами, которые могут быть использованы в качестве компьютеров общего назначения и становятся все более и более мощными с каждым днем. Каждое новое поколение этих устройств обеспечивает большую вычислительную мощность, лучшие графические возможности, память, срок службы батареи, датчики и технологии взаимодействия, такие как передача голоса, сенсорный ввод, мультисенсорный ввод и т.д. Эти устройства ʺвсегда подсоединеныʺ и повсеместно распространены в современном обществе. Важно отметить, что эти устройства делают информацию доступной в любом месте и в любое время.
[43] Мобильные потребительские устройства идеально подходят для расширения функциональных возможностей панели HMI путем выполнения некоторых из задач HMI в мобильных устройствах, а не в централизованных панелях HMI. Они расширяют возможности систем HMI до новых уровней, позволяя осуществлять новые методы человеко-машинного взаимодействия, такие как мультисенсорный ввод, голосовые команды, 3D-визуализация и т.д. Эти функции имеют много преимуществ для области промышленной автоматизации, где критическая информация может быть представлена пользователям более эффективным способом, чем это возможно с существующими панелями HMI. В данном раскрытии, использование мобильных устройств и облака предлагается в качестве альтернативы для выполнения задач HMI, таких как 3D-рендеринг. Кроме того, в соответствии с настоящим раскрытием, мобильные устройства позволяют системам HMI иметь множество пользователей на множестве HMI. Это открывает новые возможности для сотрудничества между множеством пользователей.
[44] Облачное вычисление обеспечивает дополнительную вычислительную мощность и хранение. Оно также имеет высокую доступность. Выгрузка задач HMI в облако добавляет ценность путем предоставления совместно используемых данных, путем использования дополнительной вычислительной мощности и хранения, а также путем добавления новых возможностей сотрудничества.
[45] Настоящее раскрытие предлагает выгрузку задач с панели HMI на мобильные устройства, а затем в облако. Это усиливает и расширяет возможности традиционной системы панели HMI путем включения функций из мобильных устройств и облака.
1
2
n
i
i
i
[46] Распределенная архитектура в соответствии с настоящим изобретением теперь будет описана более подробно. Выгрузка задач HMI на мобильные устройства расширяет функциональность традиционных, централизованных систем HMI, где пользователи приходят к информации HMI, которая представлена на стационарном экране на заводе. В распределенной архитектуре, вместо этого, информация приходит к пользователям. Это изменение парадигмы требует новой архитектуры HMI, где задачи HMI обрабатываются в соответствии с их требованиями реального времени, а также в соответствии со стоимостью передачи и приема данных от других устройств. Формально система реального времени HMI может быть определена следующим образом. Рассмотрим систему, содержащую набор задач, Т={τ, τ,…, τ}, где в худшем случае время исполнения каждой задачи τ∈T равно C. Система определяется как система реального времени, если существует по меньшей мере одна задача τ∈T, попадающая в один из следующих типов задач:
i
i
i
i
- Задачи жесткого реального времени (HRT): задачи, которые не могут пропустить ни одного срока завершения, в противном случае, целостность системы находится под угрозой (например, человеческие жизни). То есть, выполнение задачи τ должно быть завершено к заданному сроку D; другими словами, C≤D. Например, алгоритмы управления машиной должны выполняться в реальном времени, чтобы обеспечить правильное функционирование системы.
i
i
i
i
i
i
i
i
- Задачи мягкого реального времени (SRT): задачи, которые могли бы пропустить некоторые сроки завершения, и система по-прежнему работала бы корректно. Тем не менее, пропуск некоторых сроков для выполнения задач SRT приведет к выплате штрафов. Штрафная функция P(τ) определена для задачи. Если C≤D, штрафная функция P(τ)=0. В противном случае P(τ)>0. Значение P(τ) является возрастающей функцией C-D. Например, алгоритм визуализации, который выполняется медленнее, чем ожидалось, может привести к неудобству искаженной графики, представляемой пользователю.
i
i
i
i
i
i
i
i
- Задачи твердого реального времени (FRT): задачи, которые приводят к вознаграждению, когда их вычисление завершается до истечения срока завершения. Чем больше опережение графика при завершении задач, тем большие вознаграждения могут быть получены. Функция вознаграждения R(τ) определена для задачи. Если C≤D, то функция вознаграждения R(τ)=0. В противном случае R(τ)>0. Значение R(τ) является возрастающей функцией D-C Например, если задача генерации отчета завершена с опережением графика, вознаграждение ранней отчетности может привести к лучшему пользовательскому впечатлению от общей работы системы.
[47] Архитектура 200, показанная на фиг. 2, иллюстрирует классификацию и исполнение задач HMI в соответствии с их требованиями реального времени, включая задачи 204 жесткого реального времени (HRT), задачи 206 мягкого реального времени (SRT) и задачи 208 твердого реального времени (FRT). Как показано на фиг. 2, важным компонентом описываемой архитектуры 200 остается панель 210 HMI, упоминаемая как ʺосновная среда выполнения HMIʺ, потому что она обрабатывает HRT-задачи 204, связанные с устройствами полевого уровня, такими как PLC 242, I/O 244, а также сеть 272 полевой шины (например, Profinet). Другие задачи реального времени, такие как SRT-задачи 206 и FRT-задачи 208, могут выгружаться основной средой выполнения 210 HMI на мобильные устройства 270 через беспроводную сеть 274, такую как сеть WiFi, и, в конечном счете, выгружаться в облако 280 через локальную или глобальную сеть 276. Мобильные устройства 270 и облако 280 требуют среды выполнения HMI для исполнения задач, выгруженных на них системой. Единственное различие между основной средой выполнения HMI в панели 210 HMI и средами выполнения HMI в мобильных устройствах 270 и облаке 280 заключается в том, что основная среда выполнения HMI имеет самые высокие полномочия, и ее решения планирования являются окончательными в системе в целом. Этот архитектурный выбор основан на том факте, что панель 210 HMI должна сохранять контроль над всей системой в любой момент времени. Этот механизм также позволяет избежать тупика (взаимоблокировки) и активного тупика (динамической взаимоблокировки), таким образом, гарантируя детерминированное исполнение, требуемое в системах HMI.
[48] Следует отметить, что по мере того как устройства удаляются от требований полевого уровня и HRT, надежность и, следовательно, требования реального времени ослабляются. Например, мобильные устройства 270, соединенные с HMI 210 через сеть WiFi 274, вероятно, будут иметь более высокую латентность (задержку) связи, чем устройства, соединенные с HMI 210 с использованием сети Profinet 272. Точно так же, облако 280, соединенное с мобильным устройством 270, через сеть LAN/WAN 276, вероятно, будет иметь латентность связи еще более высокую, чем WiFi 274. Поэтому в предпочтительном варианте осуществления настоящего раскрытия, SRT-задачи выгружаются на мобильные устройства, а FRT-задачи выгружаются в облако.
[49] Различные системы среды выполнения в панели 210 HMI, мобильных устройствах 270 и облаке 280 осуществляют связь друг с другом и синхронизируют свою работу. В одном варианте осуществления, для уменьшения ширины полосы (пропускной способности) связи, только смежные устройства могут вести диалог друг с другом непосредственно. В этом примере, панели 210 HMI могут осуществлять связь с устройствами полевого уровня (например, PLC 242, I/O 244) и мобильными устройствами 270, но не могут напрямую осуществлять связь со средой выполнения HMI в облаке 280. Аналогичным образом, среда выполнения HMI в мобильных устройствах 270 может осуществлять связь с панелью HMI и облаком 280, но не непосредственно с устройствами 242, 244 полевого уровня. Такая схема не только улучшает использование сети, но и обеспечивает механизм для контроля доступа и безопасности.
[50] В альтернативных вариантах осуществления связь допускается между несмежных устройствами. Например, если панель 210 HMI является панелью с облачной поддержкой, как показано коммуникационной шиной 282, панели HMI разрешается осуществлять связь с облаком 280. В этой компоновке основной планировщик, находящийся в панели 210 HMI, может осуществлять связь непосредственно со всеми зарегистрированными устройствами, включая облако.
[51] Важно отметить, что хотя на фиг. 2 показана одна панель 210 HMI, настоящее раскрытие изобретения применимо также к системам SCADA контролирующего уровня и любым системам HMI общего назначения в других областях.
[52] Цикл 300 среды выполнения HMI, выполняемый на основной среде выполнения 210 HMI (фиг. 2), показан на фиг. 3. После первоначального запуска 310, первые четыре действия выполняются для считывания поступающих данных из различных источников. Во- первых, данные ввода/вывода (I/O) от устройств полевого уровня считываются в блоке 312, за которыми следуют данные пользовательского ввода в блоке 314, выгруженные данные в блоке 316 и данные обратной связи в блоке 318. Выгруженные данные относятся к данным или запросам от других выгружающих устройств (в данном случае, нет ни одного, так как основная среда выполнения HMI является основным устройством). Данные обратной связи относятся к сообщениям, которые контролируют состояние выгруженных задач, чтобы определить, делает ли система то, что она должна делать. Эти четыре действия 312, 314, 316, 318 обновляют таблицу 326 задач с учетом последних запросов от различных источников. В частности, действие 312 считывания ввода/вывода может обновить таблицу 326 задач новыми или существующими HRT-задачами, полученными от устройств полевого уровня. Действие 314 считывания пользовательского ввода может обновить таблицу 326 задач новыми или существующими задачами, запрашиваемыми запускаемым пользователем событием, таким как нажатие кнопки. Действие 316 считывания выгруженных данных может обновить таблицу задач новыми или существующими задачами, запрашиваемыми от других выгружающих устройств (например, основного или однорангового устройства). Действие 318 считывания данных обратной связи может обновить таблицу 326 задач новыми или существующими задачами, исполняемыми в мобильных устройствах или в облаке. Цикл 300 планирования проектируется как универсальный, поэтому он может быть использован в устройствах на каждом уровне. Одно или более из четырех действий 312, 314, 316, 318 может быть опциональным.
[53] Действие 320 планирования задач жесткого реального времени планирует HRT-задачи в основной среде выполнения HMI в соответствии с их приоритетом и требованиями реального времени. Эту информацию получают из таблицы 326 задач. Отметим, что действие 320 планирования задач жесткого реального времени также обновляет таблицу 326 задач для поддержания обновленного состояния задач во всей системе.
[54] Кроме того, действие 322 выгрузки задач мягкого и твердого реального времени планирует SRT- и FRT-задачи для мобильных устройств и облака в соответствии с их приоритетом, статусом (полученным через данные обратной связи), а также требованиями реального времени. Эту информацию получают из таблицы 326 задач. Как и в случае действия 320 планирования задач жесткого реального времени, действие 322 выгрузки задач мягкого и твердого реального времени обновляет таблицу 326 задач для поддержания обновленного состояния задач во всей системе, назначения права владения задачами и установления политики мониторинга статуса для выгруженных задач.
[55] И, наконец, действие 324 записи обратно подготавливает панель HMI для выполнения следующей итерации.
[56] Доступность, подписка и функциональные возможности мобильных устройств и облака характеризуются через таблицу 328 ресурсов. Всякий раз, когда мобильное устройство становится доступным системе HMI, оно посылает сообщение ввода/вывода (I/O) в среду выполнения панели HMI, объявляя о своей доступности, запрашивая подписку на систему и предоставляя характеристику производительности. На этом этапе среда выполнения HMI может выполнять задачи управления доступом и обеспечения безопасности, чтобы разрешить только авторизованным пользователям и устройствам подключаться к системе HMI. После того, как доверенное устройство готово к приему выгруженных задач, добавляется запись в таблицу 238 ресурсов. Эта информация используется действием 322 выгрузки задач мягкого и твердого реального времени, чтобы решать, какие устройства подходят для выполнения каких задач. Таблица 328 ресурсов всегда содержит по меньшей мере одну запись, так как сама панель HMI всегда является ресурсом, который может выполнять все задачи, включая HRT-, SRT- и FRT-задачи.
i
i
[57] Более подробное обсуждение процедуры выгрузки мягкого и твердого реального времени (или ʺпроцедуры планированияʺ) 322 на фиг. 3 следует со ссылкой на блок-схему 400 последовательности действий на фиг. 4. После того, как процедура начата в блоке 410, задачи T сортируются по приоритету в таблице задач в действии 420. Вместо того, чтобы сортировать на каждой итерации, таблица может быть реализована в структуре данных, такой как очередь приоритетов или сбалансированное дерево, которое поддерживает задачи, упорядоченные в соответствии с их требованиями реального времени. Каждая задача T затем обрабатывается следующим образом.
i
i
i
i
i
i
[58] Действие 450 обновления таблицы задач маркирует T как обрабатываемую задачу в таблице задач. При действии 460, ресурс R затем выбирается из таблицы ресурсов таким образом, что выполнение T посредством R максимизирует качество обслуживания (QoS). В этом действии, процедура 400 планирования не только учитывает характеристики производительности имеющихся устройств, но также учитывает задержки связи, передачу задачи и нагрузки в устройствах. После того, как был выбран ресурс R, выполняется действие 470 передачи задачи Tк R. Это действие маркирует задачу T как готовую для диспетчеризации к R. Поток диспетчера, выполняемый на панели HMI, передает задачу T к R. Наконец, обратный вызов таймера создается в действии 480, чтобы периодически проверять статус выгруженной задачи. Информация о статусе доступна через действие 318 считывания данных обратной связи в основном цикле 300 HMI (фиг. 3). Выполнение процедуры планирования продолжается до тех пор, пока последняя задача Tв таблице задач не будет обработана (решение 430), и завершается в блоке 440.
[59] Настоящая описываемая архитектура HMI с множеством пользователей требует новых HRT-задач доставки критической для задания информации тревожной сигнализации на мобильные устройства и в облако. Это выполняется посредством процедуры 500 диспетчеризации тревожной сигнализации в панели HMI при обработке локальных HRT-задач, как показано в блок-схеме последовательности действий на фиг. 5. После того, как эта процедура начинается в блоке 510, всякий раз, когда критическая для задания задача, такая как тревожная сигнализация, принимается из I/O (решение 520), все устройства D, подписанные в таблице ресурсов (блоки 530, 540), уведомляются, если пользователь устройства D имеет корректные права доступа к информации, относящейся к тревожной сигнализации (решение 560). Передача тревожной сигнализации А на устройства D выполняется с использованием действия 570 передачи задачи на фиг. 5 с помощью потоков диспетчера, выполняемых в панели HMI. Процедура заканчивается (блок 550) после того, как все устройства были обработаны.
[60] Процедура 600 резервирования выгруженной задачи иллюстрируется блок-схемой последовательности действий на фиг. 6. Процедура 600 препятствует тому, что выгруженные задачи не завершаются, путем резервирования задачи локально в панели HMI, если, например, связность с ресурсом, где выполняется задача, теряется, или задача не достигает прогресса. Исполнение начинается в блоке 610 и продолжается периодически на основе проверки времени в решающем блоке 620. Обратный вызов обратной связи, ассоциированный с выгруженной задачей, периодически проверяет в решающем блоке 630, была ли потеряна связность с устройством, или того, что задача не достигает прогресса. В этих случаях задача резервируется локально в панели HMI в блоке 640, и ей присваивается приоритет в соответствии с ее требованиями реального времени. Резервирование задачи означает, что частичное исполнение задачи в мобильном устройстве должно быть идентифицировано и отброшено соответственно. Локально резервированная задача исполняется с самого начала, или, если возможно, исполнение возобновляется с некоторого состояния, где ее состояние является согласованным и может привести к корректному исполнению.
[61] Пример информации, имеющейся в таблице 326 задач (фиг. 3), показан на фиг. 7а. Поле 710 ID задачи представляет собой уникальный идентификатор, назначенный для каждой задачи в системе. Объекты HMI показаны в поле 712 и могут различаться в соответствии с их функцией в типичной системе HMI. В типичной системе, эти объекты могут включать в себя:
- Экранный объект: представляет элементы, отображаемые на экране, например, кнопки, ярлыки, метки, счетчики, изображения, видео, диаграммы и т.д.
- Тревожная сигнализация: представляет событие или состояние, которое произошло в системе, в процессе или на самом устройстве HMI.
- Метка: представляет переменную, с которой среда выполнения HMI обменивается информацией с другими устройствами. Например, значение процесса в PLC может быть представлено в виде метки в системе HMI.
- Набор команд: представляет совокупность ассоциированных данных, таких как данные конфигурации или производственные данные. Данные могут передаваться между устройствами HMI и PLC.
- Отчет: представляет сводку данных или событий в системе HMI. Макет отчета может быть специфицирован в проекте HMI.
- Протоколирование: представляет хранение событий тревожной сигнализации и значений процесса в файле регистрации.
- Архивация: представляет хранилище данных или событий в системе HMI.
- Написание сценария: представляет исполнение определенных пользователем программ.
- Аналитика: представляет обработку данных или событий, чтобы найти важную информацию о системе HMI. Например, анализ данных датчиков может прогнозировать потенциальные сбои в системе из истории вибрации.
[62] Объекты HMI могут быть классифицированы на одну из четырех основных категорий, которые имеются в таблице 326 задач в поле 714 категории HMI:
- Визуализация: относится к фактическому представлению задачи HMI на экране (например, кнопка).
- Манипулирование: относится к действиям, ассоциированным с различными задачами HMI (например, действие, которое запускается после того, как нажимная кнопка нажата пользователем).
- Протоколирование: относится к записи на диск данных или событий, связанных с задачей.
- Синхронизация: относится к сообщениям, которыми обмениваются устройства, чтобы сообщить о своем состоянии, с окружающей средой (например, значения считывания-записи и изменения состояния тревоги на PLC).
[63] Как отмечено выше, задачи HMI могут быть классифицированы как один из трех типов: жесткие, мягкие и твердые. Эта классификация приведена в поле 716 типа задачи. В целом, объекты HMI, перечисленные выше, могут быть классифицированы в соответствии со следующей таблицей:
Объект HMI
Классификация
Экранный объект
Мягкий
Тревожная сигнализация
Жесткий/мягкий
Метка
Жесткий
Набор команд
Твердый
Отчет
Твердый
Протоколирование
Твердый
Архивация
Твердый
Написание сценария
Мягкий
Аналитика
Твердый
Примеры, показанные в приведенной выше таблице, демонстрируют классификацию в соответствии с критериями, описанными выше, при этом критические задачи, которые должны быть завершены в установленные сроки, классифицируются как ʺжесткиеʺ, в то время как задачи с гибкими временами завершения классифицируются как ʺмягкиеʺ или ʺтвердыеʺ. В одном примере из таблицы задач на фиг. 7а, задача 3, обработка тревожной сигнализации классифицируется как ʺжесткаяʺ задача, поскольку назначенный срок должен быть выдержан для поддержания целостности системы. Эта задача выполняется локально с помощью панели HMI для поддержания контроля со стороны панели HMI. В другом примере задача 7 является обработкой отчета. Эта задача классифицируется как ʺтвердаяʺ задача, потому что при завершении раньше имеет место вознаграждение ввиду того, что пользовательское восприятие общей производительности системы улучшается. Задача 7 выгружается в облако. Если панель HMI является панелью с облачной поддержкой, как иллюстрируется соединением 282 на фиг. 2, то задача 7 остается видимой основному планировщику, находящемуся в панели HMI, но выполняется облаком. В качестве альтернативы, задача 7 может выгружаться панелью HMI на мобильное устройство, которое затем выгружает его в облако.
[64] Поле 718 приоритета содержит положительное целое число от 1 до 10, которое определяет приоритет для выполнения задачи в системе. Например, высокоприоритетная задача с приоритетом, равным 1, как правило, назначается HRT-задачам, таким как тревожная сигнализация, и низкоприоритетная задача с приоритетом, равным 10, как правило, назначается FRT-задачам, таким как архивация.
[65] Поле 720 срока завершения содержит время, которое определяет, когда задача, как ожидается, будет завершена.
[66] Поле 722 времени исполнения содержит наихудшее время исполнения задачи.
[67] Надежность сохраняется в поле 724 надежности и является метрикой, которая определяет вероятность завершения задачи вовремя. Надежность может быть высокий, средней или низкой. Например, HRT-задача, выполняемая в панели HMI, вероятно, будет иметь высокую надежность. SRT-задача, выполняемая в мобильном устройстве, вероятно, будет иметь среднюю надежность из-за задержки в сети, возможности отсоединения и т.д. FRT-задача, выполняемая в облаке, вероятно, будет иметь низкую надежность из-за задержки в сети, нагрузки в облаке и т.д.
[68] Устройство владельца для конкретной задачи определяет, какое устройство отвечает за исполнение задачи. Устройство владельца перечислено в поле 726 устройства владельца и может быть локальным (панель HMI), мобильным устройством (например, Mobile1, Mobile2, Mobile3) или облаком. Поле 728 задачи владельца сохраняет идентификацию каждой задачи, используемую устройством владельца.
[69] Поле 730 блокировки содержит логическое значение, которое истинно, когда планировщик принимает решение планирования/выгрузки для задачи. Это значение используется для предотвращения того, чтобы другие потоки обновляли таблицу задач и создавали проблему несогласованности памяти или состояние гонки (состязания).
[70] Поле 732 таймера обратной связи определяет время, оставшееся до проверки статуса выгруженных задач. Поле 734 статуса указывает последний известный статус задачи. Примеры значений поля статуса включают в себя:
- Выполняется: задача выполняется нормально.
- Остановлено: задача была остановлена.
- Завершено: задача завершена.
- Ожидание: задача ожидает.
- Заблокировано: задача блокирована.
- Сбой связи: соединение с удаленным устройством (например, мобильным или облаком) было потеряно.
- Запрашивание принадлежности: устройство запрашивает принадлежность задачи.
[71] Пример таблицы 328 ресурсов (фиг. 3) показан на фиг. 7b. Поле 752 ID ресурса содержит уникальные идентификаторы, присвоенные устройствам в системе HMI. Поле 754 имени содержит псевдоним для устройства.
[72] Данные, содержащиеся в поле 756 типа, идентифицирует, является ли устройство панелью HMI, мобильным устройством или облаком. Поле 758 производительности определяет возможности устройства с точки зрения его возможностей по обработке данных. Поле 760 нагрузки содержит процент, представляющий объем работы, исполняемой устройством. Это значение поддерживается обновленным посредством сообщений синхронизации между мобильными устройствами/облаком и панелью HMI.
[73] Латентность связи для устройства представлена в поле 762 латентности. Поле 764 ID пользователя перечисляет идентификаторы пользователей, зарегистрированных в системе HMI. Поле 766 авторизации содержит логическое значение, указывающее, что является истинным, когда устройство авторизовано быть частью системы HMI, и ложным, когда устройство не авторизовано или не известно.
[74] Пример выгрузки с использованием задач с 1 по 8, перечисленных на фиг. 7а, представлен временной шкалой 800 на фиг. 8. Отметим, что панель 816 HMI часто обслуживает запросы и коммуникации полевого уровня от пользователя 814 и I/O 812. Начиная с левой стороны, облако 824 и мобильное устройство 1 818 выполняют подписку и аутентификацию с панелью HMI, как показано стрелками 830, 832. Первой задачей, выполняемой в панели HMI 816, является задача 5. Задача 5 затем приостанавливается панелью HMI, чтобы принять запрос 834 подписки от мобильного устройства 2 820. После того как мобильное устройство 2 820 выполнило подписку и добавлено в таблицу ресурсов, панель 816 HMI выгружает задачу 5 (показано стрелкой 836) от панели HMI к мобильному устройству 2 820. Задача 7 представляет собой FRT-задачу, которая может быть выгружена в облако 824 мобильным устройством 2 820 (стрелка 838). По мере того как задача 7 выполняется в облаке 824, она регулярно обновляет задачу 8 (стрелка 840), выполняемую в мобильном устройстве 2 820, причем задача 8 является зависимой от задачи 7. Аналогичным образом, задача 4 выгружается (стрелка 842) из панели 816 HMI в мобильное устройство 1 818.
[75] В случае задачи 6, после того, как мобильное устройство 3 822 подписывается и добавляется к таблице ресурсов (стрелка 837), панель 816 HMI выгружает задачу 6 на мобильное устройство 3 822 (стрелка 844). В данном примере, однако, панель HMI теряет связность с мобильным устройством 3 (стрелка 846), и панель HMI должна резервировать задачу 6 в самой панели HMI, чтобы гарантировать целостность системы. После того, как мобильное устройство 3 822 снова доступно и подписано на панель HMI (стрелка 848), задача 6 снова выгружается (стрелка 850) на мобильное устройство 3 822.
[76] Отметим, что HRT-задачи: задача 1, задача 2 и задача 3 выполняются в панели HMI. Эти задачи сохраняются на панели HMI, а не выгружаются, чтобы избежать последствий потери связности и других проблем вне управления панелью HMI. Такая схема позволяет выгрузку некоторых задач на мобильные устройства и облако при удовлетворении требований, относящихся к окружающей среде, связи, безопасности, и требований реального времени традиционной системы HMI.
[77] Временная шкала 800 на фиг. 8 иллюстрирует систему, в которой панель HMI 816 не имеет облачной поддержки. В частности, хотя панель 816 HMI имеет прямые соединения с мобильными устройствами 818, 820, 822, она не имеет прямого соединения с облаком 824 и поэтому не осуществляет связь непосредственно с облаком. Эта конфигурация уменьшает ширину полосы связи, улучшает использование сети и обеспечивает механизм контроля доступа и безопасности.
[78] Временная шкала 900, показанная на фиг. 9, иллюстрирует альтернативный вариант осуществления, в котором разрешена связь между несмежными устройствами. В этом варианте осуществления, панель 916 HMI является панелью с облачной поддержкой, обеспечивая возможность подписки и аутентификации для облака 924 (стрелка 930) по отношению к панели HMI 916.
[79] Панель 916 HMI затем способна непосредственно выгружать (стрелка 936) задачу 5 для исполнения в облаке 924. Данные обратной связи из облака 924 обеспечиваются непосредственно на панель 916 HMI (стрелка 940), позволяя панели HMI контролировать ход выполнения задачи 5, когда она исполняется в облаке 924, и использовать обновления из задачи 5 при исполнении задачи 1.
[80] В то время как конфигурация на фиг. 9 может потребовать увеличения ширины полосы и использования сети, а также более сложных мер контроля доступа и безопасности, данная конфигурация имеет преимущество более быстрого и прямого доступа к облаку, что предоставляет эффективно неограниченную вычислительную мощность. Анализ данных, который ранее должен был бы планироваться панелью HMI на локальных рабочих станциях, выполняется быстрее и с большей доступностью в облаке. Задачи, выполняемые облаком, являются, кроме того, более доступными для пользователей, удаленных от панели HMI. Например, данные из задач, исполняемых облаком, доступны для программ высокого уровня, таких как те, которые используются для определения материально-технического обеспечения производства для процессов, контролируемых панелью HMI.
[81] Чтобы продемонстрировать концепцию выгрузки, демонстрация веб-инфраструктуры автоматизации (AWF) была реализована авторами изобретения с использованием веб-технологии, чтобы выгружать некоторые задачи HMI (например, экранные объекты, тревожную сигнализацию) из традиционной системы HMI (Siemens Simatic WinCC) на веб-браузер на мобильном устройстве, таком как iPhone и iPad. Прототип использует существующий WinCC проект HMI монитора турбогенератора системы WinCC.
[82] Как показано на архитектурной диаграмме 1000 на фиг. 10, веб-технология используется в качестве технологии связи между локальной системой HMI (например, панелью 1040 HMI) и мобильными устройствами 1050, 1051. Веб-технология хорошо поддерживается в мобильных устройствах 1050, 1051, которые включают в себя веб-клиентов 1052, а также хорошо поддерживается в панели 1040 HMI, которая содержит веб-сервер 1042. Демонстрационная система использовала сеть WiFi 3030 для физических соединений.
[83] Демонстрационная система 1000 была использована для демонстрации выгрузки управления тревожной сигнализации в WinCC на мобильное устройство. Скриншот 1110, показанный на фиг. 11а, иллюстрирует традиционное управление тревожной сигнализацией, как представлено с помощью панели HMI. Скриншот 1120, показанный на фиг. 11b, иллюстрирует экран мобильного устройства во время исполнения мобильным устройством задачи уведомления о тревоге, которая была выгружена панелью HMI на мобильное устройство.
[84] Демонстрационная система 1000, показанная на фиг. 10, аналогичным образом использовалась для демонстрации выгрузки задач анализа данных и визуализации из WinCC в мобильное устройство. Скриншот 1210, показанный на фиг. 12a, иллюстрирует несколько экранных объектов, включая картинки, поля ввода/вывода и контроль тренда, которые были сгенерированы в WinCC и представлены с помощью панели HMI. Скриншот 1220, показанный на фиг. 12b, иллюстрирует экран мобильного планшета, показывающий экранные объекты, сгенерированные мобильным планшетом во время выполнения задач анализа данных и визуализации, которые были выгружены панелью HMI в мобильный планшет.
[85] На фиг. 13а и 13b показан другой пример, в котором задачи анализа данных и визуализации были выгружены из панели HMI на мобильное устройство. Скриншот 1310, показанный на фиг. 13а, иллюстрирует несколько экранных объектов, которые были сгенерированы в WinCC и представлены панелью HMI. Скриншот 1320, показанный на фиг. 13b, иллюстрирует экран мобильного устройства, показывающий экранные объекты, выгруженные на мобильное устройство, в том числе поля ввода/вывода и метки.
[86] Фиг. 14 показывает скриншот 1400, изображающий визуализацию контроля тренда, показанного на мобильном устройстве. Задача контроля тренда была выгружена в облако, а визуализация была выгружена на мобильное устройство.
[87] Способ, в соответствии с настоящим изобретением для выгрузки задач HMI из панели HMI в промышленной системе автоматизации иллюстрируется на блок-схеме 1500 на фиг. 15. Каждая задача HMI первоначально классифицируется (1510) на по меньшей мере тип высокоприоритетных задач и второй тип задач в соответствии с требованиями вычислений в реальном времени.
[88] Затем вычисляется (1520) график с помощью панели HMI для исполнения панелью HMI высокоприоритетных задач HMI, и высокоприоритетные задачи HMI выполняются (1530) с помощью панели HMI в соответствии с графиком.
[89] В блоке 1540 идентифицируются ресурсы места назначения выгрузки, которые доступны для панели HMI. Задачи HMI второго типа задач затем выгружаются (1550) панелью HMI на ресурсы места назначения выгрузки для исполнения ресурсами места назначения выгрузки. Панель HMI периодически осуществляет связь (1560) с ресурсами места назначения выгрузки, чтобы проверить статус выгруженных задач HMI.
[90] Как будет понятно специалистам в данной области, аспекты настоящего изобретения могут быть реализованы в виде системы, способа или компьютерного программного продукта. Соответственно, аспекты настоящего изобретения могут принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включая встроенные программы, резидентное программное обеспечение, микрокод и т.д.) или варианта, сочетающего программные и аппаратные аспекты, которые могут в общем упоминаться в данном документе как ʺсхемаʺ, ʺмодульʺ или ʺсистемаʺ. Кроме того, аспекты настоящего изобретения могут принимать форму компьютерного программного продукта, воплощенного в одном или более считываемых компьютером носителях, имеющих считываемый компьютером программный код, осуществленный на них.
[91] Может быть использована любая комбинация считываемых компьютером носителей. Машиночитаемый носитель может быть, например, без ограничения указанным, электронной, магнитной, оптической, электромагнитной, инфракрасной или полупроводниковой системой, устройством или прибором или любой подходящей комбинацией вышеперечисленного. Более конкретные примеры (не исчерпывающий список) считываемого компьютером носителя будут включать в себя следующее: портативная компьютерная дискета, жесткий диск, оперативная память (RAM), постоянная память (ROM), стираемая программируемая постоянная память (EPROM или флэш-память), постоянная память на портативном компакт-диске (CD-ROM), оптическое устройство хранения данных, магнитное устройство хранения данных или любая подходящая комбинация вышеуказанного. В контексте данного документа, считываемый компьютером носитель может представлять собой любой осязаемый, невременный носитель, который может содержать или хранить программу для использования посредством или в связи с системой, устройством или прибором исполнения инструкций.
[92] Компьютерный программный код для выполнения операций согласно аспектам настоящего изобретения может быть записан в любой комбинации одного или нескольких языков программирования, в том числе языка объектно-ориентированного программирования, такого как Java, Smalltalk, C++ и т.п., и традиционных языков процедурного программирования, таких как язык ʺCʺ программирования или аналогичные языки программирования. Программный код может выполняться целиком на компьютере пользователя, частично на компьютере пользователя, как автономный пакет программного обеспечения, частично на компьютере пользователя и частично на удаленном компьютере или полностью на удаленном компьютере или сервере. В последнем сценарии удаленный компьютер может быть подключен к компьютеру пользователя через любой тип сети, включая локальную сеть (LAN) или глобальную сеть (WAN), или соединение может быть выполнено с внешним компьютером (например, через Интернет с помощью поставщика Интернет-услуг).
[93] Аспекты настоящего изобретения описаны со ссылкой на блок-схемы последовательности действий и/или блок-схемы способов, устройств (систем) и компьютерные программные продукты в соответствии с вариантами осуществления настоящего изобретения. Следует понимать, что каждый блок на блок-схемах последовательностей действий и/или блок-схемах устройств и комбинации блоков в блок-схемах последовательностей действий и/или блок-схемах устройств может быть реализован компьютерными программными инструкциями. Эти компьютерные программные инструкции могут быть предоставлены в процессор компьютера общего назначения, специализированный компьютер или другое программируемое устройство обработки данных для создания машины, так что инструкции, которые исполняются посредством процессора компьютера или другого программируемого устройства обработки данных, создают средство для реализации функций/действий, указанных в блок-схеме последовательности действий и/или блоке или блоках блок-схемы устройства.
[94] Эти компьютерные программные инструкции также могут храниться на считываемом компьютером носителе, который может управлять компьютером, другим программируемым устройством обработки данных или другими устройствами, чтобы функционировать определенным образом, так что инструкции, сохраненные на считываемом компьютером носителе, создают продукт или производство, включая инструкции, которые реализуют функцию/действие, указанные в блок-схеме последовательности действий и/или блоке или блоках блок-схемы устройства.
[95] Компьютерные программные инструкции также могут быть загружены в компьютер, другое программируемое устройство обработки данных или другие устройства, чтобы побуждать выполнение ряда операций на компьютере, другом программируемом устройстве или других устройствах для создания реализуемого компьютером процесса, так что инструкции, которые исполняются на компьютере или другом программируемом устройстве, обеспечивают процессы для реализации функций/действий, указанных в блок-схеме последовательности действий и/или блоке или блоках блок-схемы устройства.
[96] Как показано на фиг. 16, в соответствии с примерным вариантом осуществления настоящего изобретения, компьютерная система 1605 может содержать, в частности, один или более центральных процессорных блоков или процессоров (CPU) 1620, память 1629, интерфейсный модуль 1627 ввода/вывода (I/O) и интерфейсный модуль 1628 сетевых коммуникаций. CPU 1620 исполняют один или более программных модулей, которые выполняют конкретные задачи и взаимодействуют с окружающей средой компьютерной системы 1605. Одним из таких модулей является модуль 1622 управления автоматизацией, который осуществляет надзор за управлением окружающей средой автоматизации. Модуль 1622 управления автоматизацией соединен с датчиками, приводами и другими контроллерами через коммуникационный модуль 1627 ввода/вывода и упрочненные сети автоматизации, такие как Modbus, PROFINET или Profibus.
[97] Другим модулем, находящимся в CPU 1620, является модуль 1610 человеко-машинного взаимодействия (HMI), который управляет взаимодействиями между человеком-пользователем и окружающей средой автоматизации. Модуль 1610 HMI обычно соединен с дисплеем и различными устройствами ввода, такими как мышь и клавиатура (не показаны). Кроме того, модуль HMI согласно настоящему раскрытию соединен с модулем 1628 сетевых коммуникаций, который поддерживает коммуникации с беспроводной локальной сетью, такой как сеть WiFi, а также с глобальными сетями, такими как сотовые беспроводные сети или сеть Интернет, для связи с удаленными мобильными устройствами и облаком.
[98] Память 1629 может включать в себя RAM, ROM, дисковод, накопитель на магнитной ленте и т.д. или их комбинацию. Примерные варианты осуществления настоящего изобретения могут быть реализованы в виде подпрограммы, хранящейся в памяти 1629 или других не-транзиторных (невременных) считываемых носителях 1626 хранения данных и выполняемой посредством CPU 1620 для управления промышленной системой автоматизации. Таким образом, компьютерная система 1605 представляет собой компьютерную систему общего назначения, которая становится компьютерной системой специального назначения при выполнении способов согласно настоящему раскрытию.
[99] Компьютерная система 1605 также включает в себя операционную систему и микрокомандный код. Различные процессы и функции, описанные в данном документе, могут быть либо частью микрокомандного кода, либо частью прикладной программы (либо их комбинацией), которая выполняется посредством операционной системы. Кроме того, различные другие периферийные устройства могут быть подключены к компьютерной системе 1605, такие как дополнительное устройство хранения данных и печатающее устройство.
[100] Блок-схемы последовательностей действий и блок-схемы устройств на чертежах иллюстрируют архитектуру, функциональность и работу возможных реализаций систем, способов и компьютерных программных продуктов в соответствии с различными вариантами осуществления настоящего изобретения. В связи с этим, каждый блок в блок-схеме последовательности действий или блок-схемах устройств может представлять собой модуль, сегмент или часть кода, который содержит одну или более исполняемых инструкций для реализации заданной(ых) логической(их) функции(й). Следует также отметить, что в некоторых альтернативных реализациях функции, описанные в блоке, могут осуществляться не в порядке, указанном на чертежах. Например, два блока, показанные последовательно, могут, фактически, выполняться, по существу, одновременно, или блоки могут иногда выполняться в обратном порядке, в зависимости от используемых функциональных возможностей. Следует также отметить, что каждый блок блок-схем устройств и/или блок-схем последовательностей действий и комбинации блоков в блок-схемах устройств и/или блок-схемах последовательностей действий могут быть реализованы с помощью специализированных систем аппаратных средств, которые выполняют заданные функции или действия, или комбинаций специализированных аппаратных средств и компьютерных инструкций.
[101] Терминология, использованная в настоящем документе, предназначена только для целей описания конкретных вариантов осуществления и не предназначена для ограничения настоящего изобретения. Используемые в настоящем описании формы единственного числа подразумеваются также включающими формы множественного числа, если из контекста явно не следует иное. Кроме того, должно быть понятно, что термины ʺсодержитʺ и/или ʺсодержащийʺ, когда используются в данном описании, указывают на наличие указанных признаков, целых чисел, этапов, операций, элементов и/или компонентов, но не исключает присутствия или добавления одного или более других признаков, целых чисел, этапов, операций, элементов, компонентов и/или их групп.
[102] Соответствующие структуры, материалы, действия и эквиваленты всех средств или элементы типа ʺэтап плюс функцияʺ в приведенной ниже формуле изобретения предназначены для включения любой структуры, материала или действия для выполнения функции в комбинации с другими заявленными элементами, как конкретно заявлено. Описание настоящего изобретения представлено в целях иллюстрации и описания, но не подразумевается исчерпывающим или ограничивающим изобретение в раскрытой форме. Многие модификации и вариации будут очевидны для специалистов в данной области техники без отклонения от объема и сущности изобретения. Вариант осуществления был выбран и описан, чтобы наилучшим образом объяснить принципы изобретения и практическое применение, и дать возможность другим специалистам в данной области техники понять изобретение для различных вариантов осуществления с различными модификациями, подходящими для конкретного предполагаемого использования.
[103] Изложенное выше подробное описание следует понимать как во всех отношениях иллюстративное и примерное, но не ограничительное, и объем настоящего раскрытия должен определяться не из описания, а из формулы изобретения, интерпретируемой в соответствии с полным объемом, допускаемым патентным законодательством. Следует понимать, что различные модификации могут быть реализованы специалистами в данной области техники без отклонения от объема и сущности настоящего раскрытия.