ПОСТРОЕНИЕ ИЕРАРХИИ УСТРОЙСТВ ДЛЯ УДАЛЕННОГО ОКОНЕЧНОГО БЛОКА
CONSTRUCTING HIERARCHY OF DEVICES FOR REMOTE TERMINAL UNIT

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится в целом к системам технологического предприятия и, в частности, к конфигурированию действий сервера в системах управлении технологическим процессом и сбора данных.
УРОВЕНЬ ТЕХНИКИ
[0002] Описание уровня техники, предложенное в данном документе, предназначено для представления в целом контекста настоящего изобретения. Работа лично представленных авторов настоящего изобретения до степени, в которой она описана в данном разделе «Уровень техники», а также аспекты описания, которые не могут никаким образом расцениваться в качестве предшествующего уровня техники на момент подачи, ни явно, ни предположительно не рассматриваются в качестве предшествующего уровня техники по отношению к настоящему изобретению.
[0003] Распределенные системы управления технологическим процессом, в частности, используемые на химических, нефтеперерабатывающих или других технологических предприятиях, обычно включают в себя один или более контроллеров технологического процесса, соединенных с возможностью осуществления связи с одним или более полевыми устройствами через аналоговую, цифровую или объединенную аналоговую/цифровую шины, или через линию или сеть беспроводной связи. Полевые устройства, которые могут быть, например, клапанами, позиционерами клапанов, переключателями и передатчиками (например, датчиками температуры, давления, уровня и скорости потока), располагаются внутри среды технологического процесса и в целом выполняют физические функции или функции управления технологическим процессом, в частности, открывание или закрывание клапанов, измерение параметров технологического процесса и т.д., управления одним или более технологическим процессом, исполняющимся внутри технологического предприятия или системы. Интеллектуальные полевые устройства, такие как полевые устройства, согласующиеся с известным протоколом Fieldbus (Полевой Шины), могут также выполнять контрольные вычисления, функции оповещения и другие функции управления, совместно реализуемые внутри контроллера. Контроллеры технологического процесса, которые также обычно располагаются внутри технологической среды, принимают сигналы, указывающие измерения технологического процесса, осуществленные датчиками и/или полевыми устройствами, и/или другую информацию, имеющую отношение к полевым устройствам, и исполняют приложение контроллера, которое задействует, например, различные управляющие модули, которые принимают решения по управлению технологическим процессом, создают сигналы управления на основе принятой информации и координируются с управляющими модулями или блоками, выполняемыми в полевых устройствах, таких как полевых устройствах, поддерживающих протокол Fieldbus HART, Wireless HART (Беспроводной HART) и FOUNDATION. Управляющие модули в контроллере отправляют сигналы управления по линиям или каналам связи в полевые устройства, чтобы тем самым управлять функционированием по меньшей мере части технологического предприятия или системы.
[0004] Информация от полевых устройств и контроллера обычно делается доступной по магистрали данных одному или более другим устройствам аппаратного обеспечения, таким как рабочие станции операторов, персональные компьютеры или вычислительные устройства, архивные хранилища данных, генераторы отчетов, централизованные базы данных или другие централизованные административные вычислительные устройства, которые обычно размещены в диспетчерских помещениях или других местоположениях вдали от более суровой технологической среды. Каждое из этих устройств аппаратного обеспечения обычно централизовано на технологическом предприятии или на части технологического предприятия. На этих устройствах функционируют приложения, которые могут, например, предоставлять оператору возможность выполнения функций относительно управления технологическим процессом и/или работы технологического предприятия, в частности, изменение параметров режима управления технологическим процессом, видоизменение функционирования управляющих модулей внутри контроллеров или полевых устройств, просмотр текущего состояния технологического процесса, просмотр оповещений, созданных полевыми устройствами и контроллерами, моделирование функционирования технологического процесса с целью обучения персонала или проверки программного обеспечения управления технологическим процессом, поддержание и обновление конфигурационной базы данных и т.д. Магистраль данных, используемая устройствами аппаратного обеспечения, контроллерами и полевыми устройствами, может включать в себя тракт проводной связи, тракт беспроводной связи или сочетание трактов проводной и беспроводной связи.
[0005] Распределенная система управления технологическим процессом может включать в себя один или более удаленных оконечных блоков (RTU), которые могут быть реализованы поточными компьютерами, соединенными с полевыми устройствами. Соответственно, RTU иногда упоминаются в качестве «поточных компьютеров» или просто «контроллеров». RTU может включать в себя, например, модуль ввода-вывода для соединения с проводным полевым HART-устройством (устройством по типу Магистрально Адресуемого Удаленного Преобразователя (HART)) и модуль ввода-вывода для соединения с беспроводным полевым HART-устройством. Главный компьютер, в котором реализована система диспетчерского управления и сбора данных, такая как система (AMS) управления оборудованием, может осуществлять связь с одним или более RTU для сбора информации относительно полевых устройств, соединенных с RTU. В некоторых случаях HART-сервер, который может быть реализован в отдельном выделенном главном компьютере, обеспечивает интерфейс с HART-полевыми устройствами. AMS и HART-сервер могут функционировать согласно схеме Службы Удаленного Доступа (RAS). Например, AMS может взаимодействовать с сетевым интерфейсом для RAS с использованием Интерфейса Главной Системы (HSI) RAS. AMS может соединяться с HART-сервером RAS через множество портов Ethernet для передачи различных типов данных и/или команд.
[0006] Одна из целей, по который AMS может собирать информацию об полевых устройствах от RTU, заключается в построении полной иерархии полевых устройств, включающем в себя определение идентификаторов устройств, отношений предок-потомок и т.д. Затем AMS может создать визуализацию и/или текстовое описание иерархии для оператора главного компьютера. Для устройств, которые осуществляют связь с использованием HART-протокола («HART-устройств»), AMS может запросить информацию об иерархии устройств через HART-сервер, который в общем случае отправляет последовательность HART-команд в каждое устройство для сбора необходимой информации. В частности, такая последовательность может включать в себя команду #0 на извлечение идентификатора устройства, команду #13 на извлечение так называемого короткого обозначения, задает описывает некоторые параметры устройства, и, для некоторых устройств, команду #20 на извлечение так называемого длинного обозначения, которое описывает дополнительные параметры устройства. Этап сбора этой информации может занимать от восьми до 12 секунд на HART-устройство для сбора необходимой информации. Для беспроводных HART-устройств, функционирующих в большой ячеистой сети, данный этап может осуществляться еще дольше.
[0007] В результате этого построение всей иерархии устройств для RTU является отнимающим много времени действием, и продолжительность зависит в большой степени от количества соединенных HART-устройств.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[0008] Построитель иерархии, функционирующий в главном компьютере, осуществляет построение иерархии полевых устройств, соединенных с удаленным оконечным блоком (RTU), который в свою очередь соединен с главным компьютером, без непосредственного опрашивания полевых устройств. RTU может хранить информацию об полевых устройствах в локальном запоминающем устройстве, в то время как главный компьютер может хранить только идентификаторы полевых устройств. Когда оператор главного компьютера запрашивает обновленное описание иерархии, главный компьютер передает запрос на информацию об устройстве в RTU, причем запрос включает в себя идентификаторы полевых устройств. В ответ RTU извлекает информацию из локального запоминающего устройства и предоставляет извлеченную информацию построителю иерархии. Таким образом построитель иерархии может извлечь информацию, требуемую для построения иерархии устройств, быстро и эффективно.
[0009] Полевые устройства могут быть согласованы с HART-протоколом, и идентификатор устройства, сохраненный в главном компьютере, может соответствовать ответу на HART-команду #0 (или ее подходящую часть). RTU может сохранить ответы на HART-команды для извлечения обозначений устройства, в частности, команды #13 и #20, а также текущее состояние устройства. В RTU может быть реализован модуль сообщения HART-иерархии, который кэширует HART-ответы, сообщает информацию об устройстве главному компьютеру, обрабатывает транзитные команды и т.д. Построитель иерархии, функционирующий в главном компьютере, и модуль сообщения HART-иерархии могут функционировать в качестве компонентов средства для создания иерархии. Дополнительно для устранения избыточности главный компьютер может хранить только одно обозначение устройства для каждого HART-устройства вместо того, чтобы хранить короткое обозначение устройства и длинное обозначение устройства. Более конкретно, RTU может хранить только короткое обозначение устройства для каждого проводного HART-полевого устройства и только длинное обозначение устройства для каждого беспроводного HART-полевого устройства, когда оно доступно (иначе, RTU может хранить короткое обозначение устройства для беспроводного HART-полевого устройства), а главный компьютер может хранить то же самое обозначение, доступное в запоминающем устройстве RTU.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0010] На Фиг. 1 показана блок-схема части примерного технологического предприятия или системы управления технологическим процессом, в которых RTU кэширует информацию об устройстве для предоставления главному компьютеру возможности построения иерархии полевых устройств с использованием методик настоящего изобретения;
[0011] На Фиг. 2 показана блок-схема примерного главного компьютера, который может функционировать в системе с Фиг. 1;
[0012] На Фиг. 3 показана блок-схема примерного средства для создания иерархии, которое может функционировать в системе с Фиг. 1;
[0013] На Фиг. 4 схематично показана примерная иерархия устройств, которую может построить средство для создания иерархии с Фиг. 3;
[0014] На Фиг. 5 показана примерная схема обмена сообщениями, на которой изображен поток информации между главным компьютером, RTU и несколькими полевыми устройствами, для построения иерархии устройств согласно методикам настоящего изобретения; и
[0015] На Фиг. 6 показана блок-схема примерного способа управления информацией об устройстве с использованием кэша, который может быть реализован в RTU с Фиг. 1.
ПОДРОБНОЕ ОПИСАНИЕ
Краткий обзор
[0016] Говоря в целом, средство для создания иерархии (hierarchy generation engine) согласно настоящему изобретению быстро и эффективно создает иерархию для полевых устройств, соединенных с RTU. Примерное средство для создания иерархии может включать в себя построителя иерархии, функционирующего в главном компьютере, и модуль сообщения HART-иерархии, функционирующий в RTU. В первом примерном варианте RTU отправляет HART-команды в полевые устройства для определения соответственных идентификаторов устройств, обозначений устройств и извлечения обозначений устройств. RTU сохраняет данную информацию в базе данных, которая может функционировать в качестве быстро доступного кэша. Сохраненная информация может включать в себя обозначения устройств. Согласно одному примерному варианту реализации RTU хранит только одно обозначение на HART-устройство. RTU может также переслать извлеченную информацию главному компьютеру.
[0017] Построитель иерархии может сохранить идентификационную информацию устройства (или просто «идентификатор устройства») в запоминающем устройстве главного компьютера. В качестве более частного примерного варианта построитель иерархии может сохранить ответы на HART-команду #0 в постоянном запоминающем устройстве, таком как жесткий диск. Когда оператор главного компьютера хочет повторно построить или «обновить» информацию об иерархии, построитель иерархии отправляет запрос на информацию об устройстве в RTU. В ответ RTU извлекает информацию об устройстве из запоминающего устройства RTU без повторной отправки HART-команд в полевого устройства. RTU затем пересылает информацию об устройстве главному компьютеру. В примерном варианте реализации RTU пересылает состояние устройства и состояние связи для каждого HART-устройства, в настоящее время соединенного с RTU.
[0018] Как только построитель иерархии, функционирующий в главном компьютере, принимает информацию, необходимую для построения обновленной иерархии, от RTU, построитель иерархии создает текстовое или визуальное представление иерархии. Главный компьютер таким образом осуществляет повторное построение иерархии в данном примерном варианте без непосредственного опрашивания полевых устройств. Когда главному компьютеру доступно множество удаленных оконечных блоков (RTU), оператор может таким образом запросить, чтобы иерархия была повторно построена для отдельно взятого RTU, нескольких удаленных оконечных блоков (RTU) или всех доступных удаленных оконечных блоков (RTU). Таким образом построитель иерархии может осуществить построение полной иерархии или только желаемой части иерархии с использованием информации, кэшированной в RTU. Кроме того, построитель иерархии может повторно построить конкретную часть иерархии и использовать ранее построенные одну или более частей иерархии без каких-либо изменений.
[0019] Для наглядности, методики для построения иерархии устройств обсуждаются ниже прежде всего со ссылкой на HART-устройства. Однако следует понимать, что подобные методики могут быть применены к другим типам полевых устройств и протоколам автоматизации производства (например, Fieldbus, Profibus), в частности к тем протоколам, которым требуется обмен сообщениями для получения информации об устройстве. Кроме того, эти методики в целом могут использоваться в системах, в которых главный компьютер собирает данные от удаленных устройств с использованием вспомогательного промежуточного устройства или «посредника», в частности, больших системах, которые включают в себя много устройств. Другими словами, RTU является только одним примером вспомогательного промежуточного устройства, а главный компьютер является только одним примером центрального блока, которые могут использоваться с методиками настоящего изобретения. Схожим образом HART-полевые устройства являются только одним примером удаленных блоков, к которым применимы методики настоящего изобретения.
Примерная система и устройства
[0020] На Фиг. 1 показана блок-схема примерной системы 10, в которой RTU 12 функционирует для извлечения, хранения и сообщения информации, относящейся к полевым устройствам 20, в главный компьютер 14. Полевые устройства 20 могут включать в себя проводные HART-устройства 20A-20E и/или беспроводные HART-устройства 22A-22D. Проводные полевые устройства 20A-20E могут осуществлять связь через проводные линии связи 24A-24C. Беспроводные HART-устройства 22A-22D функционируют в беспроводной ячеистой сети 26 через множество линий связи между парами устройств. Полевые устройства 20 могут быть любыми типами устройств, в частности, клапанами, позиционерами клапанов, переключателями, датчиками (например, датчиками температуры, давления, вибрации, скорости потока или датчиками pH фактора), насосами, вентиляторами и т.д. Полевые устройства 20 выполняют управление, наблюдение и/или физические функции внутри технологического процесса или контуров управления технологическим процессом, в частности, открывание или закрывание клапанов или проведение измерений параметров технологического процесса, например. В дополнение к полевым устройствам 20 RTU 12 может быть соединен с другими удаленными блоками, такими как сопрягающие устройства или шлюзы с другими сетями, например.
[0021] RTU 12 может включать в себя процессор 30, который может включать в себя любой подходящий универсальный или встроенный блок обработки, запоминающее устройство 32, которое может включать в себя любые подходящие компоненты постоянного и/или непостоянного хранения, считываемые процессором 30, проводную HART-карту 34 и HART-карту 36 беспроводной карты. Каждая из карт 34 и 36 может быть выполнена с возможностью передачи и приема сообщений, которые соответствуют протоколу HART-связи. RTU 12 может осуществлять доступ к проводным полевым устройствам 20A-20E через карту 34 и беспроводным полевым устройствам 22A-22D через карту 36 и, по меньшей мере в некоторых из вариантов осуществления, точку 40 беспроводного доступа.
[0022] Для простоты, на Фиг. 1 показан только один главный компьютер, один RTU и полевые устройства, соединенные с RTU через одну проводную карту и одну беспроводную карту. В целом, однако, система 10 может включать в себя дополнительные устройства, линии связи и сети связи. Например, система 10 в некоторых вариантах реализации может включать в себя точки доступа, шлюзы с другими технологическими предприятиями (например, через внутреннюю сеть предприятия или корпоративную глобальную сеть), шлюзы с внешними системами (например, с Интернетом), устройства пользовательского интерфейса (HMI), серверы, системы передачи и обработки данных (например, включающие в себя базы данных технологического процесса, архивные хранилища и т.д.), контроллеры, карты ввода-вывода (I/O-карты), функционирующие в контроллерах, маршрутизаторы, дополнительные сети проводной связи, дополнительные сети беспроводной связи и т.д.
[0023] Запоминающее устройство 32 может хранить исполняемые в процессоре 30 команды программного обеспечения и/или встроенного микропрограммного обеспечения, которые реализуют модуль 50 сообщения HART-иерархии. При функционировании модуль 50 форматирует и передает HART-команды в полевые устройства 20, принимает ответы на HART-команды от полевых устройств 20 и передает транзитные команды между главным компьютером 14 и полевыми устройствами 20. Примерные HART-команды, которые модуль 50 может передавать и принимать, обсуждены более подробно на Фиг. 4. Снова следует отметить, что HART-устройства и HART-команды являются всего лишь одним примером некоторого стандарта для сообщения информации управления технологическим процессом, с помощью которого могут использоваться методики настоящего изобретения.
[0024] Модуль 50 может хранить информацию о проводных и/или беспроводных полевых устройствах 20 в кэше 52 HART-иерархии, который может быть любой подходящей частью запоминающего устройства 32. Кэш 52 может быть реализован в качестве одной или нескольких таблиц реляционной базы данных или с использованием любых других подходящих структур данных. В примерном варианте реализации, кэш 52 хранит, для каждого из полевых устройств 20, соответственные записи 60, включающие в себя идентификатор устройства, тип устройства и обозначение устройства. Идентификатор устройства может быть ответом на команду #0. Как известно, HART-устройства могут сообщать 8-символьные, «короткие» обозначения, и некоторые HART-устройства (версии 7) могут сообщать 32-символьные, «длинные» обозначения. Дополнительно, кэш 52 может хранить текущее состояние полевого устройства в качестве «видимого» удаленным оконечным блоком (RTU) 12. Состояние может быть, например, «активный» или «отсоединенный». В некоторых вариантах осуществления модуль 50 хранит в кэше 52, и сообщает главному компьютеру 14, одно обозначение для каждого из полевых устройств 20, даже когда оба обозначения доступны в некоторых из полевых устройств 20.
[0025] В дополнение к сбору информации об устройстве в ответ на команду от главного компьютера 14 модуль 50 или другой компонент, функционирующий в RTU 12, может обновлять кэш 52 текущей информацией от устройств 20. В целом RTU 12 может принимать обновления состояния, инициируемые полевыми устройствами 20, или периодически опрашивать полевые устройства 20 на обновленную информацию, например.
[0026] В одном варианте осуществления главный компьютер 14 реализован так, как изображено на Фиг. 2. Главный компьютер 100 включает в себя один или более процессоров 102 соединенных с запоминающим устройством 104. Упомянутый один или более процессоров 102 могут быть, например, Центральными Блоками Обработки (CPU) общего назначения. Запоминающее устройство 104 может быть любым подходящим носителем хранения информации, считываемым упомянутыми одним или более процессорами 102, и может включать в себя постоянные и/или непостоянные компоненты. Главный компьютер 100 также может включать в себя пользовательский интерфейс 106, включающий в себя любое подходящее сочетание одного или более устройств отображения, сенсорных экранов, клавиатур, громкоговорителей, микрофонов и т.д. Оператор, такой как конструктор, инженер-метролог, техник, и т.д., может задействовать пользовательские интерфейс 106 для задания команд и приема вывода от главного компьютера 100. Дополнительно, главный компьютер 100 может включать в себя один или более сетевых интерфейсов 108, через которые главный компьютер 100 может осуществлять доступ к удаленным устройствам, включающим в себя удаленные оконечные блоки (RTU). Упомянутые один или более сетевых интерфейсов 108 могут поддерживать подходящую проводную и/беспроводную связь.
[0027] Запоминающее устройство 104 может хранить команды, исполняемые в упомянутых одном или более процессорах 102, а также данные, над которыми действуют эти команды. В частности, запоминающее устройство 104 может хранить команды Системы Управления Оборудованием (AMS) 110, которая предоставляет информацию оператору относительно полевых устройств, функционирующих на технологическом предприятии, и в более общем смысле, информацию относительно управления технологическим процессом на предприятии, в котором функционируют полевые устройства. В некоторых вариантах осуществления AMS 110 может функционировать только в качестве одного компонента распределенной системы программного обеспечения, которая наблюдает и управляет различными аспектами действия управления технологическим процессом на предприятии. Запоминающее устройство 104 дополнительно может хранить контроллер 112 HART-связи, выполненный с возможностью генерирования и приема команд, которые соответствуют протоколу HART-связи. Еще кроме этого, запоминающее устройство 104 может хранить идентификационные данные 116 HART-устройства, которые могут быть реализованы в качестве таблицы идентификаторов устройств, сообщенных уделенным оконечным блоком (RTU).
[0028] Идентификационные данные 116 устройства в некоторых вариантах реализации включают в себя ответы на HART-команду #0. Например, в одном варианте осуществления главный компьютер 100 хранит полный ответ на HART-команду #0 в качестве идентификатора устройства. Идентификатор устройства может включать в себя расширенный код типа устройства, версии устройства и идентификационный номер устройства. В другом варианте осуществления главный компьютер 100 хранит только идентификационный номер устройства в качестве идентификатора устройства. В более общем смысле, в этих вариантах осуществления, идентификационные данные 116 устройства могут включать в себя ответ на HART-команду #0 полностью или любую подходящую его часть. В некоторых вариантах реализации идентификационные данные 116 устройства являются статистическими постоянными данными, которые не изменяются в течение срока службы соответствующего HART-устройства.
[0029] AMS 110 может включать в себя построителя 120 иерархии. При функционировании построитель 120 иерархии принимает идентификаторы устройств от удаленных устройств, таких как удаленные оконечные блоки (RTU), сохраняет идентификаторы устройств в запоминающем устройстве 104 в качестве части идентификационных данных 116 HART-устройства и использует сохраненные идентификаторы устройств для эффективного запрашивания и приема обновленной информации о HART-устройствах от удаленных устройств. Когда построитель 120 иерархии принимает информацию относительно HART-устройств, соединенных с конкретным RTU, включающую в себя описания отношений предок-потомок между HART-устройствами, построитель 120 иерархии может создать текстовое и/или визуальное представление иерархии устройств.
[0030] Для большей ясности, на Фиг. 3 показано примерное средство 150 для создания иерархии, которое может включать в себя некоторые или все компоненты для создания иерархии полевых устройств, обсужденной выше. Средство 150 для создания иерархии в данном варианте реализации включает в себя построителя 152 иерархии, модуль 154 сообщения HART-иерархии, идентификационную информацию 156 HART-устройства и кэш 158 HART-иерархии. Согласно некоторым вариантам осуществления построитель 152 иерархии функционирует в главном компьютере, а модуль 154 сообщения HART-иерархии функционирует в RTU или другом подходящем устройстве, соединенном с возможностью осуществления связи с полевыми устройствами. В более общем смысле, однако, модули 152 и 154 могут быть распределены среди двух или более компьютеров любым подходящим образом. Каждый из модулей 152 и 154 может быть реализован с использованием программного обеспечения, встроенного микропрограммного обеспечения, аппаратного обеспечения или любого подходящего их сочетания. Модули 152 и 154 могут использовать данные 156 и 158, соответственно, каждые из которых могут быть сохранены в одном или нескольких модулях запоминающего устройства и организованы с использованием любых подходящих структур данных.
Примерная иерархия устройств
[0031] Далее на Фиг. 4 схематично показана примерная иерархия 200, которую может построить построитель 120 или 152 иерархии. Как указано выше, построитель 120 или 152 иерархии может также создавать любую подходящую визуализацию или текстовое описание иерархии 200. Например, построитель 120 или 152 иерархии может содержать графическое средство в каждом узле иерархии для изображения соответствующего типа устройства или канала связи. На Фиг. 4, указатели типа 202 соответствуют уже расширенным ветвям, а указатели типа 204 соответствуют ветвям, которые могут расширяться для изображения дополнительных узлов и/или ответвлений.
[0032] Говоря в целом, иерархия устройств описывает организацию HART-устройств в RTU-сети. Характерная иерархия устройств описывает топологию сети и следующую информацию: (i) имя и тип RTU, (ii) HART-карту/модуль и (iii) проводные каналы. Для беспроводного HART-устройства иерархия может не задавать канал, а может считать, что все беспроводные HART-устройства находятся на одном и том же канале. Для HART-устройства на некотором канале информация включает в себя обозначение устройства, главного тракта до устройства и ответ на HART-команду #0. В некоторых вариантах осуществления, однако, часть ответа на HART-команду #0 может быть опущена.
[0033] Иерархия 200 изображает HART-устройства под узлами с модулями (например, узел 210) и под режимами каналов (например, узел 220). Компоненты узла включают в себя обозначение устройства и идентификационную информацию устройства. Как обсуждено более подробно ниже, HART-устройство может включать в себя короткое обозначение и, в некоторых случаях, длинное обозначение. Идентификационная информация устройства может быть ответом на HART-команду #0. Для беспроводных HART-устройств иерархия 200 включает в себя узел с HART-сервером (например, 230) наверху и узлы с беспроводными HART-устройствами (например, узлы 240 и 242) наряду с узлами Беспроводных сопрягающих HART-устройств (например, узлы 250 и 252) на уровне ниже. Проводное устройство, соединенное с Беспроводными сопрягающими HART-устройствами, может быть представлено в иерархии 200 в качестве узлов с подустройствами (например, узлы 260 и 262). В целом, иерархия 200 может соответствовать одному RTU или нескольким RTU и может включать в себя любое количество узлов, представляющих собой датчики, приводы, позиционеры, другие устройства, которые осуществляют измерения или выполняют физические функции на технологическом предприятии, а также серверы, сопрягающие устройства, маршрутизаторы, каналы связи и т.д.
Создание иерархии устройств
[0034] Как показано на Фиг. 5, на схеме 250 обмена сообщениями изображен примерный поток информации между главным компьютером 252, RTU 254 и несколькими полевыми устройствами 256A, 256B, … 256N, совместно называемыми «полевыми устройствами 256». Главный компьютер 252 может быть подобным главному компьютеру 14 и/или главному компьютеру 100, RTU 254 может быть подобен RTU 12, а полевые устройства 256 могут быть подобны полевым устройствам 20, обсужденным выше со ссылкой на Фиг. 1 и 2. На фиг. 5 стрелки представляют собой поток информации в указанном направлении через каналы проводной или беспроводной связи. Каждая стрелка может соответствовать одной команде или сообщению или, в некоторых случаях, последовательности команд или сообщений.
[0035] В течение стадии 260 наполнения кэша, главный компьютер 252 или RTU 254 создает последовательность команд для сбора информации от полевых устройств 256. В течение последующих стадий 262 повторного построения главный компьютер 252 запрашивает у RTU 254 схожую информацию, и RTU 254 извлекает информацию из запоминающего устройства, локального для RTU 256, без повторного опрашивания полевых устройств 256. В изображенном варианте осуществления главный компьютер 252 отправляет транзитные HART-команды в RTU, но в другом варианте осуществления главный компьютер 252 может отправить сообщение, которое соответствует другому протоколу не HART-связи в RTU 254, и в ответ RTU 254 может отформатировать и передать HART-команды в полевые устройства 256. Снова следует заметить, что HART-устройство является только примером протокола связи для обмена информацией управления технологическим процессом между полевыми устройствами, контроллерами, главными компьютерами, и т.д., и что в других вариантах осуществления устройства 252, 254 и 256 могут использовать другие подходящие протоколы.
[0036] Как изображено на фиг. 5, главный компьютер 252 может передать одну или несколько HART-команд 270 в RTU 254 для полевого устройства 256A на стадии 260. HART-команды 270 могут быть особыми для отдельных полевых устройств, или одна HART-команда может быть отправлена для запрашивания данных для множества полевых устройств. Перед генерированием главным компьютером 252 команд 270 главный компьютер 252 может обнаружить, что RTU 254 был добавлен, и отправить запрос в RTU 254, предписывая RTU 254 идентифицировать проводные и беспроводные HART-карты, которыми оборудован RTU 254. RTU 254 может предоставить информацию, необходимую для главного компьютера 252, для генерирования команды 270.
[0037] Команды 270 могут включать в себя (i) команду #0, которая запрашивает, чтобы полевое устройство сообщило свой уникальный идентификатор, (ii) команду #13 на считывание короткого обозначения у полевого устройства и (iii) команду #20 на считывание длинного обозначения у полевого устройства, когда оно доступно. RTU 254 может пропустить (переслать) команды 270 в полевое устройство 256A в качестве команд 272A и принять ответы 272B.
[0038] RTU 254 может сохранить принятые ответы в кэше (событие 274). В частности, RTU 254 может сохранить идентификатор устройства, тип устройства и данные обозначения устройства в базе данных, которая может быть реализована с использованием любой подходящей структуры данных в локально доступном запоминающем устройстве. Если RTU 254 реализован подобно RTU 12, изображенному на Фиг. 1, то модуль 50 сообщения HART-иерархии может сохранить данную информацию в кэше 52 HART-иерархии. Затем RTU 254 может переслать запрошенную информацию главному компьютеру 252 в качестве сообщения 276. Главный компьютер 252 в свою очередь может сохранить идентификатор устройства в локальном запоминающем устройстве (событие 278). Идентификатор устройства может включать в себя весь ответ на HART-команду #0 или некоторую часть ответа.
[0039] Главный компьютер 252 и RTU 254 могут обмениваться схожими сообщениями для полевых устройств 256B… 256N, как схематично изображено на Фиг. 5. Вкратце, в течение стадии 260 RTU 254 собирает и кэширует ответы на HART-команды от полевых устройств 256A, 256B, … 256N, а главный компьютер 252 кэширует идентификаторы устройств. Следует заметить, однако, что RTU 254 в некоторых случаях также собирает данные от полевых устройств 256A, 256B … 256N в ответ на периодическое запрашивание от RTU 254 или иначе в ответ на события, отличающиеся от запросов от главного компьютера 252. В этих случаях RTU 254 может кэшировать данные от полевых устройств 256A, 256B … 256N также без пересылки этих данных главному компьютеру 252. Дополнительно, в некоторых вариантах реализации RTU 254 может выборочно кэшировать ответы на HART-команды 270 или команды, исходящие от RTU 254, на основе типа команды. Например, RTU в одном варианте осуществления кэширует ответы на команду #0 так, чтобы ответить на следующую команду #0 от главного компьютера 252 с использованием кэшированных данных, без более медленного обмена данными с соответствующим полевым устройством. Еще кроме этого, в некоторых вариантах реализации RTU 254 может обрабатывать все HART-команды 270 от главного компьютера 252 в качестве транзитных сообщений, а не кэшировать, или иным образом обрабатывать, ответы на эти транзитные сообщения. В этих вариантах реализации RTU 254 кэширует только те данные, которые полевые устройства 256A, 256B … 256N предоставляют в ответ на команды, исходящие от RTU 254.
[0040] Сразу после событий 274 и 278 главный компьютер 252 может опросить RTU 254 относительно HART-устройств, с которыми RTU 254 соединен (сообщение 280). Вместо передачи множества HART-команд в каждое из полевых устройств 2256A, 256B … 256N RTU 254 может осуществить поиск информации об устройстве в локальном запоминающем устройстве (событие 282) и ответить на запрос от главного компьютера 252 (сообщение 284). Более конкретно, главный компьютер 252 может отправить идентификатор устройства в RTU 254, который RTU 254 может использовать для поиска информации об устройстве. Если RTU 254 не может найти информацию для заданного устройства, то RTU 254 может отправить команду #0 через соответствующую проводную или беспроводную HART-карту (в некоторых вариантах осуществления, однако, главный компьютер 252 полагается только на кэш, локальный для главного компьютера 252, для повторного построения иерархии устройств). Кроме того, RTU 254 в некоторых случаях может сохранить временные отметки для ответов, принятых от полевых устройств 256A, 256B … 256N и, в ответ на запрос от главного компьютера 252, предоставить кэшированные данные главному компьютеру 252 только тогда, когда кэшированные данные не устарели, то есть в пределах некоторого заданного временного интервала относительно времени запроса. RTU 254 альтернативно может сообщить эти временные отметки главному компьютеру 252 в качестве части сообщения(й) 284 или использовать эти временные отметки для динамического определения, отправлять ли HART-команду в полевое устройство для получения нового ответа и ответить главному компьютеру 252 с новым ответом или использовать кэшированные данные для немедленного ответа главному компьютеру 252.
[0041] На Фиг. 6 показана блок-схема примерного способа 300 кэширования информации об устройстве, которая может быть реализована в RTU, таком как RTU 12 или 254, обсужденным выше. Способ может быть реализован в программном обеспечении, встроенном микропрограммном обеспечении, аппаратном обеспечении или любом подходящем их сочетании.
[0042] Способ 302 начинается на этапе 300, на котором ответы на HART-команды принимаются и кэшируются. Как обсуждено выше, для некоторого полевого устройства RTU может сохранить обозначение устройства и текущий статус устройства. RTU также может сохранить, или внести в таблицу, тот же самый идентификатор устройства, который RTU предоставляет главному компьютеру (этап 304, который может быть исполнен один раз за срок службы полевого устройства, в некоторых вариантах реализации). Таким образом главный компьютер может однозначно адресовать полевые устройства, для которых RTU кэширует информацию.
[0043] Затем, на этапе 306 принимается запрос информации относительно некоторого полевого устройства, соединенного с RTU. Запрос может включать в себя идентификатор устройства. На этапе 308 информация относительно полевого устройства размещается в локальном кэше с использованием идентификатора устройства и предоставляется главному компьютеру на этапе 310. Как обсуждено выше, если информация для полевого устройства не может быть найдена в локальном запоминающем устройстве, то для опрашивания полевого устройства может быть передана одна или несколько HART-команд. Например, может быть передана HART-команда #0.
Дополнительные альтернативные варианты
[0044] В упоминаемом в целом обсуждении выше некоторые из альтернативных вариантов могут включать в себя исключение ответа на HART-команду #0 из первоначального построения иерархии. Другими словами, RTU может опустить пересылку ответа на команду #0 для ускорения процесса построения иерархии в главном компьютере и предоставить данную информацию в качестве части фоновой задачи или в более позднее время.
[0045] Дополнительно, согласно одному варианту реализации главный компьютер отображает первоначальную иерархию на основе относящихся к прошлому данных. Затем главный компьютер запускает фоновую задачу для сбора обновленной информации о HART-устройстве, через один или несколько RTU. Таким образом главный компьютер быстро отображает иерархию с использованием информации об устройстве, кэшируемой в RTU и/или в главном компьютере, и обновляет информацию согласно новой конфигурации сети.
[0046] Еще кроме этого, в одном варианте реализации RTU может кэшировать ответы на HART-команды #0 для всех HART-устройств, соединенных с RTU. Когда RTU принимает транзитное HART-сообщение от главного компьютера, RTU может ответить на транзитные HART-команды с использованием кэшированных данных без передачи транзитного сообщения в HART-полевое устройство. Следует отметить, что в данном варианте осуществления главному компьютеру не нужно знать о том, отвечает ли RTU с использованием кэшированных данных или фактически ретранслирует транзитные HART-команды. Другими словами, главному компьютеру не нужно быть специально выполненным с возможностью поддержания методики кэширования в RTU.
Общие замечания
[0047] Из вышеупомянутого следует понимать, что в методиках настоящего изобретения снижается зависимость главного устройства от внешних данных, доступных в полевых устройствах, и эффективно используется уже доступная локальная информация. В некоторых примерах, обсужденных выше, RTU хранит актуальную информацию для полевых устройств и делает ее ненужной в конкретных ситуациях для главного компьютера и полевых устройств для обмена HART-командами/сообщениями с использованием RTU в качестве транзитного устройства.
[0048] Дополнительно, в тех ситуациях, при которых извлечение статической информации из удаленного блока занимает относительно много времени, и при которых информация, вероятно, будет запрошена в будущем, методики настоящего изобретения предоставляют устройствам возможность хранения статической информации в локально доступном запоминающем устройстве вместо повторного запрашивания той же самой информации у удаленного блока. Более конкретно, в примерных вариантах осуществления и сценариях, обсужденных выше, когда пользователь осуществляет повторное построение иерархии устройств или повторно соединяется с RTU, который по-прежнему имеет те же самые HART-устройства, RTU может быстро извлечь ответ на HART-команду #0 из запоминающего устройства, локально доступного для RTU, и предоставить ответ главному компьютеру.
[0049] Еще кроме этого, методики настоящего изобретения уменьшают избыточность данных. Как обсуждено выше, RTU может хранить единственное обозначение для каждого HART-устройства, а главный компьютер может хранить то же самое единственное обозначение, которого достаточно для создания иерархии в главном компьютере.
[0050] Если особым образом не указано иное, обсуждения в данном документе с использованием таких слов, как «обработка», «вычисление», «расчет», «определение», «идентификация», «представление», «отображение» или им подобных, может относиться к действиям или процессам компьютера (например, машины), который манипулирует или преобразовывает данные, представленные в качестве физических (например, электронных, магнитных или оптических) количественных величин внутри одного или более запоминающих устройств (например, энергозависимого запоминающего устройства, энергонезависимого запоминающего устройства или их сочетания), регистров или других компонентов компьютера, которые принимают, хранят, передают или отображают информацию.
[0051] При реализации в программном обеспечении любое из приложений, служб, средств, подпрограмм и модулей, описанных в данном документе, может быть сохранено на любом материальном, постоянном считываемом компьютером запоминающем устройстве, в частности, на магнитном диске, лазерном диске, твердотельном запоминающем устройстве, молекулярном запоминающем устройстве хранения, оптическом диске или другом носителе хранения информации, в RAM или ROM компьютера или процессора и т.д. Несмотря на то, что примерные системы, раскрытые в данном документе, раскрыты включающими в себя, среди других компонентов, программное обеспечение и/или встроенное микропрограммное обеспечение, исполняемого в аппаратном обеспечении, следует отметить, что такие системы являются всего лишь иллюстративными, и их не следует рассматривать в качестве ограничений. Например, предполагается, что любые или все из компонентов аппаратного обеспечения, программного обеспечения и встроенного микропрограммного обеспечения могут быть воплощены исключительно в аппаратном обеспечении, исключительно в программном обеспечении или в любом сочетании аппаратного и программного обеспечения. Соответственно, средним специалистам в уровне техники должно быть легко понятно, что приведенные примерные варианты не являются единственной возможностью реализации таких систем.
[0052] Таким образом, несмотря на то, что настоящее изобретение было описано со ссылкой на частные примерные варианты, которые, как подразумевается, являются всего лишь иллюстративными и не ограничивают настоящее изобретение, среднему специалисту в уровне техники должно быть понятно, что без отступления от сущности и объема настоящего изобретения с раскрытыми вариантами осуществления могут быть проделаны изменения, дополнения или удаления.