Способы и аппаратные средства идентификации протокола связи, использующегося в системе управления процессом

Иллюстрации

Показать все

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении безопасности передачи данных. Способ включает выявление того, что сообщение управления процессом, принятое через порт, использует структуру сообщения, соответствующую первому из множества протоколов сообщений управления процессом; анализ сообщения управления процессом для выявления поля сообщения управления процессом; выявление соответствия содержимого поля сообщения известному полю структуры сообщения, соответствующему первому из множества протоколов сообщений управления процессом; и обработку сообщения управления процессом в соответствии с первым протоколом сообщения управления процессом. 6 н. и 23 з.п. ф-лы, 9 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[0001] Данное раскрытие в целом относится к управлению процессом и, в частности, способам и аппаратным средствам для идентификации протокола связи, используемого в системе управления процессом.

УРОВЕНЬ ТЕХНИКИ

[0002] Устройства управления процессом осуществляют сбор данных и/или управляют оборудованием в среде управления процессами. Устройства управления процессом снабжены коммуникационными характеристиками для предоставления возможности удаленной настройки, управления и/или представления данных для устройств управления процессами.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[0003] Раскрыты способы и аппаратные средства идентификации протокола связи, используемого в системе управления процессом. Пример способа включает выявление структуры сообщения в полученном через порт сообщении управления процессом, выявление того, что структура сообщения соответствует одному из множества протоколов сообщений управления процессом, и обработку сообщения управления процессом в соответствии с первым протоколом сообщений управления процессом.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0004] Фиг. 1 представляет собой блок-схему устройства управления процессом, в том числе детектор протокола.

[0005] Фиг. 2 иллюстрирует пример структуры сообщения протокола MODBUS, которая может быть использована детектором протокола на Фиг. 1 для обнаружения связи по протоколу MODBUS.

[0006] Фиг. 3 иллюстрирует пример сообщения, соответствующего протоколу MODBUS, опознаваемого детектором протокола на Фиг. 1 как сообщение MODBUS.

[0007] Фиг. 4 иллюстрирует пример структуры сообщения протокола HART, которая может быть использована детектором протокола на Фиг. 1 для обнаружения связи по протоколу HART.

[0008] Фиг. 5 иллюстрирует пример сообщения, соответствующего протоколу HART, опознаваемого детектором протокола на Фиг. 1 как сообщение HART.

[0009] Фиг. 6А иллюстрирует первый пример структуры сообщения 600 протокола BSAP, который может быть использован детектором протокола на Фиг. 1 для обнаружения связи по протоколу BSAP.

[0010] Фиг. 6В иллюстрирует второй пример структуры сообщения 600 протокола BSAP, который может быть использован детектором протокола на Фиг. 1 для обнаружения связи по протоколу BSAP.

[0011] Фиг. 7 иллюстрирует пример сообщения, соответствующего протоколу BSAP, опознаваемого детектором протокола на Фиг. 1 как сообщение BSAP.

[0012] Фиг. 8 является блок-схемой, представляющей пример способа выявления протокола сообщений.

[0013] Фиг. 9 является блок-схемой примера процессорной системы, которая может быть использована для реализации примера детектора протокола на Фиг. 1.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

[0014] Хотя приведенные ниже описания примеров систем содержат, в том числе, среди других компонентов, программное обеспечение и/или встроенное микропрограммное обеспечение, выполняемое на аппаратных средствах, следует отметить, что такие системы являются только иллюстративными и не должны рассматриваться в качестве ограничения. Например, предполагается, что любой или все из этих компонентов аппаратных средств, программного обеспечения и встроенного микропрограммного обеспечения могут быть воплощены исключительно в виде аппаратных средств, исключительно в виде программного обеспечения или в любой комбинации аппаратных средств и программного обеспечения. Соответственно, в то время как ниже описываются примеры систем, лица с обычной квалификацией в данной области техники, легко поймут, что приведенные примеры не являются единственным способом реализации таких систем.

[0015] В системах управления процессами устройства, такие как передатчики переменных, синхронизируются и обмениваются данными с центральными управляющими системами для предоставления данных по каждому сегменту линии производства. Центральные компьютеры снабжены различными коммуникационными протоколами, такими как HART, MODBUS и/или BSAP, и это лишь некоторые из них.

