ПОТОЧНЫЕ КОМПЬЮТЕРЫ, ОСНАЩЕННЫЕ БЕСПРОВОДНЫМИ ИНТЕРФЕЙСАМИ КОММУНИКАЦИОННЫХ ПРОТОКОЛОВ, И СВЯЗАННЫЕ С НИМИ СПОСОБЫ
FLOW COMPUTERS EQUIPPED WITH WIRELESS INTERFACES OF COMMUNICATION PROTOCOLS AND VERSIONS RELATED WITH THEM

ОБЛАСТЬ ТЕХНИКИ
[0001] Изобретение относится, главным образом, к системам контроля и сбора данных, в частности к поточным компьютерам, имеющим беспроводной интерфейс передачи данных, и связанными с ними способам.
УРОВЕНЬ ТЕХНИКИ
[0002] Системы контроля и сбора данных (SCADA), к примеру, используемые в нефтяной и газовой промышленности, очень часто используют поточные компьютеры в качестве центральной единицы оборудования в системах управления технологическим процессом (например, на производственных объектах месторождений). Поточные компьютеры используются для выполнения расчета потока, управления системой, оптимизации системы, создания хронологических архивов данных и/или взаимодействия с сетью SCADA. Контроль и управление технологическими процессами с помощью поточных компьютеров становится возможным благодаря интерфейсу между поточными компьютерами и периферийными устройствами (например, клапанами, позиционерами клапанов, переключателями, датчиками, передатчиками и тому подобными), сконфигурированными для выполнения функций управления, например для открытия и закрытия клапанов и измерения параметров технологических процессов. Такие периферийные устройства взаимодействуют с поточными компьютерами с помощью любых аналоговых, цифровых или комбинаций аналоговых/цифровых шин через любые подходящие средства связи (например, кабельные соединения или беспроводные каналы связи) и протоколы (например, Fieldbus, Profibus, HART, etc.).
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0003] Раскрываются поточные компьютеры, оснащенные беспроводным интерфейсом передачи данных и связанные с ними способы. В одном примере способ включает получение запроса, который отправляется на беспроводное устройство в сети беспроводных устройств, получаемый приложением периферийного устройства запрос выполняется на процессоре внутри поточного компьютера и передается беспроводному устройству через модуль коммуникационного интерфейса, модуль коммуникационного интерфейса функционально подключен к процессору через системную плату, расположенную на внутри корпуса поточного компьютера, системная плата обеспечивает взаимодействие с помощью протокола высокоскоростной шины данных.
[0004] В другом примере устройство содержит модуль коммуникационного интерфейса для взаимодействия с сетью одного или более беспроводных устройств с помощью беспроводного коммуникационного протокола, локальный процессор для выполнения приложения периферийного устройства, приложение периферийного устройства для взаимодействия с устройствами в сети через модуль коммуникационного интерфейса и системную плату для функционального подключения к приложению периферийного устройства и модулю коммуникационного интерфейса с помощью протокола высокоскоростной шины данных.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0005] Фиг. 1 иллюстрирует известную систему, позволяющую взаимодействовать поточному компьютеру с сетью периферийных устройств через шлюз WirelessHART™.
[0006] Фиг. 2 иллюстрирует пример системы, содержащей пример поточного компьютера, имеющего модуль беспроводного коммуникационного интерфейса для взаимодействия с сетью периферийных устройств, показанных на Фиг. 1.
[0007] Фиг. 3 иллюстрирует пример реализации примера системы, показанной на Фиг. 2.
[0008] Фиг. 4 представляет собой блок-схему, отображающую пример процесса, выполняемого для реализации примера поточного компьютера, показанного на Фиг. 3, и/или, в общем смысле, примера системы, показанной на Фиг. 2.
[0009] Фиг. 5 представляет собой схематическое изображение примера процессорной платформы, используемой и/или программируемой для выполнения примера процесса, показанного на Фиг. 4, для реализации примера поточного компьютера, показанного на Фиг. 3, и/или, в общем смысле, примера системы, показанной на Фиг. 2.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0010] Поточные компьютеры обычно ассоциируются с периферийными устройствами (RTUs), которые позволяют поточному компьютеру взаимодействовать с другими компонентами внутри системы контроля и сбора данных (SCADA), распределенной системы управления (DSC), или любой другой системы управления. Используемый в данном описании термин "система SCADA", "распределенная система управления DSC" и "система управления" означает любой тип системы управления и, таким образом, используются повсеместно в данном описании, как взаимозаменяемые. В некоторых известных технологических системах, периферийные устройства RTU вытесняют поточные компьютеры за счет возможности программирования в них функций, выполняемых поточными компьютерами. Тем не менее, используемый в данном документе термин "поточный компьютер" означает любую соответствующую конфигурацию поточного компьютера и/или периферийного устройства RTU, включая отдельный поточный компьютер, оснащенный компонентами коммуникационного взаимодействия, отдельное периферийное устройство RTU с функциональностью поточного компьютера, или комбинацию поточного компьютера и периферийного устройства RTU (интегрированных или используемых в качестве отдельных периферийных устройств).
[0011] Внедрение поточных компьютеров в систему управления включает возможность поточного компьютера взаимодействовать с одним или более периферийных устройств. Стоимость и/или сложность создания, конфигурирования, работы и/или поддержания взаимодействия между периферийными устройствами и поточным компьютером основывается на типах периферийных устройств, соответствующих типах передаваемых сигналов (например, аналоговых, цифровых или комбинации аналоговых/цифровых сигналов), желаемой коммуникационной среде передачи данных (например, проводной, беспроводной и тому подобных) и реализации управляющих протоколов (например, Fieldbus, Profibus, HART и тому подобных). С учетом всех этих различных режимов взаимодействия периферийных устройств с поточным компьютером итоговая интеграция и конфигурация различных компонентов может потребовать увеличения времени, стоимости и сложности технологической системы, снижая при этом ее надежность.
[0012] Например, Фиг. 1 иллюстрирует известную систему 100, позволяющую взаимодействовать поточному компьютеру 102 с сетью 104 периферийных устройств 106 через шлюз WirelessHART™ 108. Периферийные устройства 106 представляют собой беспроводные устройства, взаимодействующие через шлюз 108 по протоколу WirelessHART™. Протокол WirelessHART™ широко применяется во многих системах управления и системы, построенные на основе протокола WirelessHART™, обеспечивают возможность взаимодействия через беспроводную сеть. В большинстве случаев, протокол WirelessHART™ является улучшенным протоколом, обеспечивающим построение сети точка-точка между узлом (например, шлюзом 108) и одним или более передатчиков (например, периферийных устройств 106), покрываемых токовой петлей цифровых сигналов. Данный протокол также демонстрирует улучшенные технические характеристики, например, в области сбора данных, управления технологическими процессами и/или диагностики. Более того, протокол WirelessHART™ поддерживает построение сетей (например, сети 106) в виде ячеистой структуры, позволяющей объединить отдельные устройства (например, периферийные устройства 106) для взаимодействия друг с другом. Ячеистая сеть повышает стабильность всей системы за счет изменения маршрутизации трафика в том случае, если определенный сетевой путь поврежден.
[0013] В известной системе 100, показанной на Фиг. 1, поточный компьютер 102 содержит процессор 110, с помощью которого реализуется функциональность поточного компьютера 102. Процессор 110 связан с радиосвязью дальнего действия 112 для передачи данных и другой информации в систему SCADA (не показана) через антенну 114. Кроме того, процессор 110 связан с одним или более портами ввода/вывода 120 для взаимодействия с другими компонентами внутри системы SCADA. Тем не менее, в известной системе 100, показанной на Фиг. 1, поточный компьютер 102 не совместим с протоколом WirelessHART™, таким образом, ограничивая прямое соединение с портами ввода/вывода 120. Для преодоления этих ограничений многие хорошо известные системы, например известная система 100, реализуют промежуточный компонент, например шлюз 108, работающий в качестве главного устройства или узла для периферийных устройств 106 для передачи запросов и получения ответов на запросы от периферийных устройств 106 по протоколу WirelessHART™. В свою очередь, поточный компьютер 102 является главным устройством для шлюза 108, который передает запросы на периферийные устройства 106 и получает ответы на запросы через шлюз 108. Для взаимодействия поточного компьютера 102 и шлюза 108, известная система 100 реализована с применением канала связи RS485 или кабельного соединения 122 в качестве физической среды передачи данных для реализации любого подходящего коммуникационного протокола между шлюзом 108 и поточным компьютером 102 (например, протокола Modbus, Ethernet и тому подобных).
[0014] Таким образом, тогда как беспроводные периферийные устройства 106 могут быть подключены к поточному компьютеру 102 этим способом, в известной системе 100 возникает определенное количество проблем, требующих значительных затрат времени и издержек для их решения. Например, так как шлюз 108 и поточный компьютер 102 используют разные коммуникационные протоколы, канал связи RS485 122 должен быть отдельно сконфигурирован на шлюзе 108 и на поточном компьютере 102 с использованием различных инструментов конфигурирования. Более того, промежуточный шлюз 108 повышает сложность известной системы 100, так как образуется иерархия из двух главных устройств (поточный компьютер 102 является главным по отношению к шлюзу 108, а шлюз 108 является главным по отношению к периферийным устройствам 106), в отличие от одного главного устройства, взаимодействующего со всеми подчиненными устройствами. Но при этом не только увеличивается сложность за счет увеличения времени и, таким образом, стоимости системы 100, но также снижается надежность системы 100.
[0015] Другим фактором увеличения затрат в известной системе 100 является физическое разделение шлюза 108 и поточного компьютера 102. Как показано на Фиг. 1, шлюз 108 расположен в отдельном корпусе 124 и поточный компьютер 102 также имеет отдельный корпус 126. Как правило, корпуса 124, 126 соответствуют стандартам безопасности, применимым к определенным условиям окружающей среды, в которых находятся корпуса 124, 126. Например, если известная система 100 интегрирована в производственный объект нефтяной и газовой промышленности, корпуса 124, 126 должны иметь заключение согласно стандарта NEMA 4 Национальной ассоциации электротехнической промышленности (NEMA). В известной системе 100, показанной на Фиг. 1, два корпуса 124, 126 должны соответствовать этим требованиям, так как представляют собой два отдельных компонента (например, поточный компьютер 102 и шлюз 108), отделенных друг от друга на определенном расстоянии. Более того, содержащийся в системе 100 отдельный шлюз 108 также требует отдельного оборудования для обеспечения электропитания шлюза 108. Как показано на Фиг. 1, поточный компьютер 102 получает питание от первого источника питания 128. Тогда как источник питания 128 может быть любым подходящим источником питания, как правило, при реализации известной системы 100 на предприятиях нефтяной и газовой промышленности используется энергосистема с использованием солнечной энергии. Первый источник питания 128 питает не только процессор 110 поточного компьютера 102, но и обеспечивает питанием порты ввода/вывода 120 и установленные в нем интерфейсные модули. Тем не менее, в известной системе 100, шлюз 108 должен получать свое собственное питание от второго источника питания 130, который также может представлять собой энергосистему с использованием солнечной энергии. В результате, необходимость в оборудовании для обеспечения дополнительного питания, а также увеличение потребляемой мощности также приводит к дополнительным затратам при реализации известной системы 100.
[0016] Фиг. 2 иллюстрирует пример системы 200, содержащей пример поточного компьютера 202, имеющего модуль беспроводного коммуникационного интерфейса (WPI) 204 для взаимодействия с сетью 206 периферийных устройств 208, показанных на Фиг. 1. В некоторых примерах беспроводной коммуникационный протокол, связанный с модулем WPI, может представлять собой протокол WirelessHART™, таким образом, сеть 206 периферийных устройств 208 соответствует сети 104 периферийных устройств 106, показанной на Фиг. 1. Приводимый в качестве примера поточный компьютер 202 содержит собственный или локальный процессор 210, содержащий ядро функциональности поточного компьютера 202. Собственный процессор 210 может представлять собой любой тип процессорного блока, например, ядро процессора, процессор и/или микроконтроллер. Собственный процессор 210 связан с радиосвязью дальнего действия 212 для взаимодействия с системой SCADA через антенну 214. Собственный процессор 210 приводимого в качестве примера поточного компьютера 202 также связан с одним или более портами ввода/вывода 216, один из которых подключен к модулю WPI 204.
[0017] Как показано на Фиг. 2, и собственный процессор 210 и модуль WPI заключены в один корпус 218, таким образом, снижая затраты, связанные с необходимостью удовлетворять стандартам безопасности по сравнению с системой 100, показанной на Фиг. 1 (которая требует наличия двух отдельных корпусов 124, 126). В дополнение к общему корпусу 218, собственный процессор 210 и модуль WPI 204 питаются от общего источника питания 220, который в некоторых примерах может представлять собой энергосистему с использованием солнечной энергии или любой другой источник электропитания. В результате, стоимость оборудования и потребления энергии также снижается по сравнению с известной системой 100, показанной на Фиг. 1.
[0018] Согласно приводимому примеру поточного компьютера 202, сконфигурированного как описано в данном документе, поточный компьютер 202 может взаимодействовать с сетью 206 периферийных устройств 208 через сеть радиопередатчиков и/или приемников 222. Используемый в данном документе термин "ретранслятор" означает любой беспроводной передатчик или беспроводной приемник, как по отдельности, так и в комбинации друг с другом. Как показано на Фиг. 2, сетевой ретранслятор 222 может быть соединен с поточным компьютером 202 через модуль WPI 204 посредством канала связи RS485 224, используемого в качестве физической среды передачи данных для реализации любого подходящего коммуникационного протокола (например, HART). В отличие от известной системы 100, показанной на Фиг. 2, сетевой ретранслятор 222 и модуль WPI 204 сконфигурированы для реализации одинаковых беспроводных протоколов. По этой причине, необходим только один инструмент настройки и только один этап настройки. Как будет описано боле подробно применительно к Фиг. 3, другие настройки коммуникационных протоколов выполняются внутри поточного компьютера 202. В результате, пример реализации системы 200 является более простым, чем известная система 102, показанная на Фиг. 1, за счет меньшего количества компонентов, меньшей потребности в получении разрешительных документов по безопасности, меньшего энергопотребления, более простой конфигурации и использования только одного главного устройства для прямого взаимодействия с периферийными устройствами 208.
[0019] Как и в случае со стандартами безопасности для корпуса 218 поточного компьютера 202, сетевой ретранслятор 222 также должен соответствовать определенным стандартам безопасности. Например, сетевой ретранслятор 222 может быть радиотрансивером, совместимым со стандартом NFPA 70 класс 1, раздел 1, который можно эксплуатировать в условиях повышенной опасности. Дополнительно или в качестве альтернативы, в некоторых примерах сетевой ретранслятор 222 также может содержаться внутри поточного компьютера 202, таким образом, сетевой ретранслятор 222 будет находиться внутри корпуса 218, аналогично радиосвязи дальнего действия 212, чтобы дополнительно снизить количество разрешительных документов по безопасности при реализации системы 200. Дополнительно, в некоторых примерах сетевой ретранслятор 222 интегрирован непосредственно в модуль WPI 204, таким образом, дополнительно снижая общую занимаемую площадь поточным компьютером 202, и, соответственно, размер корпуса 218, соответствующего требованиям по безопасности. Вариант размещения сетевого ретранслятора 222 внутри корпуса 218 или снаружи корпуса 218 зависит от характерного применения системы 200.
[0020] Фиг. 3 иллюстрирует пример способа реализации приводимого в качестве примера поточного компьютера 202, показанного на Фиг. 2. Как описывалось выше, применительно к Фиг. 2, пример поточного компьютера 202, показанный на Фиг. 3 содержит пример собственного процессора 210 и модуля WPI 204. Собственный процессор 210 выполняет закодированные инструкции, связанные, помимо всего прочего, с интерфейсом SCADA 302, локальными приложениями 304, одним или более внешним интерфейсом 306, интерфейсом оператора 307 и приложением 308 периферийного устройства (RTU). Приложение периферийного устройства RTU 308 может содержать множество компонентов, включая драйвер системной платы 310, основное приложение 312, базу данных 314 и интерфейс 316 периферийных устройств RTU. Модуль WPI 204 содержит модуль процессора 318, который может представлять собой любой тип процессорного блока (например, ядро процессора, процессор и/или микроконтроллер) для выполнения закодированных инструкций, связанных, помимо всего прочего, с драйвером системной платы 320, модулем приложений 322, модулем интерфейса 324, сервером 326 сети (например, HART), менеджером сети 328, драйвером последовательного интерфейса ретранслятора 330.
[0021] Чтобы оператор мог взаимодействовать с примером собственного процессора 210 поточного компьютера 202 и/или модулем процессора 318, пример поточного компьютера 202 содержит любой тип дисплея 332. В некоторых вариантах в качестве примера дисплея 332 может выступать локальный дисплей, встроенный в поточный компьютер 202, как показано на Фиг. 3. В других примерах дисплей 332 может представлять собой внешний дисплей 334, соединений с поточным компьютером 202 через внешний интерфейс 306 для предоставления возможности ввода и/или вывода данных из поточного компьютера 202 на дисплей. Примеры дисплеев 332 содержат, помимо прочего, компьютерные мониторы, компьютерные экраны, телевизоры, мобильные устройства (например, смартфоны, телефоны Blackberry™ и/или iPhone™), и так далее, способные отображать интерфейс пользователя (например, интерфейс оператора 307) и/или приложения, реализуемые с помощью собственного процессора 210 и/или модуля процессора 318.
[0022] Дополнительно или в качестве альтернативы, операторы могут взаимодействовать с поточным компьютером 202 удаленно, с помощью других компонентов в системе SCADA, путем передачи данных к поточному компьютеру 202 или от него, через радиосвязь дальнего действия 212. Соответственно, собственный процессор 210 содержит интерфейс 302 системы SCADA, для обеспечения такого взаимодействия в соответствии со способами, известными в данном уровне техники.
[0023] Пример локального приложения 304, выполняемого собственным процессором 210 поточного компьютера 202, показанного на Фиг. 3, содержит обычное приложение поточного компьютера, обеспечивающее ядро функциональности поточного компьютера. Например, локальное приложение 304 может контролировать данные, поступающие от различных устройств в соответствующую систему (например, от периферийных устройств 208), выполнять вычисления на основании полученных данных, оптимизировать производительность системы, обрабатывать данные с помощью алгоритмов управления, подготавливать данные для последующей передачи другим компонентам в системе SCADA и/или создавать архивы данных системы, контролируемой поточным компьютером 202.
[0024] Пример поточного компьютера 202, показанный на Фиг. 3 способен выполнять поставленные задачи по отношению к периферийным устройствам 208 за счет взаимодействия с модулем WPI 204, через приложение RTU 308, а модуль WPI 204, в свою очередь, взаимодействует с периферийным устройством 208 через сетевой ретранслятор 222. В некоторых примерах и собственный процессор 210 поточного компьютера 202, и модуль процессора 318 модуля WPI 204 связаны с системной платой 336 внутри поточного компьютера 202. Таким образом, оба процессора 210, 318 в примере поточного компьютера 202, показанного на Фиг. 3, содержат соответствующие драйвера 310, 320 системной платы для управления обоими окончаниями шины данных, реализованной в соответствии с любым подходящим высокоскоростным коммуникационным протоколом (например, протоколом универсальной последовательной шины (USB), Ethernet, последовательной передачи данных, синхронной последовательной передачи данных и тому подобными). В конфигурации системной платы 336 примера поточного компьютера 202, показанного на Фиг. 3, собственный процессор 210 является главным и может выдавать запросы к модулю WPI 204, который является подчиненным.
[0025] Во время работы запросы, направляемые в модуль WPI 204, могут исходить из любого узла системы SCADA или другого компонента системы через интерфейс SCADA 302, внешнего устройства 334, взаимодействующего с поточным компьютером 202 через внешний интерфейс 306 или через интерфейс оператора, отображаемый на локальном дисплее 332. Более того, запросы могут исходить от локального приложения 304, выполняемого собственным процессором 210. В некоторых примерах запросы, исходящие от любого из этих источников, могут обмениваться данными с запросами к приложению периферийного устройства RTU 308 через интерфейс RTU 316. В некоторых примерах внешние устройства 334 могут взаимодействовать напрямую с приложением периферийного устройства RTU 308 через интерфейс периферийного устройства RTU, в отличие от внешнего интерфейса 306. При получении интерфейсом RTU 316 запросов, интерфейс RTU 316 может передавать дальше эти запросы к базе данных 314, где эти запросы сохраняются. В некоторых примерах интерфейс RTU 316 содержит интерфейс конфигурации, взаимодействующий с базой данных 314, для предоставления любых необходимых инструментов настройки, обеспечивающих возможность настраивать параметры работы. Дополнительно, интерфейс RTU 316 обеспечивает извлечение данных связанных с сетью 206 в реальном режиме или сохраненных в архиве.
[0026] База данных 314 в проиллюстрированном примере связана с основным приложением 312. Пример основного приложения 312 способен сканировать базу данных 314 для поиска любых новых запросов, которые основное приложение 312 направляет к драйверу системной платы 310 и передаваемых в модуль WPI 204, являющийся подчиненным устройством при выполнении ответов на запросы. В примере поточного компьютера 202, показанного на Фиг. 3, основное приложение 312 содержит алгоритм периодического обновления, позволяющий приложению периферийного устройства RTU 308 опрашивать каждый из модулей ввода/вывода (например, модуль WPI 204), связанный с каждым из портов ввода/вывода 216 поточного компьютера 202, показанного на Фиг. 2. Таким образом, когда приложение RTU 308 опрашивает модуль WPI 204, основное приложение 312 отправляет любой новый запрос к модулю WPI 204, получает ответ от модуля WPI 204, проверяет запросы и затем сохраняет ответы на запросы в базе данных 314. Соответственно, в дополнение к любому определенному запросу, основное приложение 312 может использовать алгоритм периодического обновления для опроса каждого беспроводного устройства 208 в сети 206 для сбора обновлений первичных значений. В некоторых примерах этот процесс может повторяться примерно через одну секунду. В этом случае ответы на запросы получены и могут быть предоставлены оператору с помощью дисплея 332, внешним устройствам 334 и/или другим компонентам внутри системы SCADA. В некоторых примерах основное приложение 312 может взаимодействовать напрямую с другими приложениями, таким образом, запросы принимаются и/или ответы на запросы возвращаются без необходимости сохранения в базе данных 314. К примеру, система управления основными фондами (AMS), выполняемая с помощью внешнего устройства 334, способна отправлять запросы и собирать диагностическую информацию об устройствах и/или информацию о ресурсах из сети 206 напрямую, с помощью основного приложения 312, и обходиться без базы данных 314. Дополнительно или в качестве альтернативы, в некоторых примерах приложения могут напрямую обращаться к базе данных 314, минуя интерфейс RTU 316 приложения периферийного устройства RTU 308.
[0027] Дополнительно, для сохранения запросов и ответных данных, основанных на запросах, база данных 314 примера поточного компьютера, показанного на Фиг. 3, также может предоставлять структуру данных для каждого периферийного устройства 208 в сети 206, а также для всей системы, для подготовки списка действующих устройств и информации о функционирующих или не функционирующих устройствах (то есть установил ли модуль WPI 204 отдельное соединение для сбора данных от определенного периферийного устройства 208). Как пояснялось выше, эти структуры в примере базы данных 314 могут быть доступны для других приложений, также находящихся внутри поточного компьютера 202 (например, локальному приложению 304 или внешнему приложению по отношению к поточному компьютеру 202 (например, узлу системы SCADA)).
[0028] Как уже обсуждалось, модуль WPI 204 обеспечивает отправку и получение данных от собственного процессора 210 поточного компьютера 202 с помощью приложения RTU 308 через системную плату 336. В проиллюстрированном примере драйвер системной платы 320 модуля WPI 204 вначале получает любые запросы, направленные основным приложением 312, и предоставляет запросы в модуль приложений 322. Пример модуля приложений 322, показанный на Фиг. 3, может обрабатывать запросы для последующего использования за счет преобразования данных в запросах в соответствующий беспроводной коммуникационный протокол, реализуемый беспроводным периферийным устройством 208 (например, протокол Wireless HART™). Пример модуля приложений 322 также функционирует в качестве клиента сервера сети 326 за счет управления и предоставления канала передачи данных (например, запросов) к серверу сети 326. Сервер сети 326 обрабатывает адреса и команды, подготовленные модулем приложений 322, в соответствии с беспроводным коммуникационным протоколом сети 206 и передает данные адресов и данные команд в менеджер сети 328. Данные адресов, предоставленные модуле приложений 322 могут предназначаться серверу сети 326, сетевому ретранслятору 222 или любому периферийному устройству 208, которое подключено к сети 206. Вместе с доступными данными адресов и команд, менеджер сети 328 контролирует распределение интервалов времени при обмене данными в сети 206 и содержит алгоритм слияния сети для обеспечения доставки и извлечения данных от соответствующего источника. В частности, все данные передаются в сеть 206 через сетевой ретранслятор 222. Соответственно, модуль WPI 204 также содержит драйвер последовательного интерфейса ретранслятора 330 для управления физической средой передачи данных (например, каналом связи RS485 224), реализующего коммуникационный протокол, доставляющий сигналы к сетевому ретранслятору 222 и от него. Тем не менее, в некоторых примерах сетевой ретранслятор 222 может быть встроен в корпус 218 примера поточного компьютера 202. В таких случаях модуль WPI 204 может содержать разъем коаксиального кабеля для подключения к сетевому ретранслятору 222. В еще одном примере сетевой ретранслятор 222 встроен в модуль WPI 204, таким образом, коаксиальный кабель соединяет модуль WPI 204 напрямую с антенной на корпусе 218, через которую данные передаются на периферийные устройства 208 (и принимаются от них) беспроводной сети 206.
[0029] Как только данные, полученные на основании запроса, извлечены из периферийного устройства 208, данные, соответствующие запросу, возвращаются в модуль приложений 322 в обратном направлении по маршруту, через который запрос был отправлен (например, из сетевого ретранслятора 222 и через драйвер последовательного интерфейса ретранслятора 330, менеджер сети 328 и сервер сети 326). Модуль приложений 322 выполняет проверку наличия ошибок и/или выполняет диагностику системы на основании данных, извлеченных в ответ на запрос. Модуль приложений 322 также подготавливает данные, соответствующие запросу, за счет преобразования данных, соответствующих запросу, в высокоскоростной коммуникационный протокол, реализованный в системной плате 336, и последующего предоставления подготовленных данных, соответствующих запросу, драйверу системной платы 320 для их передачи приложению RTU 308, как описано выше.
[0030] В дополнение к выполнению действий в соответствии с запросом, полученным через приложение RTU 308, модуль приложений 322 также выполняет различные внутренние задачи, связанные с беспроводными устройствами 208, даже без получения определенных запросов. За счет выполнения этих внутренних задач модуль приложений 322 может собирать информацию, которая может потребоваться в будущих запросах, выполняемых приложением RTU 308. В этом случае общая эффективность примера поточного компьютера 202 повышается за счет снижения времени, необходимого для выполнения ответа на запрос. Например, модуль приложений 322 может затребовать список периферийных устройств 208 от сервера сети 326, который впоследствии может быть сохранен в виде списка устройств 208 в базе данных 314, описанной выше. В некоторых примерах модуль приложений 322 также может собирать информацию, связанную с периферийными устройствами 208, для ее сохранения в базе данных 314, включая определенные пользователем теги, серийные номера, значения технологических параметров (например, единиц измерения) и так далее. В некоторых примерах модуль приложений 322 может запускать выполнение переконфигурации сети на основании определенных пользователем характеристик сети. Дополнительно, модуль приложений 302 может отслеживать доступность периферийных устройств 208 для увеличения скорости реакции системы на запрос. Более того, когда модуль приложений 322 идентифицирует "потерянное" периферийное устройство 208 (например, при сбое соединения), модуль приложений 322 может автоматически подготовить ответ на запрос в виде отказа, который будет предоставлен в случае, если полученный запрос соответствует "потерянному" периферийному устройству 208.
[0031] Дополнительно или в качестве альтернативы, модуль приложений 322 может обслуживать запросы, принятые непосредственно модулем WPI 204 через пример модуля интерфейса 324, показанный на Фиг. 3. В некоторых примерах модуль интерфейса 324 может быть связан с портом универсальной последовательной шины (USB) и управлять этим портом в модуле WPI 204. В этом случае пример модуля интерфейса 324 обеспечивает выделенный высокоскоростной интерфейс, позволяющий программам и/или приложениям выполнять обновление содержимого модуля WPI 204 и/или извлекать журналы диагностики. Модуль интерфейса 324 также выполняет запросы на получение данных от периферийных устройств 208 сети 206 аналогичным способом, как описано выше для отправляемых запросов через приложение RTU 308.
[0032] Несмотря на то что пример варианта реализации поточного компьютера 202, показанного на Фиг. 2, проиллюстрирован на Фиг. 3, структуры данных, элементы, процессы и устройства, проиллюстрированные на Фиг. 3, могут быть скомбинированы, разделены, повторно упорядочены, пропущены, исключены и/или реализованы любым другим подходящим способом. Кроме того, пример интерфейса SCADA 302, пример локального приложения 304, один или более примеров внешнего интерфейса 306, пример интерфейса оператора 307, пример приложения RTU 308, пример драйвера системной платы 310, пример основного приложения 312, пример базы данных 314, пример интерфейса RTU 316, пример драйвера системной платы 320, пример модуля приложений 322, пример модуля интерфейса 324, пример сервера сети 326, пример менеджера сети 328, пример драйвера последовательного интерфейса ретранслятора 330 и/или, в более общем смысле, пример поточного компьютера 202, показанного на Фиг. 3, могут быть реализованы в виде аппаратных средств, программного обеспечения, встроенного программного обеспечения и/или их комбинации. Более того, пример поточного компьютера 202 может содержать дополнительные элементы, процессы и/или устройства вместо или в дополнение к элементам, процессам и устройствам, проиллюстрированным на Фиг. 3, может содержать более одной или все проиллюстрированные структуры данных, элементы, процессы и/или устройства.
[0033] Фиг. 4 представляет собой блок-схему, отображающую пример процесса, выполняемого для реализации примера поточного компьютера 202, показанного на Фиг. 3, и/или, в общем смысле, примера системы 200, показанной на Фиг. 2. В частности, пример процесса, показанного на Фиг. 4 может быть представлен в виде машиночитаемых инструкций, содержащих программу, выполняемую с помощью процессора, например, процессора 512, показанного в примере процессорной платформы 500, которая будет обсуждаться ниже, при описании Фиг. 5. Программа реализована в виде программного обеспечения, сохраненного на машиночитаемом постоянном носителе, например CD-ROM, дискете, жестком диске, универсальном цифровом диске (DVD), диске формата BluRay, или памяти, связанной с процессором 512. В качестве альтернативы, некоторые или все примеры процессов, показанных на Фиг. 4, могут быть реализованы с использованием комбинации специализированных интегральных микросхем (ASIC(s)), программируемых логических устройств (PLD(s)), программируемых логических интегральных схем (FPLD(s)), дискретной логики, аппаратных средств, встроенного программного обеспечения и так далее. При этом один или более пример операции, показанной на Фиг. 4, может быть реализован вручную или в виде комбинации любой вышеописанной технологии, например любой комбинации встроенного программного обеспечения, программного обеспечения, дискретной логики и/или аппаратных средств. Кроме того, несмотря на то что пример процесса описан изначально в отношении примера поточного компьютера 202, показанного на Фиг. 3, в качестве альтернативы, могут использоваться любые другие способы реализации примера процесса, показанного на Фиг. 4. Например, порядок выполнения блоков может быть изменен и/или некоторые из изображенных боков могут быть изменены, исключены или скомбинированы между собой. Дополнительно, некоторые или все примеры процессов, показанных на Фиг. 4, могут быть выполнены последовательно и/или параллельно, к примеру, за счет отдельных потоков обработки, отдельных процессоров, устройств, дискретной логики, контуров и так далее.
[0034] Как обсуждалось выше, примеры процессов, показанных на Фиг. 4, могут быть реализованы с использованием закодированных инструкций (например, машиночитаемых инструкций), сохраненных на постоянном машиночитаемом носителе, например на жестком диске, флеш-памяти, ПЗУ, компакт-диске (CD), универсальном цифровом диске (DVD), кэше памяти, ОЗУ и/или другом носителе, информация в котором сохраняется в течение определенного времени (например, в течение продолжительного времени, постоянно, в течение короткого периода, во временном буфере и/или для кэширования информации). Используемый в данном документе термин "постоянный машиночитаемый носитель" четко определяет любой тип машиночитаемого носителя, исключающего распространение сигналов. Дополнительно или в качестве альтернативы, пример процессов, показанных на Фиг. 4, может быть реализован с использованием закодированных инструкций (например, машиночитаемых инструкций), сохраненных в постоянном машиночитаемом носителе, например жестком диске, флэш-памяти, ПЗУ, компакт диске, универсальном цифровом диске, в кэше памяти, ОЗУ, и/или других носителях информации, информация в которых сохраняется в течение определенного времени (например, в течение продолжительного времени, постоянно, в течение короткого периода, во временном буфере и/или для кэширования информации). Используемый в данном документе термин "постоянный машиночитаемый носитель" четко определяет любой тип машиночитаемого носителя, исключающего распространение сигналов. Используемая в данном документе фраза "по меньшей мере" означает переходной термин во вступлении к формуле изобретения, допускающий изменения в определенных случаях, так же как и термин "включает" допускает изменения. Таким образом, формула изобретения использует термин "по меньшей мере" в качестве переходного термина, который может содержать дополнительные элементы помимо четко изложенных в формуле изобретения.
[0035] Пример процессов, показанных на Фиг. 4, начинается в блоке 400, где приложение RTU (например, 308) поточного компьютера (например, 202) получает запрос, передаваемый беспроводному периферийному устройству (например, 208) в сети (например, 206). В некоторых примерах сеть (например, 206) сконфигурирована в соответствии с коммуникационным протоколом WirelessHART™. Тем не менее, пример процессов, показанных на Фиг. 4, может быть реализован в соответствии с любым подходящим беспроводным коммуникационным протоколом. Запросы могут соответствовать следующей информации: данным калибровки, данным диагностики, сбором данных, управлением, управление ресурсами или оптимизация технологических процессов устройств (например, 208), расположенных в соответствующей системе управления. Кроме того, запросы могут создаваться любыми локальными приложениями (например, 304), другими компонентами системы SCADA или любыми другими внешними устройствами (например, 334). Запросы принимаются приложением RTU (например, 308) и затем сохраняются в базе данных (например, 314) (блок 402).
[0036] Затем основное приложение (например, 312) по отношению к приложению RTU (например, 308), определяет к какому соответствующему устройству (например, 208) должен быть направлен запрос (блок 404). Для определения таких запросов, основное приложение (например, 312) сканирует базу данных (например, 314), которая устанавливает запуск основного приложения (например, 312) к которому относится отправляемый запрос. Дополнительно, основное приложение (например, 312) также содержит алгоритм периодического обновления для опроса каждого беспроводного устройства (например, 208) в сети (например, 206) через установленный промежуток времени. Соответственно, основное приложение (например, 312) также может формировать соответствующий запрос для выполнения алгоритма обновления. Когда все запросы, требующие отправки, идентифицированы, основное приложение (например, 312) отправляет запросы в модуль интерфейса беспроводного протокола (WPI) (например, 204) (блок 406). Запросы отправляются через системную плату (например, 336), функционально связанную как с модулем WPI (например, 204), так и с собственным процессором (например, 210) поточного компьютера (например, 202), выполняющим приложение RTU (например, 308).
[0037] Как только запросы переданы в модуль WPI (например, 204), модуль приложений (например, 332) преобразует запросы для совместимости с беспроводным коммуникационным протоколом, реализуемым периферийным устройством (например, 208) (блок 408). В некоторых примерах модуль WPI (например, 204) может получать запросы напрямую через модуль интерфейса (например, 324), минуя приложение RTU (например, 308), в соответствии с примером процессов, коротко изложенным выше. В таких примерах модуль WPI (например, 204) аналогично транслирует запросы в соответствии с беспроводным коммуникационным протоколом (например, 408). В частности, процесс конвертации содержит подготовку модулем приложений (например, 322) данных адресов и команд на основании специфики протокола. Затем конвертированные запросы передаются в соответствующее беспроводное периферийное устройство (например, 208) (блок 410). Передача запроса выполняется также, как и модуль приложений (например, 322) предоставляет данные адресов и команд конвертированных запросов к серверу сети (например, 326), что также реализовано в соответствии с беспроводным коммуникационным протоколом. Сервер сети (например, 326) обменивается информацией из запросов с менеджером сети (например, 328), который управляет взаимодействием различных беспроводных периферийных устройств (например, 208) в сети (например, 206) с помощью ретранслятора (например, 222) таким образом, чтобы каждый запрос был получен своим заданным беспроводным периферийным устройством (например, 208). Как только запросы переданы к периферийному устройству (например, 208), данные, соответствующие запросу, извлекаются с помощью обратного процесса (блок 412). Другими словами, беспроводные устройства (например, 208) обратно передают данные, соответствующие запросам, в модуль WPI (например, 204) через ретранслятор (например, 222). Менеджер сети (например, 328) управляет распределением интервала времени и взаимодействием устройств (например, 208). Данные, соответствующие запросу, предоставляются серверу сети (например, 326) и данные, соответствующие запросу, используются модулем приложений (например, 322). В некоторых примерах модуль приложений (например, 322) может извлекать данные из периферийных устройств (например, 208) до получения запроса от приложения RTU (например, 308), как описано выше, применительно к Фиг. 3. В таких примерах после того как запрос отправлен в модуль WPI (например, 204) в блоке 406, модуль приложения (например, 322) уже может иметь собранные данные, соответствующие запросу, связанные с одним или более запросами. Соответственно, модуль приложения (например, 322) уже готов к оправке данных, соответствующих запросу, обратно в приложение RTU (например, 308), как будет подробно описано ниже.
[0038] Получив данные, соответствующие запросу, модуль приложений (например, 322) определяет наличие ошибок в данных, соответствующих запросу, за счет проверки наличия ошибок в этих данных (блок 414). Если в модуле приложений (например, 322) будут обнаружены ошибки в данных, модель приложений (например, 322) определяет, необходимо ли сбросить соответствующий запрос (блок 416). Если в запросе будет содержаться ошибка, пример процесса возвращается в блок 410, для повторной передачи запроса. Если и второй запрос также будет неэффективен, модуль приложений (например, 322) готовит сообщение об ошибке, которое относится к данным, соответствующим запросу (блок 418). В этой точке в примере процесса, показанного на Фиг. 4, модуль приложения (например, 322) конвертирует данные, соответствующие запросу, (и любые соответствующие сообщения об ошибке) в формат, соответствующий высокоскоростному коммуникационному протоколу, реализованному системной платой (например, 336) (блок 420). Аналогично, когда модуль приложений определяет, что данные, соответствующие запросу, не содержат сообщений об ошибках (блок 416), процесс продвигается непосредственно в блок 420 для преобразования данных, соответствующих запросу, как описано выше.
[0039] Преобразованные надлежащим образом данные, соответствующие запросу, модуль приложений отправляет данные, соответствующие запросу, в приложение RTU (например, 308) поточного компьютера (например, 202) (блок 422). Данные, соответствующие запросу, передаются через системную плату (например, 336) с помощью драйвера системной платы (например, 310, 320) и принимаются основным приложением (например, 312), где эти данные проверяются. Затем основное приложение (например, 312) предоставляет данные, соответствующие запросу, в базу данных (например, 314) приложения RTU (например, 308) для сохранения (блок 424). Затем приложение RTU (например, 308) может предоставлять данные, соответствующие запросу, источникам соответствующих запросов, включая некоторые локальные приложения (например, 304), внешние устройства (например, 334) или другим компонентам системы SCADA (блок 426). В некоторых примерах приложение RTU (например, 308) может предоставлять данные, соответствующие запросу, любым другим приложениям или устройствам перед сохранением данных, соответствующих запросу, в базе данных (например, 314). Дополнительно, когда запрос создается с помощью модуля интерфейса (например, 324), модуль приложений (например, 322) может предоставлять данные, соответствующие запросу, в модуль интерфейса (например, 324) перед их отправкой в приложение RTU (например, 312). Затем пример процесса, показанный на Фиг. 4, определяет, продолжает ли поточный компьютер (например, 202) контролировать беспроводные устройства (например, 208) сети (например, 206) (блок 428). Если да, то процесс возвращается в блок 400 для получения новых запросов и повторения примера процесса. Если поточный компьютер (например, 202) не продолжает выполнение контроля над беспроводными периферийными устройствами (например, 208), выполнение процесса останавливается.
[0040] Фиг. 5 представляет собой схематическое изображение примера процессорной платформы 500, используемой и/или программируемой для выполнения примера процесса, показанного на Фиг. 4, для реализации примера поточного компьютера 202, показанного на Фиг. 3, и/или, в общем смысле, примера системы 200, показанной на Фиг. 2. Платформа 500 текущего примера содержит процессор 512. Например, процессор 512 может быть реализован с помощью одного или более микропроцессоров или контроллеров из любого необходимого семейства ил производителя.
[0041] Процессор 512 содержит локальную память 513 (например, кэш-память), а также память, связанную с основной памятью, включая энергозависимую память 514 и энергонезависимую память 516, с помощью шины 518. Энергозависимая память может быть реализована за счет применения синхронной динамической оперативной памяти (SDRAM), динамической оперативной памяти (DRAM), динамической оперативной памяти RAMBUS (RDRAM) и/или любых других типов устройств оперативной памяти. Энергонезависимая память 516 может быть реализована за счет применения флэш-памяти и/или любого другого типа подходящих устройств памяти. Управление доступом к основной памяти 514 и 516 осуществляется контроллером памяти.
[0042] Процессорная платформа 500 также содержит интерфейсную схему 520. Интерфейсная схема 520 может быть реализована за счет использования любого стандарта интерфейса, например интерфейса Ethernet, универсальной последовательной шины (USB) и/или интерфейса PCI Express. Один или более устройств ввода 522 подключено к интерфейсной схеме 520. Устройства ввода 522 позволяют пользователю вводить данные и команды в процессор 512. Устройства ввода могут быть реализованы, к примеру, в виде клавиатуры, мыши, сенсорного экрана, трекпада, шарового указателя, изопоинта и/или голосовых систем распознавания. Одно или более устройств вывода 524 также подключено к интерфейсной схеме 520. Устройства вывода 524 могут быть реализованы, к примеру, в виде дисплеев (например, жидкокристаллических дисплеев, дисплеев на электронно-лучевой трубке (CRT), принтеров и/или динамиков). Таким образом, интерфейсная схема 520 обычно содержит драйвер графической карты.
[0043] Интерфейсная схема 520 также содержит коммуникационное устройство, например модем или сетевую интерфейсную карту, способствующую обмену данными между внешними компьютерами с помощью сети 526 (например, Ethernet подключения, цифровой абонентской линии (DSL), телефонной линии, коаксиального кабеля, мобильной связи и тому подобного).
[0044] Процессорная платформа 500 также содержит одно или более устройств хранения данных 528 для хранения программ и данных. Примеры таких устройств хранения данных 528 включают: гибкие дискеты, жесткие диски, компакт-диски и универсальные цифровые диски (DVD).
[0045] Закодированные инструкции 532 для реализации примера процессов, показанного на Фиг. 4, могут быть сохранены на устройстве хранения данных 528, в энергозависимой памяти 514, энергонезависимой памяти 516 и/или на сменных носителях, например CD или DVD.
[0046] Несмотря на то что определенные примеры способа, аппаратов и изделий промышленного производства описаны в данном документе, объем покрытия данного патента не ограничен ими. Такие примеры не предполагают каких-либо ограничений для проиллюстрированных примеров. С другой стороны, этот патент покрывает все способы, аппараты и изделия промышленного производства как минимум в объеме прилагаемой формулы изобретения буквально и в соответствии с теорией эквивалентов.