УРОВНИ АБСТРАКЦИИ ДЛЯ ПРИЛОЖЕНИЙ АВТОМАТИЗАЦИИ
ABSTRACTION LAYERS FOR AUTOMATION APPLICATIONS

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Эта заявка имеет приоритет предварительной заявки США № 62/696,470, поданной 11 июля 2018 г., которая включена здесь путем ссылки во всей ее полноте.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0002] Настоящее изобретение относится в общем к системам, способам и устройствам, которые используют уровни абстракции для обеспечения возможности исполнения функций автоматизации независимым от платформы образом. Раскрытая технология может применяться, например, для увеличения приспособляемости контроллера к разным сценариям автоматизации.
УРОВЕНЬ ТЕХНИКИ
[0003] Системы автоматизации используются для управления работой машин и других компонентов систематическим образом. Обычные системы автоматизации обычно включают в себя оборудование от множества поставщиков. Каждая единица оборудования может использовать языки программирования, среды выполнения и протоколы для конкретного поставщика. Это усложняет задачу интеграции оборудования. Например, функция автоматизации, спроектированная с возможностью исполнения на оборудовании от конкретного поставщика, не может быть исполняемой на оборудовании от других поставщиков. Для дальнейшего усложнения проектирования и интеграции систем имеются несколько протоколов, которые оборудование может использовать для связей или других действий для взаимодействия с другими компонентами системы автоматизации. С традиционными системами поддержка для этих протоколов должна быть «жестко закодирована» в самих функциях автоматизации. таким образом, делая функции автоматизации еще более зависимыми от конкретной реализации системы.
[0004] Для уменьшения времени, требуемого для разработки и развертывания функций автоматизации, желательно обеспечивать платформу, которая абстрагирует детали реализации базовых системы и оборудования автоматизации.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Варианты выполнения настоящего изобретения рассматривают и преодолевают один или более из вышеупомянутых изъянов и недостатков путем обеспечения способов, систем и устройств, относящихся к платформе, которая абстрагирует детали оборудования автоматизации и уровня производства по доменам с программно реализуемыми функциями автоматизации.
[0006] Согласно некоторым вариантам выполнения, система реализации функций автоматизации через уровни абстракции включает в себя приложение управления и платформу абстракции оборудования автоматизации, исполняемую в среде выполнения. Приложение управления спроектировано с возможностью связи с оборудованием автоматизации с использованием одной или более функций автоматизации. Каждая функция автоматизации содержит одну или более независимых от оборудования инструкций. Во время исполнения приложения управления платформа абстракции оборудования автоматизации принимает независимые от оборудования инструкции и обозначение конкретной единицы оборудования автоматизации. Платформа абстракции оборудования автоматизации преобразует независимые от оборудования инструкции в инструкции автоматизации для конкретного оборудования, исполняемые на конкретной единице оборудования автоматизации. Эти инструкции автоматизации для конкретного оборудования могут затем быть отправлены конкретной единице оборудования автоматизации.
[0007] Согласно другим вариантам выполнения, система реализации функций автоматизации через уровни абстракции включает в себя приложение управления и платформу абстракции производства, исполняемую в среде выполнения. Приложение управления спроектировано с возможностью связи с оборудованием автоматизации с использованием одной или более функций автоматизации. Каждая функция автоматизации содержит одну или более независимых от среды производства инструкций. Во время исполнения приложения управления платформа абстракции производства принимает независимые от среды производства инструкции и обозначение целевой среды производства. Платформа абстракции производства преобразует независимые от среды производства инструкции в инструкции автоматизации для конкретной среды производства, исполняемые на конкретной единице оборудования автоматизации в целевой среде производства. Инструкции автоматизации для конкретной среды производства могут затем быть отправлены конкретной единице оборудования автоматизации.
[0008] Согласно другим вариантам выполнения, система реализации функций автоматизации через уровни абстракции содержит приложение управления и среду выполнения. Приложение управления спроектировано с возможностью связи с оборудованием автоматизации с использованием одной или более функций автоматизации. Каждая функция автоматизации содержит инструкции, которые являются независимыми в отношении оборудования автоматизации и среды производства. Среда выполнения включает в себя уровень абстракции оборудования автоматизации, который преобразует по меньшей мере часть инструкций в инструкции автоматизации для конкретного оборудования, исполняемые на конкретной единице оборудования автоматизации. Среда выполнения дополнительно включает в себя уровень абстракции производства, который преобразует по меньшей мере часть инструкций в инструкции автоматизации для конкретной среды производства, исполняемые конкретной единицей оборудования автоматизации в целевой среде производства.
[0009] Дополнительные признаки и преимущества изобретения будут очевидны из следующего подробного описания иллюстративных вариантов выполнения, которое следует далее со ссылкой на сопровождающие чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0010] Вышеприведенные и другие аспекты настоящего изобретения будут лучше всего поняты из следующего подробного описания при прочтении вместе с сопровождающими чертежами. С целью иллюстрации изобретения на чертежах показаны варианты выполнения, которые являются в настоящее время предпочтительными, однако, следует понимать, что изобретение не ограничено конкретными раскрытыми инструментариями. На чертежах представлены следующие Фигуры:
[0011] Фиг. 1 обеспечивает иллюстрацию системы автоматизации, в которой могут быть реализованы некоторые варианты выполнения настоящего изобретения;
[0012] Фиг. 2 иллюстрирует платформу для абстракции системы автоматизации так, как она может быть реализована в некоторых вариантах выполнения.
ПОДРОБНОЕ ОПИСАНИЕ
[0013] Следующее раскрытие описывает настоящее изобретение согласно некоторым вариантам выполнения, направленным на способы, системы и устройства, относящиеся к платформе для абстракции оборудования автоматизации. Как описано более подробно ниже, вышеупомянутая платформа обеспечивает возможность разработки «функций автоматизации». Каждая функция автоматизации содержит набор инструкций для выполнения задачи автоматизации общим (т.е. не для конкретного оборудования) образом. Одной из целей платформы, описанной здесь, является абстракция, а не замена, требований разных вычислительных систем. Например, оборудование автоматизации может реализовывать протоколы промышленных стандартов, такие как DDS, OPC UA или MTConnect. Платформа, описанная здесь, абстрагирует детали этих протоколов в интерфейс, который разработчик может использовать для разработки функции автоматизации, которая является независимой от протокола, используемого базовым аппаратным обеспечением, на котором исполняется код.
[0014] Фиг. 1 обеспечивает иллюстрацию системы 100 автоматизации, в которой могут быть реализованы некоторые варианты выполнения настоящего изобретения. Этот пример мысленно разделяет промышленную среду на уровень 105 производства, уровень 110 управления и уровень 115 IT. Вкратце, данные, принимаемые от единиц производства (например, единиц 105А, 105B, 105C и 105D) передаются устройствами уровня управления на уровень 115 IT. Уровень 115 IT включает в себя системы, которые выполняют различные задачи последующей обработки и хранения. Пример на Фиг. 1 включает в себя компонент 115A сервера (или шлюза) диспетчерского управления и сбора данных (SCADA). Этот компонент 115А позволяет оператору удаленно контролировать и управлять устройствами на уровне 110 управления и уровне 105 производства. Дополнительно, компонент 115А сервера SCADA собирает данные с нижних уровней 105, 110 и обрабатывает информацию, чтобы делать ее доступной для унифицированной заводской базы 115B знаний. Унифицированная заводская база 115B знаний обеспечивает дальнейшую обработку и хранение данных, принимаемых от нижних уровней 105, 110. Унифицированная заводская база 115B знаний может выполнять различные функции в разных вариантах выполнения настоящего изобретения. Например, в некоторых вариантах выполнения унифицированная заводская база 115B знаний включает в себя функциональность для поддержания бизнес-аналитики 115C на основе данных, генерируемых нижними уровнями 105, 110.
[0015] В традиционных системах оборудование автоматизации на каждом уровне крайне индивидуализировано на основе конкретной вычислительной архитектуры. Например, на Фиг. 1 оборудование автоматизации на уровне 110 контроллера включает в себя два контроллера 110E, 110F и восемь полевых устройств 110A, 110B, 110C, 110D, 110G, 110H, 110I и 110J. Каждая единица оборудования автоматизации возможно имеет разную вычислительную архитектуру (например, операционную систему, использование и поддержку сетевых протоколов, информационную модель и т.д.). Программное обеспечение, исполняемое на каждой единице, должно быть разработано таким образом, который конкретно учитывает требования вычислительной архитектуры. В качестве примера, если контроллер 110E исполняет конкретную операционную систему и набор сетевых протоколов, разработчик должен настраивать программное обеспечение для использования каждого из этих элементов. Так как программное обеспечение настроено для контроллера 110E, оно не может быть легко снова использовано на контроллере 110F кроме тех случаев, когда оба контроллера имеют одинаковую вычислительную архитектуру.
[0016] С помощью технологий, описанных здесь, плагин предварительной интеграции может быть установлен на каждой единице оборудования автоматизации на уровне 110 управления для обеспечения возможности абстракции для вычислительной архитектуры базового оборудования автоматизации. Каждый плагин реализует платформу абстракции системы автоматизации (описанную более подробно ниже). Вкратце, платформа позволяет разработчикам создавать программы автоматизации путем соединения множества функций автоматизации. Платформа отделяет эти функции автоматизации от оборудования автоматизации, на котором они исполняются или с которым мы взаимодействуем. Каждая функция автоматизации является независимой от, например, фактического аппаратного обеспечения оборудования автоматизации (например, PLC или IPC); базовых протоколов связи (например, DDS или OPC UA); и протокола полевой шины (например, Profinet или Ethernet). Каждая функция автоматизации является также независимой от промышленных сред исполнения (например, IEC 61131 или IEC 61499). Уровни абстракции построены на каждом уровне платформы для содействия разделению функций автоматизации и оборудования автоматизации.
[0017] Фиг. 2 иллюстрирует платформу 200 для абстракции системы автоматизации так, как она может быть реализована в некоторых вариантах выполнения. Ядро платформы 200 представляет собой два уровня 215, 220 абстракции, которые исполняются в среде выполнения. После того, как уровни 215, 220 абстракции построены, код приложения управления, написанный для функций автоматизации, может выполняться везде и повсюду. Уровни 215, 220 абстракции могут развертываться, например, на ПК, в облачной вычислительной среде или в любой среде платформы выполнения для конкретного поставщика. Так как уровни 215, 220 абстракции обеспечивают общие интерфейсы для функции (функций) автоматизации, один и тот же код управления может выполняться на любой единице оборудования автоматизации.
[0018] Уровень 215 абстракции оборудования автоматизации включает в себя компоненты 215A, 215B, 215C, которые абстрагируют разные функциональные характеристики оборудования 225A, 225B, 225C, 225D, 225E, 225F автоматизации. Вкратце, компонент 215A абстракции операционной системы абстрагирует зависящую от операционной системы функциональность. В качестве простого примера предположим, что контроллер 225A использует операционную систему на основе Windows, тогда как контроллер 225B использует операционную систему на основе UNIX. Основные операции и базовые элементы системы различаются между этими двумя операционными системами. Компонент 215A абстракции операционной системы принимает общий функциональный вызов от функции автоматизации и преобразует этот вызов функции в вызов функции для конкретной операционной системы, подходящий для целевого оборудования автоматизации. Компонент 215B абстракции связи работает аналогичным образом, но в отношении протоколов связи, таких как DDS, OPC, TCP, MQTT и т.д., тогда как компонент 215C абстракции информации преобразует информацию между разными информационными моделями, которые могут быть использованы.
[0019] Следует отметить, что в каждом случае компонент 215A, 215B, 215C абстракции не реализует функциональность операционной системы, протокола связи и т.д.; вместо этого компонент 215A, 215B, 215C абстракции скрывает конкретные особенности уже существующих. Таким образом, уровень 215 абстракции оборудования автоматизации не реализует реальную функциональность, требуемую функциями автоматизации; вместо этого уровень 215 абстракции оборудования автоматизации предварительно интегрирует существующие решения и стандарты. Посредством абстракции моделируется общность, которая делает базовые решения/стандарты взаимозаменяемыми. Поскольку каждый из этих протоколов связи предварительно интегрируется, разработчик может использовать сочетание всех или некоторых одновременно без какой-либо работы по программированию и с небольшой или вообще никакой работой по конфигурации.
[0020] Уровень 215 абстракции оборудования автоматизации отличается от платформы. Платформа строится с нуля и основана на стандартах или запатентованной технологии; она может расти только вверх. И наоборот, уровень 215 абстракции оборудования автоматизации располагается между функциями автоматизации и оборудованием автоматизации, которое используется этими функциями. Уровень 215 абстракции оборудования автоматизации позволяет вещам быть взаимозаменяемыми между функциями автоматизации и оборудованием. Подобно платформе, уровень 215 абстракции оборудования автоматизации может расти вверх и вниз, но, в отличие от платформы, уровень 215 абстракции оборудования автоматизации также может расти влево и вправо для поддержки новых функций автоматизации и/или оборудования автоматизации.
[0021] Уровень 220 абстракции производства работает образом, аналогичным уровню 215 абстракции оборудования автоматизации, но в контексте подробностей среды производства. Компонент 220A абстракции станции аналогичен компоненту 215A абстракции операционной системы в том, что он абстрагирует детали процесса сборки станции и других действий. Компонент 220B абстракции местоположения абстрагирует любые детали конкретного местоположения относительно среды производства, а компонент 22°C абстракции продукции абстрагирует детали о производимой продукции.
[0022] Разработчики работают на уровне 210 инженерии в предпочтительной среде 205 разработки. В общем, предпочтительная среда 205 разработки может представлять собой любую среду разработки, известную в уровне техники (например, поддерживающую C, Java, Matlab, Python и т.д.). Например, в одном варианте выполнения предпочтительная среда 205 разработки представляет собой портал полностью интегрированной автоматизации (TIA)  Siemens (Siemens Totally Integrated Automation (TIA) Portal). Уровень 210 инженерии включает в себя компоненты 210А, 210B, 210C, которые содействуют генерации программ, которые используют возможности уровня 215 абстракции оборудования автоматизации и уровня 220 абстракции производства.
[0023] Компонент 210А компоновщика производства обеспечивает возможность создания программ с использованием одной или более функций автоматизации. Приложение управления или другая программа автоматизации может быть реализована путем соединения множества функций автоматизации. Функции автоматизации «программно реализуются» вместе. То есть, вместо того, чтобы непосредственно соединять функции автоматизации вместе посредством функциональных вызовов, использование уровня 215 абстракции оборудования автоматизации и уровня 220 абстракции производства в качестве промежуточных обеспечивает больше гибкости по мере того, как общая архитектура программного обеспечения развивается с течением времени. Более того, поскольку функции автоматизации являются независимыми от платформы и могут выполняться на любом оборудовании, которое поддерживает уровни 215, 220 абстракции многократно используемых функций автоматизации, и могут быть созданы и сохранены, например, в интернет-магазине. В некоторых вариантах выполнения компонент 210А компоновщика производства может включать в себя GUI (графический пользовательский интерфейс) с «перетаскиванием» или аналогичной функциональностью, которая позволяет программно реализовывать функции автоматизации, таким образом, содействуя быстрой разработке приложений автоматизации.
[0024] После того, как программа автоматизации была разработана посредством компонента 210А компоновщика производства, компонент 210B упаковщика приложений развертывает программу на одной или более единицах оборудования автоматизации. Это объединяет функции автоматизации в один или более файлов, которые являются исполняемыми на целевой единице оборудования автоматизации. В некоторых вариантах выполнения пользователь может непосредственно обеспечивать целевую единицу в компонент 210B упаковщика приложений так, что он может идентифицировать подходящий компилятор и т.д. В других вариантах выполнения компонент 210B упаковщика приложений может автоматически обнаруживать целевой компьютер на основе файла конфигурации, который описывает систему, в которой работает оборудование автоматизации.
[0025] Компонент 210C генератора человеко-машинного интерфейса (HMI) может быть использован для генерации GUI и других HMI, которые могут быть отображены на оборудовании автоматизации в среде производства. Компонент 210C генератора HMI анализирует функции автоматизации для определения того, какая информация должна быть отображена для пользователей с помощью HMI. В некоторых вариантах выполнения разработчик может добавлять конкретный код в функцию автоматизации для обозначения значения, которое должно быть выведено. Например, в одном варианте выполнения имеются определения типов, которые должны быть выведены с помощью HMI (например, «hmi_integer» для объявления целых чисел). В других вариантах выполнения может быть использован вызов функции, который функционирует образом, аналогичным оператору печати. Компонент 210C генератора HMI разбирает код для обнаружения этих элементов и соответственно генерирует HMI. В некоторых вариантах выполнения компонент 210C генератора HMI использует множество предварительно сгенерированных шаблонов при генерации HMI. Шаблон может быть выбран компонентом 210C генератора HMI, например, на основе типов значений, которые необходимо отображать. Например, шаблон может быть предварительно сгенерирован для 3 целочисленных значений; когда компонент 210C генератора HMI обнаруживает, что функция автоматизации требует отображения 3 целочисленных значений, этот шаблон может быть использован. После того, как HMI сгенерирован, он может развертываться, например, по соединению между компонентом 210C генератора HMI и устройством отображения (не показано на Фиг. 2). Альтернативно, компонент 210B упаковщика приложений может быть использован для включения HMI в пакет, который может развертываться на блоках отображения в среде производства.
[0026] Каждая единица оборудования 225A, 225B, 225C, 225D, 225E, 225F автоматизации включает в себя компонент плагина (обозначенный «PI» на Фиг. 2). Каждый компонент плагина установленн на конкретной единице оборудования автоматизации, что обеспечивает соединения между конкретной единицей оборудования автоматизации и средой выполнения, которая исполняет уровень 215 абстракции оборудования автоматизации и уровень 220 абстракции производства. В некоторых вариантах выполнения среда выполнения исполняется на самой конкретной единице оборудования автоматизации. Например, контроллер 225A может исполнять приложение, которое обеспечивает среду выполнения. В других вариантах выполнения среда выполнения может быть исполнена в вычислительной системе, соединенной с конкретной единицей оборудования автоматизации по одной или более сетей.
[0027] Различные технологии могут быть использованы для реализации среды выполнения. Например, в некоторых вариантах выполнения среда выполнения содержит виртуальную машину, настроенную для конкретной единицы оборудования автоматизации и среды производства. Функции автоматизации могут быть скомпилированы в приложение, исполняемое в виртуальной машине. Виртуальная машина может затем интерпретировать каждую инструкцию этого приложения и выполнять преобразования, при необходимости, с использованием функциональности уровня 215 абстракции оборудования автоматизации и уровня 220 абстракции производства. Альтернативно, виртуальная машина может использовать динамический компилятор (JIT), который компилирует код приложения в неуправляемый машинный код, исполняемый на оборудовании автоматизации, которое исполняет среду выполнения. Когда JIT-компилятор выполняет процесс компиляции, он использует функциональность уровня 215 абстракции оборудования автоматизации и уровня 220 абстракции производства при необходимости для вставки любых инструкций автоматизации для конкретного оборудования или инструкций для конкретной среды производства.
[0028] В некоторых вариантах выполнения функции автоматизации (AF) загружаются постепенно и независимо по запросу. Приложение может, таким образом, быть понято как агрегация всех развертываемых AF в данный момент времени. То есть, когда программист желает использовать AF, программист может набирать описание (например, имя, подпись и т.д.) и затем соответствующая AF может быть извлечена из удаленного источника. В некоторых вариантах выполнения идея развертывания по запросу может быть применена во время выполнения. Например, код, развертываемый на оборудовании автоматизации, может не включать в себя объектный код для самих AF; вместо этого код может включать в себя ссылки на AF, которые могут быть разобраны во время выполнения и использованы для извлечения AF из удаленного источника. В некоторых вариантах выполнения ссылки на AF могут быть прямыми (например, сетевой адрес). В других вариантах выполнения ссылки включают в себя только имена AF или другую идентифицирующую информацию. Затем компонент среды выполнения (например, вышеупомянутая виртуальная машина) может включать в себя функциональность, которая позволяет компоненту извлекать идентифицированную AF из удаленного ресурса. Например, виртуальная машина, обсужденная выше, может быть сконфигурирована со списком серверов, которые включают в себя AF. После обнаружения AF с серверами вступают в контакт для извлечения AF. После извлечения среда выполнения может исполнять AF, как указано.
[0029] Процессоры, описанные здесь, которые используются программируемыми логическими контроллерами, могут включать в себя один или более центральных блоков обработки (CPU), графических блоков обработки (GPU) или любой другой процессор, известный в уровне техники. В более общем смысле процессор, который используется здесь, представляет собой устройство для исполнения машиночитаемых инструкций, хранящихся в считываемой компьютером среде, для выполнения задач и может содержать любое одно или сочетание аппаратного обеспечения и аппаратно-программного обеспечения. Процессор также может содержать память, хранящую машиночитаемые инструкции, исполняемые для выполнения задач. Процессор воздействует на информацию путем управления, анализа, видоизменения, преобразования или передачи информации для использования исполняемой процедурой или устройством информации и/или путем направления информации в устройство вывода. Процессор может использовать или содержать возможности компьютера, контроллера или микропроцессора, например, и быть сконфигурирован с использованием исполняемых инструкций для выполнения функций специального назначения, не выполняемых компьютером общего назначения. Процессор может быть связан (электрически и/или как содержащий исполняемые компоненты) с любым другим процессором, обеспечивая возможность взаимодействия и/или связи между ними. Процессор или генератор пользовательского интерфейса представляет собой известный элемент, содержащий электронную схему или программное обеспечение или их сочетание для генерации отображаемых изображений или их частей. Пользовательский интерфейс содержит одно или более отображаемых изображений, обеспечивающих возможность взаимодействия пользователя с процессором или другим устройством.
[0030] Различные устройства, описанные здесь, включающие в себя, без ограничения, программируемые логические контроллеры и соответствующую вычислительную инфраструктуру, могут содержать по меньшей мере одну считываемую компьютером среду или память для хранения инструкций, запрограммированных согласно вариантам выполнения изобретения, и для содержания структур данных, таблиц, записей или других данных, описанных здесь. Термин «считываемая компьютером среда», который используется здесь, относится к любой среде, которая участвует в обеспечении инструкций в один или более процессоров для исполнения. Считываемая компьютером среда может принимать много форм, включающих в себя, но не ограниченных ими, не временные, энергонезависимые среды, энергозависимые среды и среды передачи. Неограничивающие примеры энергонезависимых сред включают в себя оптические диски, твердотельные накопители, магнитные диски и магнитооптические диски. Неограничивающие примеры энергозависимых сред включают в себя динамическую память. Неограничивающие примеры сред передачи включают в себя коаксиальные кабели, медный провод и оптоволокно, включая провода, которые образуют системную шину. Среды передачи также могут принимать форму акустических или световых волн, таких как волны, генерируемые во время радиоволновой и инфракрасной передачи данных.
[0031] Исполняемое приложение, которое используется здесь, содержит код или машиночитаемые инструкций для конфигурирования процессора для реализации предопределенных функций, таких как функции операционной системы, системы сбора контекстных данных или другой системы обработки информации, например, в ответ на команду или ввод пользователя. Исполняемая процедура представляет собой сегмент кода или машиночитаемой инструкции, подпрограмму или другой отдельный участок кода или часть исполняемого приложения для выполнения одного или более конкретных процессов. Эти процессы могут включать в себя прием входных данных и/или параметров, выполнение операций над принятыми входных данными и/или выполнение функций в ответ на принятые входные параметры и обеспечение результирующих выходных данных и/или параметров.
[0032] Функции и этапы процессов здесь могут выполняться автоматически, полностью или частично в ответ на команду пользователя. Действие (включая этап), выполняемое автоматически, выполняется в ответ на одну или более исполняемых инструкций или операцию устройства без прямого инициирования действия пользователем.
[0033] В настоящей заявке термины «включать в себя» и «содержать», а также их производные, означают включение без ограничения; термин «или» является включительным, означающим и/или; фразы «связанный с» и «связанный с этим», а также их производные, могут означать включать в себя, быть включенным в, взаимосвязываться с, содержать, быть содержащимся в, подсоединяться к или соединяться с, связываться с, быть связываемым с, взаимодействовать с, чередоваться, располагаться рядом, находиться вблизи от, быть привязанным к или связанным с, иметь, иметь свойство или т.п.; и термин «контроллер» означает любое устройство, систему или ее часть, которая управляет по меньшей мере одной операцией, такое устройство может быть реализовано в аппаратном обеспечении, аппаратно-программном обеспечении, программном обеспечении или некотором сочетании по меньшей мере двух из них. Следует отметить, что функциональность, связанная с любым конкретным контроллером, может быть централизована или распределена либо локально, либо удаленно. Определения для определенных слов и фраз обеспечены во всем этом патентном документе и специалисты в данной области техники будут понимать, что такие определения во многих, если не в большинстве, примерах применимы к предыдущим, а также будущим использованиям таких определенных слов и фраз. Несмотря на то, что некоторые термины могут включать в себя широкое множество вариантов выполнения, приложенная формула изобретения может явно ограничивать эти термины конкретными вариантами выполнения.
[0034] Система и процессы на Фигурах не являются исключительными. Другие системы, процессы и меню могут быть получены в соответствии с принципами изобретения для выполнения этих же целей. Несмотря на то, что это изобретение было описано со ссылкой на конкретные варианты выполнения, следует понимать, что варианты выполнения и разновидности, показанные и описанные здесь, приведены лишь в целях иллюстрации. Изменения в текущей конструкции могут быть реализованы специалистами в данной области техники без отклонения от объема охраны изобретения. Как описано здесь, различные системы, подсистемы, агенты, администраторы и процессы могут быть реализованы с использованием компонентов аппаратного обеспечения, программного обеспечения и/или их сочетания. Ни один элемент формулы изобретения здесь не должен быть истолкован в соответствии с положениями 35 U.S.C. 112(f), если только элемент явно не охарактеризован с использованием фразы «средство для».