[0016] Пример способов и аппаратных средств, описанный в данном документе, позволяет устройствам управления процессом обмениваться данными с многими центральными компьютерами управления процессами и/или находиться в одновременной связи по множеству протоколов без необходимости в пользовательской конфигурации протоколов. Приведенные способы и аппаратные средства увеличивают гибкость продукта и освобождают пользователей (например, установщиков, техников) от необходимости запоминать, какой протокол должен быть сконфигурирован на каждом из портов устройства управления процессом. Кроме того, приведенные способы и аппаратные средства позволяют изменения между различными протоколами коммуникации с устройством управления процессом без дополнительной пользовательской настройки устройства управления процессом для обеспечения операционной совместимости. Таким образом, приведенные способы и аппаратные средства, описанные здесь, снизжают затраты на установку, настройку и/или на обучение для устройств управления процессами.

[0017] Фиг. 1 представляет собой блок-схему примера устройства управления процессом 100, содержащего детектор протокола 102. Термин устройство управления процессом 100, как это используется здесь, заключает в себе понятийно любое устройство, которое может быть использовано для управления, обнаружения, измерения, коммуникации и/или иного образа взаимодействия с системой управления процессом, подобно тому, как системы управления технологическими производством, индустрией и/или торговлей. Примером устройства управления процессом 100 может быть любой тип устройства управления процессом, такой как многофакторный передатчик давления, который измеряет давление жидкости или газа, преобразует результат измерения в электронное представление и передает результат измерения другому контроллеру или устройству для обработки и/или хранения.

[0018] Пример устройства управления процессом 100 содержит в себе два порта 104, 106. Пример порта 104 сконфигурирован для коммуникации через RS485 шину 105. В противоположность этому, пример порта 106 настроен на коммуникацию по шине Frequency Shift Keying (FSK) 107. Пример устройства управления процессом 100 содержит в себе процессор 108 (или другой тип логической электронной схемы) для приема и/или передачи команд и/или данных через порты 104, 106. Приведенный порт 104 коммуникативно присоединен к RS485 центрального компьютера 110, и приведенный порт 106 коммуникативно присоединен к FSK центрального компьютера 112. Устройство управления процессом 100 на Фиг. 1 может быть в коммуникационной связи с любым из примеров центральных компьютеров 110, 112 через соответствующие шины 105, 107.

[0019] В примере с RS485, центральным компьютером 110 может быть, например, персональный компьютер, выполняющий программное обеспечение RocLink 800, разработанное фирмой Emerson Process Control, персональный компьютер, выполняющий программное обеспечение TechView, разработанное фирмой Emerson Process Control, Полевой Коммуникатор фирмы Emerson Process Control и/или любое другое устройство, способное осуществлять связь RS485 через шину 105. В примере с FSK, центральным компьютером 112 может быть, например, персональный компьютер, выполняющий программное обеспечение TechView, Полевой Коммуникатор, персональный компьютер, выполняющий программное обеспечение DD Viewer, разработанное фирмой Emerson Process Control, и/или любое другое устройство, способное осуществлять связь FSK через шину 107.

[0020] Различные типы коммуникационных протоколов используются в различных системах управления процессами и/или оборудовании. Каждый из типов коммуникационных протоколов имеет преимущества и недостатки и/или лучше подходит для конкретной конфигурации устройств. RS485 шины часто используются для связи по протоколу MODBUS или по Bristol Standard Asynchronous Protocol (BSAP). Пример порта 104 на Фиг. 1 сконфигурирован для связи с помощью протоколов MODBUS и/или BSAP. FSK шины часто используется для связи по протоколу BSAP, протоколу MODBUS и/или Highway Addressable Remote Transducer Protocol (HART). Пример порта 106 на Фиг. 1 сконфигурирован для связи по протоколам BSAP, MODBUS и HART.

[0021] Приведенный процессор 108 также способен к передаче и/или приему по BSAP, MODBUS и HART протоколам. Пример RS485 центрального компьютера 110 может передавать пакеты к приведенному устройству 100 через порт 104 по одному из множества коммуникационных протоколов. Аналогичным образом, пример FSK центрального компьютера 112 может передавать пакеты к приведенному устройству 100 через порт 106 по одному из множества коммуникационных протоколов. В отличие от известных устройств управления процессами, которые сконфигурированы пользователем для определенного протокола и определенного порта (например, техником, установщиком), приведенное устройство 100 автоматически выявляет, какой из используемых коммуникационных протоколов должен быть передан на устройство 100 через порты 104, 106. Эта конфигурация обычно выполняется, когда устройство впервые инициализируется на основе коммуникационных возможностей центральных компьютеров и/или шин, к которым устройство подключено.

[0022] Для способствования коммуникации с помощью одного или нескольких протоколов приведенный детектор протокола 102 на Фиг. 1 выявляет, какие из коммуникационных протоколов используется входящими сообщениями. Например, детектор протокола 102 на Фиг. 1 может идентифицировать коммуникационный протокол, основываясь на пакете, принятом через один из портов 104, 106, когда устройство 100 впервые инициализируется и/или когда принятый пакет не соответствует ожидаемому коммуникационному протоколу.

[0023] Для идентификации протокола приведенный детектор протокола 102 сравнивает структуру, длину и/или содержимое пакета, принятого через порт 104, 106 с одной или несколькими структурами сообщений протокола. Приведенный детектор протокола 102 может положительно установить (например, путем выявления совпадения с протоколом) или негативно установить (например, путем исключения других протоколов), какой протокол используется. Один или несколько коммуникационных протоколов могут иметь неоспоримые особенности, которые, по обнаружению, дают основание детектору протокола 102 выявить, какой коммуникационный протокол используется (или не используется). Дополнительно или альтернативно, один или более коммуникационных протоколов могут иметь одну или более комбинаций особенностей, которые при обнаружении в комбинации дают основание детектору протокола 102 выявить, какой коммуникационный протокол используется (или не используется). Пример структуры сообщений протокола и примеры сообщений описаны ниже со ссылкой на Фиг. 2-7.

[0024] При идентифицировании коммуникационного протокола, который соответствует принятому сообщению, приведенный детектор протокола 102 информирует процессор 108 о коммуникационном протоколе и портах 104, 106, на которых сообщение было получено. Приведенный процессор 108 затем обрабатывает полученное сообщение, а также сообщения, получаемые впоследствии в соответствии с выявленным протоколом. Кроме того, приведенный процессор 108 подчиняется конвенции определенного протокола и генерирует исходящие сообщения в соответствии с установленным протоколом.

[0025] В то время как представленный детектор протокола 102 на Фиг. 1 показан в виде отдельного блока, детектор протокола 102 может быть реализован как часть приведенного процессора 108.

[0026] Фиг. 2 иллюстрирует пример структуры 200 сообщения протокола MODBUS, которая может использоваться детектором протокола 102 на Фиг. 1 для обнаружения коммуникационного протокола MODBUS. Фиг. 3 иллюстрирует пример сообщения 300, в соответствии с протоколом MODBUS, идентифицированного детектором протокола 102 по Фиг. 1 как сообщение MODBUS. Приведенный детектор протокола 102 на Фиг. 1 может выявить, что приведенное MODBUS сообщение 300 соответствует протоколу MODBUS (в отличие от протоколов HART или BSAP) при соблюдении одного или более из, например: 1) начальный и/или конечный интервалы 202, 204; 2) байт функции 302 соответствует полю функции 206; и/или 3) два байта Cyclical Redundancy Check (CRC) 304 соответствуют полю CRC 208.

[0027] Фиг. 4 иллюстрирует пример структуры сообщения протокола HART 400, которая может быть использована детектором протокола 102 на Фиг. 1 для обнаружения коммуникации по протоколу HART. Фиг. 5 иллюстрирует пример сообщения 500 в соответствии с протоколом HART, которое идентифицируется детектором протокола 102 на Фиг. 1 как сообщение HART. Приведенный детектор протокола 102 на Фиг. 1 может выявить, что приведенное HART сообщение 500 соответствует протоколу HART (в отличие от протоколов MODBUS или BSAP), при соблюдении одного или более из: 1) 5-20 байтов преамбулы 502 из 0xff байтов соответствуют преамбуле поля 402; 2) байт разделителя 504 соответствует полю разделителя 404; 3) 5-байтовый адрес 506 соответствует полю адреса 406; 4) байт команды 508 соответствует полю команды 408; и/или 5) байт контрольной суммы 510 соответствует полю контрольной суммы 410.

[0028] Фиг. 6А иллюстрирует первый пример структуры сообщения по протоколу BSAP 600, которая может использоваться детектором протокола 102 на Фиг. 1 для выявления коммуникации по протоколу BSAP. Фиг. 6В иллюстрирует второй пример структуры сообщения по протоколу BSAP 602, которая может использоваться детектором протокола 102 на Фиг. 1 для выявления коммуникации по протоколу BSAP. Фиг. 7 иллюстрирует пример сообщения 700, соответствующего протоколу BSAP, которое идентифицируется детектором протокола на Фиг. 1 как сообщение BSAP. Приведенный детектор протокола 102 на Фиг. 1 может выявить, что приведенное BSAP сообщение 700 соответствует протоколу BSAP (в отличие от протоколов MODBUS или HART) при соблюдении одного или более из: 1) байт Data Link Escape (DEL) 702 соответствует полю DEL 604; 2) байт начала текста (STX) 704 соответствует байту начала текста 606; 3) байт 7 или 12 заголовка 706 соответствует 12-ому байту поля заголовка 608 или 7-ому байту поля заголовка 610; 4) второй байт DEL 708 соответствует второму полю DEL 612; 5) байт конца текста (ЕТХ) 710 соответствует полю ЕТХ 614; и/или 6) два байта CRC 712 соответствуют 2-байтному полю CRC 616.

[0029] В то время как приведенный способ реализации детектора протокола 102 был проиллюстрирован на Фиг. 1, один или более элементов, процессов и/или устройств, показанных на Фиг. 1, могут быть скомбинированы, отделены, перераспределены, опущены, устранены и/или реализованы любым другим способом. Кроме того, пример детектора протокола 102 и/или, в более общем смысле, пример устройства 100 на Фиг. 1 могут быть реализованы с помощью аппаратных средств, программного обеспечения, микропрограммного обеспечения и/или любой комбинации аппаратных средств, программного обеспечения, микропрограммного обеспечения. Так, например, приведенный детектор протокола 102 и/или, в более общем смысле, приведенное устройство управления процессом 100 на Фиг. 1 могут быть реализованы с помощью одного или более электронных схем, программируемых процессоров, специализированных для данного приложения интегральных схем (ASIC(s)), программируемых логических устройств (PLD (s)) и/или портативных программируемых логических устройств (FPLD(s)) и т.д. Более того, приведенный детектор протокола 102 на Фиг. 1 может содержать один или более элементов, процессов и/или устройств в дополнение к или вместо показанных на Фиг. 1 и/или может содержать более одного из любых или все из показанных элементов, процессов и устройств.

[0030] Блок-схема, представляющая пример способа 800 для реализации приведенного детектора протокола 102 и/или приведенного процессора 108 на Фиг. 1, показана на Фиг. 8. В этом примере, приведенный способ 800 может быть реализован с использованием машиночитаемых команд, входящих в состав программы для выполнения процессором, таким как процессор 912, показанный в приведенном компьютере 900, обсуждаемом ниже в связи с Фиг. 9. Программа может быть реализована программным обеспечением, хранящимся на машиночитаемом носителе реального компьютера, таким как машиночитаемые устройства хранения (например, CD-ROM, флоппи-диск, жесткий диск, цифровой универсальный диск (DVD), Blu-Ray диск, или память, связанная с процессором 912), но вся программа и/или ее части в качестве альтернативы могут быть выполнены с помощью устройства, иного чем процессор 912 и/или реализованного в микрокоде или на специализированных аппаратных средствах. Кроме того, хотя приведенная программа описана со ссылкой на блок-схему, показанную на Фиг. 8, многие другие альтернативные способы могут быть использованы для реализации приведенного детектора протокола 102. Например, порядок выполнения блоков может быть изменен и/или некоторые из описанных блоков могут быть изменены, исключены или объединены.

[0031] Как уже упоминалось выше, приведенный способ 800 на Фиг. 8 может быть реализован с использованием кодированных инструкций (например, машиночитаемых команд), хранящихся на машиночитаемом носителе реального компьютера, таком как жесткий диск, флэш-память, доступная только для чтения память (ROM), компакт-диск (CD), цифровой универсальный диск (DVD), кэш, оперативное запоминающее устройство (RAM) и/или любые другие носители информации, на которых возможно хранение информация любой продолжительности (например, в течение длительных периодов времени, постоянно, краткосрочно, для временной буферизации и/или для кэширования информации). Как использовано в данном описании, термин машиночитаемый носитель реального компьютера специально определен для включения любого типа машиночитаемых средств хранения и исключения передачи сигналов. Дополнительно или альтернативно, пример способа 800 на Фиг. 8 может быть реализован с использованием кодированных инструкций (например, машиночитаемые команды), хранящихся на непереносимом машиночитаемом носителе, таком как жесткий диск, флэш-память, только читаемая память (ROM), компакт-диск, цифровой универсальный диск, кэш, память с произвольным доступом (RAM) и/или любые иные средства хранения, на которых хранится информация для любой продолжительности (например, длительные периоды времени, постоянно, краткосрочно, для временной буферизации, и/или для кэширования информации).

[0032] Пример способа 800 может быть реализован приведенным детектором протокола 102, приведенным процессором 108 и/или, в более общем смысле, приведенным устройством управления процессом 100 на Фиг. 1. Способ 800 по Фиг. 8 может быть реализован, когда, например, устройство управления процессом 100 инициализируется и/или центральное компьютерное устройство (например, центральные компьютеры 110, 112) подключено к порту (например, порты 104, 106) приведенного устройства управления процессом 100. В некоторых других примерах, способ 800 реализуется детектором протокола 102 в ответ на прием одного или более сообщений, которые не соответствуют предусмотренному протоколу.

[0033] Пример способа 800 начинается с входа в исходное состояние (блок 802). В приведенном исходном состоянии детектор протокола 102 и/или процессор 108 не сконфигурированы на обработку сообщений в соответствии с любым конкретным протоколом. В какой-то момент приведенный детектор протокола 102 принимает (например, через порты 104, 106) сообщение управления процессом (блок 804). Приведенный детектор протокола 102 делает разбор сообщения управления процессом для выявления одного или нескольких полей (блок 806).

[0034] Детектор протокола 102 устанавливает, присутствуют ли какие-нибудь поля протокола HART (блок 808). Например, детектор протокола 102 может определить, содержит ли сообщение один или более из: 1) 5-20 байт преамбулы из байтов 0xff (например, в преамбуле поля 502 на Фиг 5), соответствующие полю преамбулы (например, в поле преамбулы 402 на Фиг. 4); 2) байт разделителя (например, байт разделителя 504), соответствующий полю разделителя (например, поле разделителя 404); 3) 5-байтовый адрес (например, адрес 506), соответствующий полю адреса (например, поле адреса 406); 4) байт команды (например, байт команды 508), соответствующий полю команды (например, поле команды 408); и/или 5) байт контрольной суммы (например, байт контрольной суммы 510), соответствующий полю контрольной суммы (например, поле контрольной суммы 410). Если поля HART обнаруживаются (блок 808), приведенный детектор протокола 102 выявляет, соответствует ли сообщение синтаксису HART (например, сообщение по протоколу) (блок 810). Если сообщение имеет синтаксис HART (блок 810), приведенный детектор протокола 102 инструктирует процессор 108 обработать сообщение с использованием протокола HART (блок 812).

[0035] Если поля HART не имеются в наличии (блок 808) или если сообщение не соответствует правильному синтаксису HART (блок 810), приведенный детектор протокола 102 устанавливает, имеются ли в наличии любые поля протокола MODBUS (блок 814). Например, детектор протокола 102 может выявить, содержит ли сообщение один или более из: 1) интервалы начала и/или конца (например, начальный и/или конечный интервалы 202, 204, показанные на Фиг. 2); 2) байт функции (например, байт функции 302 на Фиг. 3), соответствующий полю функции (например, поле функции 206); и/или 3) два байта CRC (например, CRC байты 304), соответствующие полю CRC (например, поле CRC 208). Если поля MODBUS присутствуют (блок 814), приведенный детектор протокола 102 выявляет, соответствует ли сообщение синтаксису MODBUS (например, сообщение по протоколу) (блок 816). Если сообщение имеет синтаксис MODBUS (блок 816), приведенный детектор протокола 102 инструктирует процессор 108 обработать сообщение с использованием протокола MODBUS (блок 818).

[0036] Если поля MODBUS не имеются в наличии (блок 814) или если сообщение не соответствует правильному синтаксису MODBUS (блок 816), приведенный детектор протокола 102 устанавливает, имеются ли в наличии любые поля протокола BSAP (блок 820). Например, детектор протокола 102 может выявить, содержит ли сообщение один или более из: 1) байт Data Link Escape (DEL) (например, байт DEL 702 на Фиг. 7), соответствующий полю DEL (например, полю DEL 604 на Фиг. 6А и 6 В); 2) байт начала текста (STX) (например, байт STX 704), соответствует байту начала текста (например, байты STX 606); 3) байт 7 или 12 заголовка (например, байт заголовка 706) соответствует 12-ому байту поля заголовка (например, поле заголовка 608 по Фиг. 6А) или 7-ому байту поля заголовка (например, поле заголовка 610 на Фиг. 6А); 4) второй байт DEL (например, байт DEL 708), соответствующий второму полю DEL (например, поля DEL 612); 5) байт конца текста (ЕТХ) (например, байт ЕТХ 710), соответствующий полю ЕТХ (например, поля ЕТХ 614); и/или 6) два байта CRC (например, байты CRC 712), соответствующие 2-байтовому полю CRC (например, поле CRC 616). Если поля BSAP имеются в наличии (блок 820), приведенный детектор протокола 102 выявляет, соответствует ли сообщение синтаксису BSAP (например, протокол обмена сообщениями) (блок 822). Если сообщение имеет синтаксис BSAP (блок 822), приведенный детектор протокола 102 инструктирует процессор 108 обработать сообщение с использованием протокола BSAP (блок 824).

[0037] Если детектор протокола 102 выявляет, что в сообщении не было ничего из синтаксиса (блоки 810, 816, 822), приведенный способ 800 возвращается к этапу 802, оставаясь в исходном состоянии. Если, однако, приведенный детектор протокола 102 вызывает обработку процессором 108 сообщений, используя HART (этап 812), используя MODBUS (блок 818), или используя BSAP (блок 824), приведенный детектор протокола 102 может завершить приведенный способ 800.

[0038] Фиг. 9 представляет собой блок-схему примера процессорной системы 910, которая может использоваться для реализации приведенного детектора протокола 102, приведенного устройства управления процессом 100, приведенного центрального RS485 компьютера 110 и/или центрального FSK компьютера 112 на Фиг. 1. Как показано на Фиг. 9, процессорная система 910 содержит процессор 912 (например, процессор 108), который присоединен к шине разводки 914. Процессор 912 содержит совокупность регистров или регистровое пространство 916, которые изображены на Фиг. 9 как целиком расположенные на микросхеме, но в качестве альтернативы могут быть полностью или частично расположены вне микросхемы, и быть непосредственно соединенными с процессором 912 с помощью специальных электрических соединений и/или через шину разводки 914. Процессором 912 может быть любой подходящий процессор, блок обработки или микропроцессор. Хотя это и не показано на Фиг. 9, система 910 может быть мультипроцессорной системой и, таким образом, может содержать один или более дополнительных процессоров, которые идентичны или подобны процессору 912 и которые сообща присоединены к шине разводки 914.

[0039] Процессор 912 на Фиг. 9 соединен с чипсетом 918, который содержит контроллер памяти 920 и контроллер ввода/вывода (I/O) 922. Как известно, чипсет обычно обеспечивает функции ввода/вывода и управления памятью, так же, как и множеством регистров общего и/или специального назначения, таймерами и т.д., которые доступны или используются одним или несколькими процессорами, связанными с чипсетом 918. Контроллер памяти 920 выполняет функции, которые позволяют процессору 912 (или процессорам в случае мультипроцессоров) доступ к системной памяти 924 и устройствам хранения информации большой емкости 929.

[0040] Системная память 924 может содержать любой требуемый тип энергозависимой и/или энергонезависимой памяти, такой как, например, статическое оперативное запоминающее устройство (SRAM), динамическое ОЗУ (DRAM), флэш-память, постоянное запоминающее устройство (ROM) и т.д. Устройство хранения информации большой емкости 929 может содержать любой требуемый тип запоминающего устройства, включая жесткие диски, оптические приводы, устройства хранения на магнитной ленте и т.д.

[0041] Контроллер I/O 922 выполняет функции, которые обеспечивают процессору 912 коммуникацию с периферийными устройствами ввода/вывода (I/O) 926 и 928 и с сетевым интерфейсом 930 через шину ввода/вывода 932. Устройствами ввода/вывода 926 и 928 могут быть устройства ввода/вывода любого требуемого типа, такими, как, например, клавиатура, видеодисплей или монитор, мышь и т.д. Сетевым интерфейсом 930 может быть, например, устройство Ethernet, устройство асинхронной передачи (ATM), устройство 802.11, DSL модем, кабельный модем, сотовый модем и т.д., что позволяет процессорной системе 910 осуществлять коммуникацию с другими процессорными системами.

[0042] В то время, как контроллер памяти 920 и контроллер ввода/вывода 922 изображены на Фиг. 9 в виде отдельных функциональных блоков в составе чипсета 918, функции, выполняемые этими блоками, могут быть интегрированы в рамках одной полупроводниковой схемы или могут быть реализованы с помощью двух или более отдельных интегральных схем.

[0043] Хотя некоторые приведенные способы, аппаратные средства и промышленные изделия были раскрыты в данном описании, область охвата данного патента не ограничивается этим. Напротив, этот патент охватывает все способы, аппаратные средства и промышленные изделия, вполне подпадающего под действие требований этого патента.

1. Способ идентификации протокола связи, включающий выявление того, что сообщение управления процессом, принятое через порт, использует структуру сообщения, соответствующую первому из множества протоколов сообщений управления процессом; анализ сообщения управления процессом для выявления поля сообщения управления процессом; выявление соответствия содержимого поля сообщения известному полю структуры сообщения, соответствующему первому из множества протоколов сообщений управления процессом; и обработку сообщения управления процессом в соответствии с первым протоколом сообщения управления процессом.

2. Способ по п. 1, отличающийся тем, что первый из множества протоколов сообщений управления процессом соответствует одному из: HART-протокола, протокола MODBUS или BSAP-протокола.

3. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует HART-протоколу, если содержимое поля сообщения включает в себя пяти-двадцатибайтовую преамбулу из 0xff байтов, когда известное поле соответствует полю преамбулы.

4. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует HART-протоколу, если содержимое поля сообщения включает в себя байт разделителя, когда известное поле соответствует полю разделителя.

5. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует HART-протоколу, если содержимое поля сообщения включает в себя пятибайтовый адрес, когда известное поле соответствует адресу.

6. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует HART-протоколу, если содержимое поля сообщения включает в себя байт команды, когда известное поле соответствует полю команды.

7. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует HART-протоколу, если содержимое поля сообщения включает в себя один байт контрольной суммы, когда известное поле соответствует полю контрольной суммы.

8. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует протоколу MODBUS, если содержимое поля сообщения включает в себя данные, связанные с начальным интервалом или конечным интервалом, когда известное поле соответствует начальному интервалу или конечному интервалу.

9. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует протоколу MODBUS, если содержимое поля сообщения включает в себя байт функции, когда известное поле соответствует полю функции.

10. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует BSAP-протоколу, если содержимое поля сообщения содержит семь или двенадцать байтов заголовка, когда известное поле соответствует семибайтовому или двенадцатибайтовому полю заголовка.

11. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует BSAP-протоколу, если содержимое поля сообщения включает в себя байт освобождения канала данных (Data Link Escape), когда известное поле соответствует полю освобождения канала данных.

12. Способ по п. 11, дополнительно включающий выявление того, что структура сообщения соответствует BSAP-протоколу, если второе содержимое второго поля сообщения включает в себя второй байт освобождения канала данных, когда известное поле соответствует второму полю освобождения канала данных.

13. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует BSAP-протоколу, если содержимое поля сообщения включает в себя байт начала текста, когда известное поле соответствует полю начала текста.

14. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует BSAP-протоколу, если содержимое поля сообщения включает в себя байт конца текста, когда известное поле соответствует полю конца текста.

15. Способ по п. 1 или 2, дополнительно включающий выявление того, что структура сообщения соответствует одному из протоколов: MODBUS или BSAP-протоколу, если содержимое поля сообщения включает в себя два байта циклического контроля избыточности (Cyclical Redundancy Check), когда известное поле соответствует полю двухбайтового циклического контроля избыточности.

16. Способ по п. 1 или 2, отличающийся тем, что порт сконфигурирован для коммуникации по одной из шин: RS485 или шине частотной модуляции (Frequency Shift Keying).

17. Аппаратное средство для идентификации протокола связи, содержащее порт для приема сообщения управления процессом; детектор протокола для выявления того, что сообщение управления процессом имеет структуру сообщения, соответствующую первому из множества протоколов сообщений управления процессом, анализа сообщения управления процессом для выявления поля сообщения управления процессом и выявления соответствия содержимого поля сообщения известному полю структуры сообщения, соответствующему первому из множества протоколов сообщений управления процессом; и процессор для обработки сообщения управления процессом в соответствии с первым протоколом сообщения управления процессом.

18. Аппаратное средство по п. 17, в котором первый из множества протоколов сообщений управления процессом соответствует одному из HART-протокола (Highway Addressable Remote Transducer Protocol), протокола MODBUS или BSAP-протокола.

19. Аппаратное средство по п. 17, отличающееся тем, что детектор протокола предназначен для выявления того, что структура сообщения из сообщения управления процессом соответствует HART-протоколу, если содержание поля сообщения в сообщении управления процессом содержит по меньшей мере одно из: пяти-двадцатибайтовая преамбула из 0xff байтов, когда известное поле соответствует полю преамбулы, байт разделителя, когда известное поле соответствует полю разделителя, пятибайтовый адрес, когда известное поле соответствует адресу, байт команды, когда известное поле соответствует полю команды, или один байт контрольной суммы, когда известное поле соответствует полю контрольной суммы.

20. Аппаратное средство по п. 17, отличающееся тем, что детектор протокола предназначен для выявления того, что структура сообщения из сообщения управления процессом соответствует протоколу MODBUS, если содержимое поля сообщения в сообщении управления процессом содержит по меньшей мере одно из: данные, связанные с начальным интервалом, когда известное поле соответствует начальному интервалу, данные, связанные с конечным интервалом, когда известное поле соответствует конечному интервалу, байт функции, когда известное поле соответствует полю функции, или два байта циклического контроля избыточности, когда известное поле соответствует полю циклического контроля избыточности.

21. Аппаратное средство по п. 17, отличающееся тем, что детектор протокола предназначен для выявления того, что структура сообщения из сообщения управления процессом соответствует BSAP-протоколу, если содержимое поля сообщения в сообщении управления процессом содержит по меньшей мере одно из: байт освобождения канала данных (Data Link Escape), когда известное поле соответствует полю освобождения канала данных (DEL), байт начала текста, когда известное поле соответствует полю начала текста, семь байтов заголовка, когда известное поле соответствует полю семибайтового заголовка, двенадцати байтовый заголовок, когда известное поле соответствует полю двенадцатибайтового заголовка, второй байт освобождения канала данных, когда известное поле соответствует второму полю освобождения канала данных, байт конца текста, когда известное поле соответствует полю конца текста, или два байта циклического контроля избыточности (Cyclical Redundancy Check), когда известное поле соответствует двухбайтовой цикличности.

22. Материальное машиночитаемое средство хранения информации, содержащее машиночитаемые инструкции для идентификации протокола связи, которые при выполнении вызвают в устройстве, по меньшей мере, получение сообщения управления процессом через порт; выявление того, что сообщение управления процессом имеет структуру сообщения, соответствующую первому из множества протоколов сообщений управления процессом; анализ сообщения управления процессом для выявления поля сообщения управления процессом; выявление соответствия содержимого поля сообщения известному полю структуры сообщения, соответствующему первому из множества протоколов сообщений управления процессом; и обработку сообщения управления процессом в соответствии с первым протоколом сообщения управления процессом.

23. Средство хранения информации по п. 22, в котором инструкции дополнительно вызывают в устройстве выявление того, что структура сообщения соответствует HART-протоколу, если содержимое поля сообщения в сообщении управления процессом содержит по меньшей мере одно из: пяти-двадцатибайтовая преамбула из 0xff байтов, когда известное поле соответствует полю преамбулы, байт разделителя, когда известное поле соответствует полю разделителя, пятибайтовый адрес, когда известное поле соответствует адресу, байт команды, когда известное поле соответствует полю команды, или байт контрольной суммы, когда известное поле соответствует полю контрольной суммы.

24. Средство хранения информации по п. 22, в котором инструкции дополнительно вызывают в устройстве выявление того, что структура сообщения соответствует протоколу MODBUS, если содержимое поля сообщения в сообщении управления процессом содержит по меньшей мере одно из: данные, связанные с начальным интервалом, когда известное поле соответствует началу интервала, данные, связанные с конечным интервалом, когда известное поле соответствует концу интервала, байт функции, когда известное поле соответствует полю функции, или два байта циклического контроля избыточности (Cyclical Redundancy Check), когда известное п