исполнительный механизм для систем hvac и способ его функционирования
Классы МПК: | G05B19/05 программируемые логические контроллеры, например моделирование логических межсоединений сигналов в соответствии с многозвенными диаграммами или номограммами G06F9/00 Устройства для программного управления, например блоки управления |
Автор(ы): | ТИМАНН Дирк (CH), ГОРТ Урс (CH) |
Патентообладатель(и): | БЕЛИМО ХОЛДИНГ АГ (CH) |
Приоритеты: |
подача заявки:
2008-07-03 публикация патента:
10.07.2013 |
Данная группа изобретений относится к исполнительному механизму для системы отопления, вентиляции и кондиционирования воздуха (HVAC). Технический результат заключается в повышении точности управления. Для этого исполнительный механизм для системы отопления, вентиляции и кондиционирования воздуха (HVAC) содержит запомненное описание модели, определяющее управляющее приложение HVAC, и элементную библиотеку, включающую в себя множество запомненных модельных элементов и контроллерных модулей, имеющих команды для управления процессором исполнительного механизма. Контроллерные модули включают в себя модельные элементы и сконфигурированы управлять последовательным порядком их выполнения. Контроллерные модули, кроме того, сконфигурированы распространять любые внешние входные данные на их модельные элементы до выполнения первого модельного элемента и распространять любые выходные данные на внешние компоненты после выполнения последнего модельного элемента. Контроллерные модули инстанцируются в разных потоках выполнения, так что между инстанцированными контроллерными модулями выполняется асинхронный обмен данными и на компоненты управляющего приложения HVAC не накладываются ни какие-либо принудительные временные зависимости, ни связи, касающиеся изменения каких-либо величин. 3 н. и 12 з.п. ф-лы, 2 табл., 9 ил.
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-2.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-3.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-4.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-5.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-6.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-7.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-8.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-9.jpg)
![исполнительный механизм для систем hvac и способ его функционирования, патент № 2487388](/images/patents/483/2487388/2487388-10.jpg)
Формула изобретения
1. Исполнительный механизм (10) для систем (1) отопления, вентиляции и кондиционирования воздуха (HVAC), причем исполнительный механизм (10) содержит сетевой интерфейс (20) для подсоединения исполнительного механизма (1) к сети (2) связи, шинный интерфейс (30) для подсоединения исполнительного механизма (10) к шине (3) датчиков/исполнительных механизмов, хранилище (12) данных и процессор (11), подсоединенный к хранилищу (12) данных; при этом исполнительный механизм (10) дополнительно содержит:
загрузчик (102), сконфигурированный принимать через сеть (2) связи и запоминать в хранилище данных описание (15) модели, определяющее управляющее приложение HVAC;
элементную библиотеку (16), включающую в себя множество запомненных модельных элементов (4011, 4021), содержащих команды для управления процессором (11), и контроллерных модулей (401, 402, 403), сконфигурированных в каждом случае управлять последовательным порядком выполнения для ассоциированных модельных элементов (4011, 4021), на которые ссылается соответствующий контроллерный модуль (401, 402, 403), распространять внешние входные данные на ассоциированные с ним модельные элементы (4011, 4021) до начала выполнения модельного элемента, определенного первым в этом последовательном порядке, и распространять выходные данные из ассоциированных с ним модельных элементов (4011, 4021) вовне соответствующего контроллерного модуля (401, 402, 403) по завершении выполнения модельного элемента, определенного последним в упомянутом последовательном порядке; и интерпретатор (17) модели, сконфигурированный реализовывать на основе описания (15) модели управляющее приложение для его выполнения на процессоре (11) путем инстанцирования контроллерных модулей (D, E) и ассоциированных с ними модельных элементов (A, B, C), на которые имеются ссылки в описании (15) модели, назначения по меньшей мере одного инстанцированного модельного элемента устройству (4), подключенному к шине (3) датчиков/исполнительных механизмов, и инстанцирования контроллерных модулей (D, E) в каждом случае в виде отличного от других потока выполнения, так что между инстанцированными контроллерными модулями (D, E) осуществляется асинхронный обмен данными.
2. Исполнительный механизм (10) по п.1, в котором модельные элементы (4011, 4021) в каждом случае сконфигурированы считывать входные данные из одного или нескольких определенных буферов (i) входных данных, ассоциированных с соответствующим модельным элементом, и записывать выходные данные в один или несколько определенных буферов (o) выходных данных, ассоциированных с соответствующим модельным элементом; интерпретатор (17) модели дополнительно сконфигурирован связывать на основе информации связывания, включенной в описание (15) модели, выходные буферы инстанцированных модельных элементов (A, B, C) с входными буферами инстанцированных модельных элементов (A, B, C); и контроллерные модули (401, 402, 403) в каждом случае сконфигурированы распространять по завершении выполнения модельных элементов (4011, 4021), на которые ссылается соответствующий контроллерный модуль, значения данных из выходного буфера (о) модельного элемента на связанный с ним входной буфер (i) модельного элемента, на который ссылается соответствующий контроллерный модуль.
3. Исполнительный механизм (10) по п.1 или 2, в котором описание (15) модели включает в себя идентификаторы модельных элементов (4011, 4021) и значения параметров, применимые в каждом случае к соответствующему модельному элементу; интерпретатор (17) модели сконфигурирован инстанцировать в каждом случае модельный элемент из элементной библиотеки (16) на основе идентификатора и значений параметров; и контроллерные модули сконфигурированы выполняться в индивидуальных интервалах обработки, назначенных в каждом случае соответствующему контроллерному модулю.
4. Исполнительный механизм (10) по п.1 или 2, в котором описание (15) модели включает в себя данные графического интерфейса пользователя, ассоциированные с модельными элементами (4011, 4021), на которые имеются ссылки в описании (15) модели, причем данные графического интерфейса пользователя включают в себя по меньшей мере информацию о положении для позиционирования на дисплее графического представления (400) соответствующего модельного элемента.
5. Исполнительный механизм (10) по п.1 или 2, в котором по меньшей мере некоторые из запомненных модельных элементов сконфигурированы для работы в разных режимах, причем эти режимы можно выбирать посредством настройки во время выполнения состояния, ассоциированного с инстанцированием соответствующего модельного элемента.
6. Исполнительный механизм (10) по п.1 или 2, дополнительно содержащий серверный модуль (19), сконфигурированный передавать на Web-браузер графическое представление (400) управляющего приложения через сеть (2) связи на основе описания (15) модели, передавать на Web-браузер для отображения в графическом представлении (400) значения ввода/вывода, ассоциированные в каждом случае с модельным элементом, на который имеется ссылка в описании (15) модели, принимать от Web-браузера значения параметров, ассоциированные в каждом случае с модельным элементом, на который имеется ссылка в описании (15) модели, и запоминать в исполнительном механизме (10) значения параметров, выделенные для инстанцирования соответствующего модельного элемента (A, B, C).
7. Исполнительный механизм (10) по п.1 или 2, в котором запомненные модельные элементы (4011, 4021) включают в себя элементы, представляющие по меньшей мере одно из следующего: контроллер, PID-контроллер, двухпозиционный контроллер, ограничитель, таймер, модуль булевой логики, модуль управления временными периодами, модуль кривой нагрева, модуль фильтров, модуль вычисления плавающего среднего, триггерный модуль, модуль входного селектора, модуль постоянного значения, компаратор, модуль математической операции, модуль проверки состояния, модуль фиксации ошибок и модуль запуска ошибки.
8. Исполнительный механизм (10) по п.1 или 2, в котором сетевой интерфейс (20) сконфигурирован для осуществления связи согласно протоколу Интернет по сети связи Ethernet; шина (3) датчиков/исполнительных механизмов включает в себя одну из шин MP-Bus или BACnet-bus; описание (15) модели задано на языке разметки; запомненные модельные элементы (4011, 4021) определены в байтовом коде Java; процессор (11) является процессором Java, сконфигурированным для выполнения байтового кода Java; и загрузчик (102) дополнительно сконфигурирован для запоминания в исполнительном механизме (10) по меньшей мере одной версии описания (15) модели на языке HTML.
9. Способ функционирования исполнительного механизма (10) системы (1) отопления, вентиляции и кондиционирования воздуха (HVAC), содержащий этапы, на которых:
запоминают в исполнительном механизме (10) описание (15) модели, определяющее управляющее приложение HVAC;
запоминают в исполнительном механизме (10) элементную библиотеку (16), которая включает в себя множество модельных элементов (4011, 4021) и контроллерных модулей (401, 402, 403), содержащих команды для управления процессором (11) исполнительного механизма (10); реализуют в исполнительном механизме (10) на основе описания (15) модели управляющее приложение для его выполнения в процессоре (11) путем инстанцирования из элементной библиотеки (16) контроллерных модулей (D, E) и ассоциированных с ними модельных элементов (A, B, C), на которые имеются ссылки в описании (15) модели, назначения по меньшей мере одного инстанцированного модельного элемента (А, В, С) устройству (4), подключенному к шине (3) датчиков/исполнительных механизмов, и инстанцирования контроллерных модулей (D, E) в каждом случае в виде отличного от других потока выполнения; и выполняют управляющее приложение посредством соответствующих контроллерных модулей (D, E), управляющих в каждом случае последовательным порядком выполнения для ассоциированных модельных элементов (A, B, C), на которые ссылается соответствующий контроллерный модуль (D, E), распространяют внешние входные данные на ассоциированные с ним модельные элементы (A, B, C) до начала выполнения модельного элемента, определенного первым в этом последовательном порядке, и распространяют выходные данные из ассоциированных с ним модельных элементов (A, B, C) вовне соответствующего контроллерного модуля (D, E) по завершении выполнения модельного элемента, определенного последним в упомянутом последовательном порядке, так что между инстанцированными контроллерными модулями (D, E) выполняется асинхронный обмен данными.
10. Способ по п.9, в котором модельные элементы (A, B, C) считывают входные данные из одного или нескольких определенных буферов входных данных, ассоциированных с соответствующим модельным элементом (A, B, C), и записывают выходные данные в один или несколько определенных буферов выходных данных, ассоциированных с соответствующим модельным элементом (A, B, C); причем выходные буферы модельных элементов (A, B, C) связаны с входными буферами модельных элементов (A, B, C) на основе информации связывания, включенной в описание (15) модели; и по завершении выполнения модельных элементов (A, B, C), на которые ссылается соответствующий контроллерный модуль (D, E), значения данных распространяются в каждом случае из выходного буфера модельного элемента на связанный с ним входной буфер модельного элемента (A, B, C), на который ссылается соответствующий контроллерный модуль (D, E).
11. Способ по п.9 или 10, в котором модельные элементы (A, B, C) инстанцируются из элементной библиотеки (16) в каждом случае на основе идентификатора и соответствующих значений параметров, включенных в описание (15) модели; и инстанцированные контроллерные модули выполняются в индивидуальных интервалах обработки, выделенных в каждом случае соответствующему контроллерному модулю.
12. Способ по п.9 или 10, в котором описание (15) модели включает в себя данные графического интерфейса пользователя, ассоциированные с модельными элементами (4011, 4021), на которые имеются ссылки в описании (15) модели, и графическое представление (400) соответствующего модельного элемента позиционируется на дисплее на основе информации о положении, включенной в данные графического интерфейса пользователя.
13. Способ по п.9 или 10, в котором во время выполнения выбирается состояние, ассоциированное с инстанцированием модельного элемента (A, B, C), причем это состояние устанавливает соответствующий модельный элемент (A, B, C) для работы в одном из по меньшей мере двух разных режимов.
14. Способ по п.9 или 10, в котором на основе описания (15) модели графическое представление (400) управляющего приложения передается из исполнительного механизма (10) через сеть (2) связи на Web-браузер; значения входных/выходных данных, ассоциированные в каждом случае с модельным элементом (4011, 4021), на который имеется ссылка в описании (15) модели, передаются из исполнительного механизма (10) на Web-браузер для отображения в графическом представлении (400); значения параметров, ассоциированные в каждом случае с модельным элементом (4011, 4921), на который имеется ссылка в описании (15) модели, принимаются в исполнительном механизме (10) от Web-браузера; и значения параметров запоминаются в исполнительном механизме (10), выделенном для инстанцирования соответствующего модельного элемента (A, B, C).
15. Считываемый компьютером носитель, на котором сохранены средства компьютерного программного кода для управления процессором (11) исполнительного механизма (10) системы (1) отопления, вентиляции и кондиционирования воздуха (HVAC), так что исполнительный механизм (10):
принимает через сеть (2) связи описание (15) модели, определяющее управляющее приложение HVAC;
запоминает описание (15) модели в хранилище (12) данных исполнительного механизма (10);
реализует на основе описания (15) модели управляющее приложение для его выполнения в процессоре (11) исполнительного механизма (10) путем инстанцирования из элементной библиотеки (16) контроллерных модулей (D, E) и ассоциированных с ними модельных элементов (A, B, C), на которые имеются ссылки в описании (15) модели, назначения по меньшей мере одного инстанцированного модельного элемента (A, B, C) устройству (4), подключенному к шине (3) датчиков/исполнительных механизмов, и инстанцирования контроллерных модулей (D, E) в каждом случае в виде отличного от других потока выполнения; и
выполняет управляющее приложение путем управления последовательным порядком выполнения для ассоциированных модельных элементов (A, B, C), на которые ссылается соответствующий контроллерный модуль (D, E), распространения внешних данных, введенных для соответствующего контроллерного модуля (D, E), на ассоциированные с ним модельные элементы (A, B, C) до начала выполнения модельного элемента, определенного первым в этом последовательном порядке, и распространения данных, выводимых из ассоциированных модельных элементов (A, B, C), вовне соответствующего контроллерного модуля (D, E) по завершении выполнения модельного элемента, определенного последним в упомянутом последовательном порядке, так что между инстанцированными контроллерными модулями (D, E) выполняется асинхронный обмен данными.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Настоящее изобретение относится к исполнительному механизму для систем отопления, вентиляции и кондиционирования воздуха (HVAC), а также к способу функционирования этого исполнительного механизма. В частности, настоящее изобретение относится к исполнительному механизму HVAC, содержащему сетевой интерфейс для подсоединения исполнительного механизма к сети связи, шинный интерфейс для подсоединения исполнительного механизма к шине датчиков/исполнительных механизмов, хранилище данных и процессор, подсоединенный к хранилищу данных.
Предшествующий уровень техники
В прошлом системы HVAC разрабатывались и реализовывались в виде комбинированных и, как правило, патентованных управляющих систем. С развитием технологий на основе Интернет-системы HVAC все более адаптировались в направлении более открытого подхода. В частности, полевые устройства были обеспечены возможностями обработки данных и платформой виртуальной машины Java, что облегчило использование управляющих объектов в различных полевых устройствах от разных поставщиков. Кроме того, благодаря реализации на полевых устройствах Web-серверов появилась возможность доступа к данным в полевых устройствах посредством стандартного Web-браузера через сеть Протокола Интернет (IP).
В патенте US 7020532 раскрыто управляющее устройство для управляющей системы, содержащей полевое устройство, такое как датчик или исполнительный механизм, и процессор для выполнения алгоритма управления, например для контроля параметров окружающей среды в жилой, коммерческой или промышленной сфере. Алгоритм управления поддерживает управляющую систему на требуемом уровне и/или воздействует на нее таким образом, чтобы этот уровень зависел от одного или нескольких измеренных значений или заданных уставок. Кроме того, управляющее устройство включает в себя интерфейс с сетью IP (протокол Интернет) и Web-сервером, который обеспечивает конфигурацию, контроль и/или поддержку управляющей системы.
В патенте US 6510352 раскрыто управляющее устройство, например полевое устройство с интерфейсом датчиков/исполнительных механизмов, содержащее виртуальную машину Java для выполнения объектов Java, так чтобы управляющее устройство обеспечивало функцию управления, например управление технологическим процессом. Эти объекты управления технологическими процессами передают значения данных, такие как результаты измерений или уставки по принципу ссылки, то есть только один объект запоминает само значение данных, в то время как другие объекты поддерживают лишь ссылку (например, указатель или адрес) на соответствующее значение данных. Благодаря передаче значений данных на основе ссылки данные распространяются между управляющими объектами для удовлетворения требований обработки в реальном времени для приложений, управляющих технологическими процессами.
В патенте US 6832120 раскрыта объектно-ориентированная управляющая система, содержащая сетевой процессор и станции типа полевых контроллеров, реализующие виртуальные машины Java, которые могут быть запрограммированы с использованием объектов Java для конкретных управляющих функций. В качестве заданного в явном виде ключа для достижения целей распределенной объектно-ориентированной управляющей системы в патенте US 6832120 предлагается администратор синхронизации информации в реальном времени на каждой станции, который управляет потоком данных между объектами в системе.
В патенте US 6788980 раскрыто управляющее устройство для управляющей системы, которое может быть реализовано в виде исполнительного механизма, содержащего процессор, сконфигурированный для обеспечения работы операционной системы в реальном времени и виртуальной машины Java. Это управляющее устройство, кроме того, содержит Web-сервер, который обеспечивает конфигурацию и контроль управляющей системы, и среду разработки приложений, которая создает классы Java для их выполнения в управляющих устройствах. Синхронное функционирование операторских станций и аналогичных источников данных, не связанных с технологическими процессами, поддерживается с использованием простого сетевого протокола временной синхронизации (SNTP); в то время как контроллеры, для которых требуется высокая точность обработки, размещаются в подконтрольных сетях или оборудованы средствами прерывания, используемого для координации временных обновлений.
Для удовлетворения требованиям работы в реальном времени для типовых управляющих приложений известные управляющие системы сконфигурированы для синхронизированной передачи данных. В сущности, синхронизированная передача данных обеспечивает передачу, при которой значения данных, создаваемые и/или выдаваемые источником данных (поставщиком данных), передаются и/или поставляются источнику данных (потребителю данных) в заданном временном окне, чтобы удовлетворить конкретным требованиям передачи в реальном времени для соответствующих управляющих приложений. Таким образом, реализация синхронизированного потока данных предписывает временную и/или последовательностную зависимость для компонент, участвующих в работе распределенного управляющего приложения. В частности, для синхронизированного потока данных необходимо реализовать механизмы синхронизации, для которых требуются значительная вычислительная мощность и/или пропускная способность системы связи.
В патенте US 6167316 раскрыта распределенная объектно-ориентированная система автоматизации зданий с асинхронной связью между объектами, работающими на разных устройствах. Прикладные объекты, которых необходимо информировать об изменениях значений управляющих атрибутов другого объекта, используют соединительный объект для установления асинхронной связи между прикладными объектами. Соединительный объект управляет пересылкой информации между двумя прикладными объектами. Соединительный объект регистрируется в объекте-источнике для приема от объекта-источника сообщения, содержащего значение управляющего атрибута, когда изменение значения превышает заданную величину (обработка изменения величины). В свою очередь, соединительный объект передает полученное значение управляющего атрибута на объект-адресат. Таким образом, в патенте US 6167316 реализован механизм обмена сообщениями, который обеспечивает своевременную передачу значительных изменений значений данных между объектами, находящимися в разных устройствах.
Сущность изобретения
Целью данного изобретения является обеспечение исполнительного механизма для систем отопления, вентиляции и кондиционирования воздуха (HVAC), а также способа функционирования такого исполнительного механизма, где у исполнительного механизма и соответствующего способа отсутствует ряд недостатков, присущих известному уровню техники. В частности, целью настоящего изобретения является обеспечение исполнительного механизма для систем HVAC и способа его функционирования, в результате использования которых исполнительный механизм позволяет обеспечить управляющие приложения в системах HVAC, не предписывающие временные зависимости для компонент управляющего приложения, которые обмениваются данными.
Согласно настоящему изобретению эти цели достигаются, в частности, посредством признаков независимых пунктов формулы изобретения. Вдобавок из зависимых пунктов формулы изобретения и описания следуют дополнительные преимущественные варианты изобретения.
Исполнительный механизм для систем HVAC содержит сетевой интерфейс для подсоединения исполнительного механизма к сети связи, шинный интерфейс для подсоединения исполнительного механизма к шине датчиков/исполнительных механизмов, хранилище данных и процессор, подсоединенный к хранилищу данных.
Согласно настоящему изобретению, достижение вышеупомянутых целей частично обеспечиваются тем, что описание модели, определяющее управляющее приложение HVAC, запоминается в исполнительном механизме. Например, описание модели загружается через сеть связи в хранилище данных исполнительного механизма. Описание модели задается на языке разметки, например на языке XML (расширяемый язык разметки). Например, сеть связи включает в себя сеть связи Ethernet и сконфигурирована для осуществления связи в соответствии с протоколом Интернет. Кроме того, в исполнительном механизме хранится элементная библиотека, которая включает в себя множество различных модельных элементов и контроллерных модулей. Модельные элементы и контроллерные модули содержат команды для управления процессором исполнительного механизма. Например, запомненные модельные элементы и контроллерные модули определены в байтовом коде Java, а процессор является процессором Java, сконфигурированным для выполнения байтового кода Java (например, IMSYS IM 1101). Например, запомненные модельные элементы включают в себя элементы, представляющие контроллер, PID (пропорционально-интегрально-дифференциальный)-контроллер, двухпозиционный контроллер, ограничитель, таймер, модуль булевой логики, модуль управления временными периодами, модуль кривой нагрева, модуль фильтра, модуль вычисления плавающего среднего, триггерный модуль, модуль входного селектора, модуль постоянного значения, компаратор, модуль математической операции, модуль проверки состояния, модуль фиксации ошибок и/или модуль запуска ошибки. На основе описания модели в исполнительном механизме реализуется управляющее приложение для его выполнения в процессоре путем инстанцирования из контроллерных модулей элементной библиотеки и соответствующих модельных элементов, на которые имеются ссылки в описании модели, назначения по меньшей мере одного инстанцированного модельного элемента устройству, подключенному к шине датчиков/исполнительных механизмов, и инстанцирования контроллерных модулей в каждом случае в виде отличного от других потока выполнения. Например, шина датчиков/исполнительных механизмов включает в себя MP-шину (патентованная шина датчиков/исполнительных механизмов корпорации Bellimo Automation AG), шину BACnet, шину Profibus или другую полевую шину. Управляющее приложение выполняется соответствующими контроллерными модулями, каждый из которых управляет последовательным порядком выполнения для ассоциированных модельных элементов, на которые ссылается соответствующий контроллерный модуль, распространяет любые внешние входные данные (то есть входные данные, запомненные компонентами вне соответствующего контроллерного модуля в периферийных буферах входных данных соответствующего контроллерного модуля) на ассоциированные с ним модельные элементы до начала выполнения модельного элемента, определенного первым в последовательном порядке, и распространяет любые выходные данные из ассоциированных с ним модельных элементов вовне соответствующего контроллерного модуля после завершения выполнения модельного элемента, определенного последним в последовательном порядке, так что обеспечивается асинхронный обмен данными между инстанцированными контроллерными модулями.
Таким образом, контроллерный модуль дает возможность иерархически сгруппировать (вложить) множество различных модульных элементов (компонент) и определить входные/выходные буферы на периферийных границах контроллерного модуля, так чтобы к входным/выходным буферам внутренних модульных элементов можно было обращаться только через указанные периферийные входные/выходные буферы. Для контроллерного модуля предпочтительно выделить периодически выполняемый, индивидуальный интервал обновления/обработки. Контроллерный модуль сконфигурирован для управления, в своем интервале, последовательной обработкой его модельных элементов, в результате чего любые входные данные распространяются изначально (то есть перед обработкой модельных элементов) из периферийных входных буферов контроллерного модуля во входные буферы подсоединенных модельных элементов. Затем модельные элементы, индивидуально запущенные в соответствии с последовательным порядком, определенным контроллерным модулем, вычисляют выходные значения на основе своих текущих значений данных, считанных из их входных буферов. По завершении обработки модельного элемента контроллерный модуль распространяет значения выходных данных соответствующего модельного элемента на подсоединенные модельные элементы путем считывания в каждом случае значения данных, хранящегося в буфере выходных данных модульного элемента (источника), и записи его в буфер входных данных подсоединенных модульных элементов (приемников). Если буфер выходных данных модельного элемента подсоединен к периферийному буферу выходных данных его контроллерного модуля, то соответствующий контроллерный модуль также распространяет текущее значение данных из буфера выходных данных модельного элемента на соответствующий периферийный буфер выходных данных. Разные контроллерные модули функционируют в разных потоках выполнения с индивидуальными интервалами обработки различной длительности (то есть с разной периодичностью).
Благодаря наличию контроллерных модулей, сконфигурированных для распространения любых внешних входных данных на все соответствующие модельные элементы, перед обработкой первого модельного элемента в соответствующей последовательности обработки, и для распространения любых выходных данных из соответствующих модельных элементов на компоненты вне модельного контроллера, после завершения всех соответствующих модельных элементов в соответствующей последовательности обработки, и благодаря инстанцированию контроллерных модулей в виде параллельных потоков выполнения обеспечивается асинхронный обмен данными между различными контроллерными модулями, то есть между модельными элементами, ассоциированными с разными контроллерными модулями. Это дает возможность реализовать и выполнять управляющие приложения в системах HVAC без временных зависимостей, налагаемых на компоненты управляющего приложения, которые обмениваются данными, и связывания объектов приложения для обработки изменения величины (COV). Следовательно, нет какой-либо необходимости ни в механизмах синхронизации, ни в сообщениях, обеспечивающих сигнализацию между объектами. Таким образом, асинхронная пересылка данных между модельными элементами, ассоциированными с разными модельными контроллерами, позволяет сэкономить значительную вычислительную мощность, время обработки и пропускную способность при передаче данных, которые, в противном случае, потребовались бы для механизмов синхронизации и обмена сообщениями. Кроме того, асинхронная пересылка данных дает возможность построения и реализации управляющих приложений HVAC со слабо связанными компонентами и, следовательно, гибко и эффективно распределять управляющее приложение не только по нескольким логическим контроллерным модулям в одном процессорном устройстве, но также по нескольким процессорным устройствам, соединенным между собой сетью связи, например, путем размещения и выполнения разных контроллерных модулей на нескольких процессорных устройствах, таких как исполнительные механизмы или другие аппаратные устройства, содержащие процессор.
Предпочтительно, чтобы модельные элементы в каждом случае были сконфигурированы для считывания входных данных из одного или нескольких определенных буферов входных данных, ассоцированных с соответствующим модельным элементом, и для записи выходных данных в один или несколько определенных буферов выходных данных, ассоциированных с соответствующим модельным элементом. Кроме того, сконфигурирован интерпретатор модели для связывания, на основе информации связывания, включенной в описание модели, выходных буферов инстанцированных модельных элементов с входными буферами инстанцированных модельных элементов. Кроме того, контроллерные модули сконфигурированы для распространения, в каждом случае по окончании выполнения модельных элементов, на которые ссылается соответствующий контроллерный модуль, значений данных из выходного буфера модельного элемента на связанный с ним входной буфер модельного элемента, на который ссылается соответствующий контроллер. Таким образом, модельный элемент, обеспечивающий выходные данные, записывает (запоминает) свои выходные данные в выходном буфере. Благодаря взаимосвязи первого инстанцированного модельного элемента со вторым инстанцированным модельным элементом для пересылки выходных данных из первого модельного элемента во второй модельный элемент выходной буфер первого модельного элемента ассоциирован с входным буфером второго модельного элемента. По окончании обработки модельного элемента, то есть когда выходные данные модельного элемента помещаются в его буфер (буферы) выходных данных, соответствующий контроллерный модуль передает значения данных на связанные с ним буферы входных данных.
В одном варианте осуществления описание модели включает в себя идентификаторы модельных элементов и значения параметров, применяемые в каждом случае к соответствующему модельному элементу, причем интерпретатор модели сконфигурирован для инстанцирования в каждом случае модельного элемента из библиотеки на основе идентификатора и значений параметров.
В другом варианте осуществления исполнительный механизм содержит серверный модуль, сконфигурированный для передачи на Web-браузер через сеть связи графического представления управляющего приложения на основе описания модели. Описание модели предпочтительно включает в себя данные графического интерфейса пользователя, ассоциированные с модельными элементами, на которые имеются ссылки в описании модели. Например, данные графического интерфейса пользователя включают в себя информацию о положении и/или информацию о размерах для позиционирования и/или задания размеров графического представления соответствующих модельных элементов на дисплее. Кроме того, в одном варианте осуществления загрузчик сконфигурирован для запоминания в исполнительном механизме по меньшей мере одной HTML (язык гипертекстовой разметки)-версии описания модели. Серверный модуль, кроме того, сконфигурирован для передачи на Web-браузер для отображения в графическом представлении входных/выходных значений, ассоциированных в каждом случае с модельным элементом, на который имеется ссылка в описании модели, для получения от Web-браузера значений параметров, ассоциированных в каждом случае с модельным элементом, на который имеется ссылка в описании модели, и для запоминания в исполнительном механизме значений параметров, выделенных для инстанцирования соответствующего модельного элемента. Таким образом, текущие значения модельных элементов, например значения, представляющие результат измерения от датчика или настройку исполнительного механизма, могут быть представлены пользователю через Web-браузер в графическом представлении управляющего приложения. Кроме того, пользователю предоставляется возможность ввода настроек параметров, например настроек для PID-контроллера, через браузер в графическом представлении управляющего приложения для автоматического обновления соответствующих настроек параметров в управляющем приложении, которое выполняется в исполнительном механизме.
В еще одном варианте осуществления по меньшей мере некоторые из запомненных модельных элементов сконфигурированы таким образом, что они могут работать в различных режимах, причем эти режимы могут выбираться посредством настройки во время реализации состояния, ассоциированного с инстанцированием соответствующего модельного элемента. Предпочтительно, чтобы эти модельные элементы, кроме того, были сконфигурированы для указания, в виде выходного значения, текущего состояния или режима соответствующего модельного элемента.
Предпочтительно, чтобы сетевой интерфейс был сконфигурирован для обмена данными с другими соответствующими исполнительными механизмами через сеть связи. Благодаря подсоединению к сети связи более одного исполнительного механизма, реализуется распределенное управляющее приложение для системы HVAC. Распределенное управляющее приложение работает децентрализовано по сети исполнительных механизмов, причем каждый исполнительный механизм в сети связи действует как часть распределенного управляющего приложения, причем эта часть определяется соответствующим описанием модели (субмодели) и осуществляет управление в качестве ведущего устройства другими устройствами (подчиненными устройствами), которые подключены к его шине датчиков/исполнительных механизмов.
Вдобавок к исполнительному механизму и соответствующему способу его функционирования настоящее изобретение также относится к компьютерному программному продукту, содержащему средства компьютерного программного кода для управления одним или несколькими процессорами исполнительного механизма для систем HVAC, причем компьютерный программный продукт предпочтительно содержит считываемый компьютером носитель, содержащий эти средства компьютерного программного кода.
Краткое описание чертежей
Далее настоящее изобретение объясняется более подробно на примерах со ссылками на чертежи, на которых:
Фиг.1 - блок-схема, иллюстрирующая систему HVAC, содержащую исполнительные механизмы, которые подсоединены к шине датчиков/исполнительных механизмов, а также к сети связи;
фиг.2 - блок-схема, схематически иллюстрирующая исполнительный механизм, содержащий различные функциональные модули;
фиг.3 - блок-схема, схематически иллюстрирующая возможную последовательность разработки и создания описания модели для полного или частичного управляющего приложения HVAC;
фиг.4 - графическое представление примера описания модели, включающего контроллерный модуль модели, модуль шинного контроллера и модуль сетевого контроллера с соответствующими модельными элементами;
фиг.5 - временная диаграмма, иллюстрирующая пример последовательной обработки модельных элементов, ассоциированных с контроллерным модулем;
фиг.6 - временная диаграмма, иллюстрирующая пример параллельной обработки контроллерных модулей, которые выполняются в отдельных потоках;
фиг.7 - временная диаграмма, иллюстрирующая пример последовательности шагов функционирования исполнительного механизма для выполнения управляющего приложения HVAC;
фиг.8 - блок-схема, схематически иллюстрирующая возможную последовательность обработки состояний ошибки, появляющихся в управляющем приложении HVAC;
фиг.9 - блок-схема, иллюстрирующая пример элемента с вложенностью (составного элемента).
Подробное описание изобретения
На фиг.1 ссылочная позиция 1 относится к системе отопления, вентиляции и кондиционирования воздуха (HVAC), содержащей один или несколько исполнительных механизмов 10, 10', соединенных через сеть 2 связи, такую как сеть протокола IP, по сети Ethernet. Предпочтительно, чтобы исполнительные механизмы 10, 10' включали в себя двигатель и были сконфигурированы для приведения в действие клапанов и/или заслонок для труб, подающих жидкости, например, для управления потоком воды или воздуха в системе 1 HVAC путем изменения настроек заслонок или клапанов соответственно. В зависимости от варианта осуществления изобретения сеть 2 связи подсоединена к Всемирной паутине (WWW) и доступна для удаленных компьютеров 5, например стационарных персональных компьютеров 51 (PC), через фиксированные сети электросвязи, и/или для мобильных компьютеров, таких как компьютеры 52 типа «лэптоп» или «ноутбук», персональные цифровые помощники (PDA) или мобильные радиотелефоны 53, через сети мобильной радиосвязи, такие как сети GSM (Глобальная система мобильной связи), сети UMTS (Универсальная система мобильной телефонной связи) и/или беспроводные локальные сети (WLAN).
Как показано на фиг.1, каждый из исполнительных механизмов 10, 10' содержит процессор 11, 11' и хранилище 12, 12' данных, подсоединенное к процессору 11, 11'. Предпочтительно, процессор 11, 11' представляет собой процессор Java, сконфигурированный для непосредственного выполнения байтового кода Java, например процессор Java IMSYS IM 1101 компании Imsys Technologies AB.
Каждый исполнительный механизм 10, 10' подсоединен к шине 3 датчиков/исполнительных механизмов, например шине MP-Bus компании Belimo Automation AG, шине BACnet или Profibus. Исполнительные механизмы 10, 10' сконфигурированы в качестве ведущих устройств для управления (подчиненными) устройствами 4, подключенными к шине 3 датчиков/исполнительных механизмов, например датчиками 41, 41', исполнительными механизмами 42, 42' или другими полевыми устройствами 43, 43'.
Как показано на фиг.2, исполнительный механизм 10 содержит сетевой интерфейс 20 для подсоединения исполнительного механизма 10 к сети 2 связи и шинный интерфейс 30 для подсоединения исполнительного механизма 10 к шине 3 датчиков/исполнительных механизмов. Кроме того, исполнительный механизм 10 содержит различные функциональные модули, включающие в себя загрузчик 101 программного обеспечения, загрузчик 102 модели, интерпретатор 17 модели, модуль 103 параметризации, модуль 104 контроля и регистрации, модуль 105 предупредительной сигнализации и обработки ошибок и модуль 19 Web-сервера.
Загрузчик 101 программного обеспечения сконфигурирован для загрузки встроенного программного обеспечения (firmware) через сеть 2 связи и инсталляции этого встроенного программного обеспечения в исполнительном механизме 10. Кроме того, загрузчик 101 программного обеспечения сконфигурирован для загрузки и запоминания различных модельных элементов в элементной библиотеке 16 хранилища 12 данных. Каждый модельный элемент представляет собой функциональный блок, содержащий команды, например байтовый код Java, для управления процессором 11. Как правило, модельный элемент включает в себя один или несколько буферов входных данных (некоторые модельные элементы, например элемент постоянного значения, могут быть реализованы без буфера входных данных), функциональную компоненту, возможные (входные) параметры, ассоциированные с функциональной компонентой, и один или несколько буферов выходных данных (некоторые модельные элементы, например модуль запуска ошибки, могут быть реализованы без буфера выходных данных). Модельные элементы сконфигурированы для считывания текущих значений входных данных, запомненных в их соответствующем входном буфере (буферах), для вычисления на основе значения (значений) входных данных одного или нескольких значений выходных данных с использованием функциональной компоненты и ассоциированных с ней параметров и для записи значения (значений) выходных данных в буферы (буферы) выходных данных. Модельные элементы могут быть разработаны и обеспечены в виде общедоступных модулей с открытым исходным кодом.
Модельные элементы разбиты на группы управляющих элементов, элементов ввода/вывода и элементов общего назначения. Например, модельные элементы в группе управляющих элементов включают в себя различные контроллеры, например PID-контроллер или двухпозиционный контроллер, ограничитель для создания и ограничения значения выходных данных определенным диапазоном значений входных данных, таймер, модуль булевой логики, например функция логического И, ИЛИ и/или НЕ, модуль управления временными периодами, например, для установки временного периода, такого как время суток (день/ночь, до полудня/после полудня), периода отпуска или времени года (зима, весна, лето, осень), модуль кривой нагрева, модуль фильтров, модуль вычисления плавающего среднего, триггерный модуль, модуль входного селектора для выбора значения выходных данных на основе определенного критерия исходя из различных входных данных, модуль постоянного значения, компаратор для сравнения значений входных данных, модуль математической операции для выполнения математических операций, таких как сложение, вычитание, умножение, деление, накопление, вычисление среднего или определение минимального или максимального значения, и/или модуль проверки состояния для проверки текущего состояния вложенных модельных элементов. Например, модельные элементы в группе элементов ввода/вывода включают в себя элементы, представляющие устройства 4 на шине 3 датчиков/исполнительных механизмов, например датчики, исполнительные механизмы и соединяющие элементы для подсоединения более одного датчика или исполнительного механизма к шине 3 датчиков/исполнительных механизмов, или исполнительные механизмы 10, 10', подсоединенные к сети 2 связи. Например, модельные элементы в группе элементов общего назначения включают в себя модуль фиксации ошибок и/или модуль запуска ошибки для соединения управляющего приложения HVAC с модулем 105 предупредительной сигнализации и обработки ошибок.
Элементная библиотека 16, кроме того, содержит модельные элементы с вложенностью (составные элементы) и контроллерные модули, в частности модельные контроллерные модули, шинные контроллерные модули и сетевые контроллерные модули. Контроллерные модули и составные элементы сконфигурированы включать в себя различные выбранные модельные элементы, которые соединены (связаны) между собой. В Таблице 1 показана иерархическая взаимосвязь контроллерных модулей, модельных элементов с вложенностью (составных элементов) и модельных элементов. На фиг.9 показан пример элемента 90 с вложенностью (составного элемента), содержащего два соединенных между собой внутренних вложенных элемента 901, 902. Каждый из внутренних вложенных элементов 901, 902 содержит несколько соединенных между собой модельных элементов. Как показано на фиг.9, внутренние элементы связаны только с другими внутренними элементами на одном и том же иерархическом уровне и/или с буферами входных/выходных данных охватывающего элемента более высокого уровня вложенности. В зависимости от конкретного приложения контроллерные модули включают в себя модельные элементы и/или модельные элементы с вложенностью (составные элементы); причем модельный элемент с вложенностью (составной элемент) включает в себя модельные элементы и/или модельные элементы с вложенностью. Как правило, модельный контроллерный модуль 401 ассоциирован с соединенными между собой (связанными) управляющими элементами, в то время как шинный контроллерный модуль 402 и сетевой контроллерный модуль 403 ассоциированы с элементами ввода/вывода. Шинный контроллерный модуль 402 и сетевой контроллерный модуль 403 инкапсулируют все взаимодействия с нижележащими шиной 3 датчиков/исполнительных механизмов и сетью 2 связи соответственно. В частности, шинный контроллерный модуль 402 и сетевой контроллерный модуль 403 инкапсулируют извлечение данных датчиков из задания настроечных значений исполнительных механизмов на устройствах, подключенных к шине 3 датчиков/исполнительных механизмов и сети 2 связи соответственно.
Таблица 1 | |
Контроллерный модуль | |
Модельный элемент | Модельный элемент с вложенностью (составной элемент) |
Модельный элемент | Модельный элемент с вложенностью (составной элемент) |
Модельный элемент |
Контроллерные модули и составные элементы сконфигурированы для управления последовательным порядком выполнения ассоциированных с ними модельных элементов и/или модельных элементов с вложенностью и для управления распространением данных между связанными модельными элементами и/или модельными элементами с вложенностью. Последовательность обработки определяется порядком, в котором скомпонованы (связаны) модельные элементы, типами модельных элементов и/или установленными приоритетами. Составной элемент (модельный элемент с вложенностью) обрабатывается с учетом последовательного порядка и уровней вложенности его элементов, все внутренние элементы обрабатываются, и значения выходных данных распространяются по соответствующим соединениям. Например, на фиг.8 для обработки (обновления) модельного элемента 90 с вложенностью сначала обрабатываются внутренние модельные элементы модельного элемента 901 с вложенностью, затем выход вложенного модельного элемента 901 передается на вложенный модельный элемент 902, а затем обрабатываются внутренние модельные элементы вложенного модельного элемента 902. Также у пользователя имеется возможность задать порядок обновления для элементов с вложенностью. В частности, контроллерные модули сконфигурированы для распространения, при пуске, текущих значений входных данных из их периферийных буферов входных данных на соответствующие связанные с ними буферы входных данных их ассоциированных модельных элементов. Кроме того, контроллерные модули сконфигурированы осуществлять последующий запуск выполнения их модельных элементов на основе заданной последовательности обработки, а после завершения выполнения модельного элемента (или составного элемента) - распространять выходные данные из буфера (буферов) выходных данных завершенного модельного элемента на буферы данных, связанные с выходным буфером (буферами) данных завершенного модельного элемента. Благодаря этому выходные данные распространяются контрольными модулями на связанные буферы входных данных других модельных элементов, включенных в контроллерный модуль, а также на периферийные буферы выходных данных, связанные с данным контроллерным модулем.
На фиг.5 показан пример последовательной обработки модельных элементов А, В и С, ассоциированных с контроллерным модулем или составным элементом (например, с контроллерным модулем D по фиг.6). В данном примере модельный элемент 8 выполняется на этапе S51. На этапах S52 и S52' модельный элемент В распространяет свои выходные данные на буферы входных данных модельных элементов C и А соответственно. На этапе S53 следующий модельный элемент, подлежащий выполнению (в данной примерной последовательности это модельный элемент С), считывает текущее значение данных в своем входном буфере и выполняет свою функцию на основе этого значения. На этапе S54 модельный элемент С распространяет свои выходные данные на буферы входных данных модельного элемента А (буферы выходных данных модельных элементов В и С связаны с разными буферами входных данных модельного элемента А). На этапе S55 модельный элемент А начинает выполняться с использованием текущего значения входных данных, записанного в его буфере входных данных модельным элементом С.
Контроллерные модули, кроме того, сконфигурированы для распространения, после завершения выполнения всех ассоциированных с ними модельных элементов, значений данных всех их периферийных буферов выходных данных на соответствующие связанные с ними периферийные буферы входных данных других контроллерных модулей. Контроллерные модули сконфигурированы для работы в качестве независимых процессов обработки без какой-либо заранее определенной взаимной синхронизации с другими контроллерными модулями. Каждый контроллерный модуль имеет назначенный ему индивидуальный интервал обработки; однако нет заранее запланированного момента времени для обработки. Скорее, контроллерные модули сконфигурированы для работы независимо друг от друга; то есть каждый контроллерный модуль сконфигурирован для функционирования в качестве отличного от других потока. Следовательно, реализуется асинхронный обмен данными между связанными компонентами системы. В частности, обеспечивается асинхронная пересылка данных между управляющими элементами, ассоциированными с модельным контроллерным модулем, и элементами ввода/вывода, ассоциированными с шинным контроллерным модулем или сетевым контроллерным модулем.
На фиг.6 показан пример параллельной обработки для контроллерных модулей D и Е, а также асинхронная пересылка данных между контроллерными модулями D и Е. На этапах S61 и S62 контроллерные модули C и D работают параллельно в виде независимых потоков. После завершения этапа S61 контроллерным модулем D выходные данные распространяются на этапе S63 из периферийных буферов выходных данных контроллерного модуля D на соответствующие связанные периферийные буферы входных данных контроллерного модуля Е. Однако, поскольку контроллерный модуль Е в начале этапа S62 уже передал входные данные из своих периферийных буферов входных данных на его соответствующие модельные элементы, текущие входные данные, обеспеченные модельным контроллером D на этапе S63, не будут учитываться, пока не наступит следующий интервал обработки для контроллерного модуля Е на этапе S66. Только после этого в начале этапа S66, на этапе S66', контроллерный модуль Е выполнит считывание данных из буферов входных данных в качестве текущих входных данных. Соответственно контроллерный модуль D не будет учитывать выходные данные, распространенные на этапе S65, по завершении этапа S62 из периферийных буферов выходных данных контроллерного модуля Е на соответствующие связанные периферийные буферы входных данных контроллерного модуля D, поскольку контроллерный модуль D уже распространил внутренним образом входные данные из своих периферийных буферов входных данных на свои соответствующие модельные элементы в начале этапа S64. Только потом в начале этапа S68, на этапе S68' контроллерный модуль D выполнит считывание данных из своих буферов входных данных в качестве текущих входных данных. Соответственно выходные данные, распространяемые на этапах S67 и S69, не будут распространяться контроллерным модулем Е во время выполнения этапа S66 или контроллерным модулем D во время выполнения этапа S68 соответственно. Специалистам в данной области техники очевидно, что возможны альтернативные стратегии распространения, позволяющие распространять входные данные на модельные элементы, выполнение которых еще не началось в текущем интервале обработки контроллерного модуля.
Шинный контроллерный модуль, кроме того, сконфигурирован для задания соответствия ассоциированных элементов ввода/вывода устройствам 4 на шине 3 датчиков/исполнительных механизмов, а также для управления и обработки в отношении шинного интерфейса 30 и передачи данных через шину 3 датчиков/исполнительных механизмов.
Сетевой контроллерный модуль, кроме того, сконфигурирован для задания соответствия ассоциированных элементов ввода/вывода, например, элемента исполнительного механизма устройствам, подсоединенным к сети 2 связи, например исполнительному механизму 10', а также для управления и обработкой в отношении сетевого интерфейса 20 и передачи данных через сеть 2 связи.
Загрузчик 102 модели сконфигурирован для загрузки описания 15 модели через сеть 2 связи и установки ее в исполнительном механизме 10. Описание 15 модели определяет на языке разметки, например XML, управляющее приложение HVAC или часть управляющего приложения HVAC для управления системой 1 HVAC.
В Таблице 2 показан пример описания модели на языке XML, относящегося к управляющему приложению с кривой нагрева, показанному на фиг.4. Управляющее приложение с кривой нагрева включает в себя элемент 401а управления таймером, элемент 402а датчика наружной температуры, управляющий элемент 401b с кривой нагрева, элемент 401с контроллера PID, элемент 402b датчика температуры потока и элемент 402с исполнительного механизма клапана.
На фиг.4 показано графическое представление 400 примера описания 105 модели. Как показано на фиг.4, описание модели содержит один или несколько модельных контроллерных модулей 401, шинный контроллерный модуль 402 и необязательный сетевой контроллерный модуль 403. Эти контроллерные модули ассоциированы с (то есть включают в себя) различными соединенными между собой модельными элементами 4011, 4021. Как правило, модельный контроллерный модуль 401 включает в себя управляющие элементы, в то время как шинный контроллерный модуль 402 и сетевой контроллерный модуль 403 включают в себя элементы ввода/вывода. В зависимости от конкретного приложения, описание 15 модели и/или контроллерные модули также могут ссылаться на модельные элементы с вложенностью, содержащие более одного связанного, то есть имеющего связи с другими, модельного элемента.
Описание 15 модели не только имеет ссылки на различные модельные элементы 4011, 4021 (или модельные элементы с вложенностью), но также включает в себя значения параметров, ассоциированные с соответствующими модельными элементами, а также информацию связывания, задающую связи между модельными элементами. Связь между модельными элементами 4011 назначает буфер «о» выходных данных модельного элемента 401а, 401b, 401с, обеспечивающий выходные данные для входного буфера «i» модельного элемента 401b, 401с с использованием упомянутых данных. Например, на фиг.4 буфер «о» выходных данных модельного элемента 401а, например элемента управления таймером, привязан к буферу «i» входных данных модельного элемента 401b, например управляющего элемента кривой нагрева; а буфер «о» выходных данных модельного элемента 401b привязан к буферу «i» входных данных модельного элемента 401с, например элемента PID-контроллера.
Как можно видеть из фиг.4, модельные элементы, ассоциированные с различными контроллерными модулями, не имеют непосредственной связи, то есть буфер «о» выходных данных модельного элемента непосредственно не связан с буфером «i» входных данных модельного элемента, находящегося в другом контроллерном модуле. Связи между модельными элементами, находящимися в разных контроллерных модулях, определяются через периферийные буферы входных/выходных данных, ассоциированные с соответствующими контроллерными модулями. Например, на фиг.4 выходные буферы «о» модельных элементов 402а, например элемента датчика внешней температуры, и 402b, например элемента датчика температуры потока, связаны соответственно с входными буферами «i» модельного элемента 401b (кривая нагрева) или модельного элемента 401с (PID-контроллер) через соответствующий периферийный буфер выходных данных «оо» шинного контроллерного модуля 402 и соответствующий периферийный буфер «ii» входных данных модельного контроллерного модуля 401. Соответственно на фиг.4 буфер «о» выходных данных модельного элемента 401с связан с буфером «i» входных данных модельного элемента 402с, например исполнительного механизма клапана, через соответствующий периферийный буфер «оо» выходных данных модельного контроллерного модуля 401 и соответствующий периферийный буфер «ii» входных данных шинного контроллерного модуля 402.
На фиг.4 ссылочная позиция 4031 относится к модельному элементу сетевого контроллерного модуля 403, где модельный элемент 4031 представляет необязательный исполнительный механизм, который доступен исполнительному механизму 10 только через сеть 2 связи. Соответственно на фиг.4 показана необязательная связь от буфера «о» выходных данных модельного элемента 401с (PID-контроллер) к буферу «i» входных данных модельного элемента 4031 через соответствующий периферийный буфер «оо» выходных данных модельного контроллерного модуля 401 на соответствующий периферийный буфер «ii» входных данных сетевого контроллерного модуля 403.
Интерпретатор 17 модели сконфигурирован для реализации управляющего приложения HVAC, определенного описанием 15 модели, для выполнения в процессоре 11. Интерпретатор 17 модели инстанцирует модельные элементы исходя из элементной библиотеки 16 согласно загруженному описанию 15 модели с использованием параметров, определенных описанием 15 модели. Управляющее приложение HVAC содержит по меньшей мере один модельный контроллерный модуль, шинный контроллерный модуль и необязательный сетевой контроллерный модуль.
Таким образом, как показано на фиг.2, как только интерпретатор 17 модели реализовал управляющее приложение HVAC, исполнительный механизм 10 будет включать в себя один или несколько инстанцированных модельных контроллеров 18, инстанцированный шинный контроллер 300 и инстанцированный сетевой контроллер 200. Модельный контроллер 18 включает в себя различные инстанциации управляющих элементов (и/или модельных элементов с вложенностью), соединенные между собой для реализации (управляющей) части управляющего приложения HVAC, например, в соответствии с модельным контроллерным модулем 401, показанным на фиг.4. Шинный контроллер 300 содержит инстанциации элементов ввода/вывода устройств 4 на шине 3 датчиков/исполнительных механизмов, например, в соответствии с шинным контроллерным модулем 402, показанным на фиг.4. Сетевой контроллер 200 содержит (но не обязательно) инстанциации элементов ввода/вывода, представляющих устройства в сети 2 связи, например, в соответствии с сетевым контроллерным модулем 403, показанным на фиг.5.
Система 100 поддержки выполнения сконфигурирована для обработки и маршрутизации трафика данных между сетевым контроллером 200, шинным контроллером 300 и управляющим приложением HVAC, как это определено описанием 15 модели и реализовано интерпретатором 17 модели.
Модуль 103 параметризации сконфигурирован для получения от удаленного компьютера 5 через сеть 2 связи параметров для управляющего приложения HVAC, определенного описанием 15 модели, и для запоминания этих параметров в хранилище 12 данных. Модуль 103 параметризации, кроме того, сконфигурирован для передачи на удаленный компьютер 5 через сеть 2 связи текущих значений параметров управляющего приложения HVAC (например, для их отображения на удаленном компьютере 5).
Модуль 104 контроля и регистрации сконфигурирован для предоставления удаленным компьютерам 5 через сеть 2 связи текущих значений данных, обеспеченных и запомненных системой HVAC, а также модулем 105 предупредительной сигнализации и обработки ошибок.
Модуль 19 Web-сервера сконфигурирован для обеспечения Web-доступа, например, Web-браузерам, работающим на удаленных компьютерах 5, для доступа к загрузчику 102 модели, модулю 103 параметризации, модулю 104 контроля и регистрации, модулю 105 предупредительной сигнализации и обработки ошибок и, возможно, к загрузчику 101 программного обеспечения через сеть 2 связи.
Таким образом, используя стандартный Web-браузер, пользователь удаленного компьютера 5 имеет возможность не только контролировать графически представляемые текущие значения данных, относящиеся к показаниям датчиков, настройкам исполнительных механизмов и/или рабочим состояниям и состояниям ошибок управляющего приложения HVAC, выполняющегося на одном или нескольких исполнительных механизмах 10, 10', но также устанавливать в исходное состояние и динамически регулировать настройки параметров для управляющего приложения HVAC во время его выполнения.
Данный подход дает возможность гибко адаптировать систему HVAC к специфическим, а возможно и изменяющимся прикладным требованиям. Если для системы HVAC необходимо иметь более одной ветви шины 3 датчиков/исполнительных механизмов, то потребуется децентрализация управляющего приложения HVAC и его эффективное распределение по нескольким исполнительным механизмам 10, 10'. Если приложение HVAC разделено на несколько подсистем для распределенной работы по нескольким исполнительным механизмам 10, 10', то каждая подсистема определяется собственным описанием модели как части целой модели. Для обеспечения эффективности и надежности субмодели предпочтительно разрабатывать в виде независимых слабо связанных процессов. Если для системы HVAC требуется только одна шина 3 датчиков/исполнительных механизмов, то полное управляющее приложение HVAC будет централизованным и выполняться на одном исполнительном механизме, который будет действовать как единый системный контроллер и ведущее устройство для устройств 4, подключенных к шине 3 датчиков/исполнительных механизмов.
На фиг.3 представлены этапы и средства, привлекаемые при разработке и создании описания 15 модели. На первом этапе S21 пользователь компьютера 5, например системный инженер, использует средство 501 разработки модели для построения и создания описания 150 модели управляющего приложения HVAC или части управляющего приложения HVAC, как показано, например, на фиг.4. Средство 501 разработки модели содержит графический редактор, который дает возможность пользователю выбирать контроллерные модули, базовые модельные элементы, а также модельные элементы с вложенностью, определенные, например, на языке разметки, таком как XML, и запомненные в библиотеке 502 базовых элементов или библиотеке 503 элементов с вложенностью соответственно. С помощью графического редактора модельные элементы ассоциируются с выбранным контроллерным модулем, как показано на примерном графическом представлении 400. Выбранные контроллерные модули и модельные элементы соединяются друг с другом путем задания в графическом редакторе связей (информации связывания) между контроллерными модулями и модельными элементами. Пользователь присваивает выбранным контроллерным модулям индивидуальные интервалы обработки. Кроме того, вводятся конкретные параметры модулей, которые присваиваются модельным элементам.
На этапе S22 генератор модели из состава средства 501 разработки модели на основе данных, введенных пользователем, создает описание 150 модели, например, на языке разметки, таком как XML.
На этапе S23 с использованием средства 504 ввода в действие и разворачивания модели выполняется задание соответствия описания 150 модели (например, пользователем компьютера 5) реальной аппаратной конфигурации шины 3 датчиков/исполнительных механизмов, то есть исполнительному механизму 10 и конкретным устройствам 4, подключенным к шине. В зависимости от варианта осуществления изобретения, средство 504 ввода в действие и разворачивания модели поддерживает динамическое обнаружение и/или ручной ввод адресной информации. Описание 150 модели загружается из средства 504 ввода в действие и разворачивания модели в исполнительный механизм 10 через загрузчик 102 модели (как показано под ссылочной позицией 15 на фиг.2). Средство 504 ввода в действие и разворачивания модели, кроме того, сконфигурировано для загрузки встроенного программного обеспечения, модельных элементов для элементной библиотеки 16 и/или представления на языке HTML описания модели в исполнительный механизм 10 через загрузчик 101 программного обеспечения. Для каждого модельного элемента описание модели включает в себя данные GUI (графического интерфейса пользователя), указывающие размеры и положение соответствующего модельного элемента в графическом представлении 400 описания 15/150 модели управляющего приложения HVAC. Средство 504 ввода в действие и разворачивания модели, кроме того, сконфигурировано предоставлять пользователю компьютера 5 доступ к текущему описанию 15 модели, хранящемуся в исполнительном механизме 10, и, в частности, давать пользователю возможность изменять описание 15 модели во время выполнения приложения, например, путем добавления или удаления элементов модели из текущего описания 15 модели.
На этапе S24 в целях контроля, параметризации и/или обратного проектирования пользователь компьютера 5 использует Web-браузер, такой как Internet Explorer компании Microsoft Inc., Mozilla Firefox компании Mozilla Foundation или Safari компании Apple Inc., для загрузки и отображения графического представления 400 описания 15 модели, представляющего управляющее приложение HVAC, реализованное и выполняющееся на исполнительном механизме 10, включая текущие значения системных состояний, аварийных и предупреждающих уведомлений, настроек системных параметров и параметров устройств, и/или значений данных, таких как значения температуры или значения параметров качества воздуха.
На фиг.7 показана возможная последовательность этапов функционирования исполнительного механизма 10 после загрузки и конфигурации (ввода в действие и разворачивания модели) описания 15 модели, где на этапе S71 начинается выполнение управляющего приложения HVAC, определенного описанием 15 модели.
На этапе S72 интерпретатор 17 модели реализует и создает управляющее приложение HVAC путем инстанцирования модельных элементов из элементной библиотеки 16, идентифицированных описанием модели. Модельные элементы инстанцируются с использованием зависящих от элементов значений параметров, заданных соответственно в описаниях 15 модели и/или с помощью модуля 103 параметризации. В частности, контроллерные модули инстанцируются для работы в виде независимых процессов в отдельных потоках в процессоре 11. Для соединения модельных элементов согласно заданной информации связывания устанавливаются ассоциации между буферами входных данных и буферами выходных данных модельных элементов, а также периферийными буферами входных данных и буферами выходных данных контроллерных модулей.
На этапе S73 начинается выполнение управляющего приложения HVAC, и инициируется выполнение инстанцированных (модельных, шинных и, но не обязательно, сетевых) контроллеров, в виде параллельных процессов.
На этапе S731 для управления своими собственными соответствующими интервалами обработки Td, Te каждый из инстанцированных контроллеров устанавливает временную метку в начальный момент Ts одноразового выполнения (обновление модели), как показано на фиг.5, например, для одноразового вычисления, выполняемого контроллерным модулем D на этапе S61.
На этапе S732 каждый из инстанцированных контроллеров распространяет текущее значение данных своих периферийных буферов входных данных на буферы выходных данных соответствующих связанных с ними модельных элементов.
На этапе S733 каждый из инстанцированных контроллеров начинает последовательную обработку своих инстанцированных и подсоединенных модельных элементов, то есть каждый из контроллеров выполняет одноразовое вычисление для своей диаграммы состояний, в результате чего отдельными элементами выполняются переходы из состояния в состояние, как показано на фиг.5 для последовательной обработки, например, модельных элементов B, С и А.
На этапе S7331 модельный элемент, подлежащий обработке, считывает текущие данные, введенные из своего ассоциированного входного буфера (буферов), если это необходимо.
На этапе S7332 соответствующий модельный элемент вычисляет свое выходное значение (значения) на основе введенных данных, считанных из входного буфера (буферов), и записывает выход в соответствующий выходной буфер (буферы).
На этапе S7333 соответствующий контроллерный модуль распространяет данные из выходного буфера (буферов) элемента на входные буферы связанных модельных элементов и/или на его периферийные буферы выходных данных. Специалистам в данной области техники очевидно, что обратная связь в отношении значения данных на модельный элемент, уже обработанная в текущем интервале обработки, больше не будет обрабатываться для данного модельного элемента в текущем интервале обработки, а будет обрабатываться только на следующем интервале обработки.
На этапе S7334 контроллер проверяет, все ли модельные элементы обработаны. Если все еще имеются модельные элементы, подлежащие обработке, то обработка продолжается на этапе S7331 путем запуска обработки следующего модельного элемента; в противном случае обработка продолжается на этапе S734. Следующий модельный элемент, подлежащий обработке, определяют, например, на основе последовательности обработки, запомненной в соответствующем контроллере, например, в виде таблицы, идентифицирующей инстанцированные модельные элементы в последовательном порядке обработки.
На этапе S734 после того, как все модельные элементы соответствующего контроллера обработаны и соответствующие значения выходных данных переданы на периферийные выходные буферы контроллера, соответствующий контроллерный модуль D распространяет значения данных периферийных выходных буферов контроллера на связанные с ним периферийные входные буферы других контроллеров, как показано в качестве примера на фиг.6 для этапов S63, S65, S67 и S69.
На этапе S735 для управления интервалом обработки Td, Te соответствующий контроллер D устанавливает временную метку в момент Tc завершения одноразового выполнения (обновления модели), как показано на фиг.5 для примера одноразового вычисления, выполняемого контроллерным модулем D на этапе S61. Действительное время Tp обработки определяют на основе начальной временной метки Ts и временной метки Tc завершения.
На этапе S736 соответствующий контроллер D ждет, пока не начнется новый интервал Td обработки, или немедленно начинает новый интервал Td обработки, если действительное время Tp обработки превышает длительность интервала Td данного контроллера. Для нового интервала Td обработка продолжается на этапе S731 путем выполнения другого одноразового вычисления инстанцированных и подсоединенных модельных элементов контроллера.
Модуль 105 обработки ошибок обеспечивает централизованную обработку ошибок, причем его конфигурация обеспечивает обработку событий ошибок и управление сценариями ошибок для всех частей приложения HVAC. Модуль 105 обработки ошибок реализован в виде отдельного уровня, отделенного от управляющей логики. Сценарии ошибок описывают состояния (условия) ошибки и соответствующие реакции системы. Как схематически показано на фиг.8, сценарий 1050 ошибки определяется одним или несколькими фильтрами 1051 ошибок и соответствующими действиями 1052 при ошибках. Фильтр 1051 ошибок определяет критерии для событий 82, 83 ошибок, например уровень серьезности, для одного или нескольких ассоциированных действий 1052, подлежащих выполнению при ошибках. Ошибки могут возникать и обнаруживаться в различных компонентах системы. Например, если датчик температуры не предоставляет значение температуры, то это состояние ошибки может быть обнаружено системными компонентами более высокого уровня. В альтернативном варианте, указанный датчик может иметь встроенные функциональные возможности для опроса его рабочего состояния. Кроме того, системный инженер может задать конкретные состояния как состояния ошибки, например, когда значение, обеспечиваемое датчиком, не укладывается в заданный диапазон. Таким образом, механизмы запуска ошибок могут быть реализованы на разных иерархических уровнях в разных системных компонентах.
Например, на фиг.8 элемент 4020 ввода/вывода шинного контроллерного модуля 402 включает в себя модуль 4021 запуска ошибки, который сконфигурирован для обнаружения состояния ошибки в элементе 4020 ввода/вывода. После обнаружения состояния ошибки на этапе S82 модуль 4021 запуска ошибки создает событие 82 ошибки и указывает на него модулю 105 обработки ошибок. Соответственно элемент 4030 ввода/вывода сетевого контроллерного модуля 403 содержит модуль 4031 запуска ошибки, который сконфигурирован для обнаружения состояния ошибки в элементе 4030 ввода/вывода и запуска события 83 ошибки на этапе S83.
Модуль 105 обработки ошибок использует свои фильтры 1051 ошибок для определения какого-либо действия 1052, подлежащего выполнению в ответ на событие 82, 83 ошибки. Соответственно на этапе S81 модуль 105 обработки ошибок запускает одно или несколько действий 1052. Например, на этапе S84 соответствующая ошибка записывается в журнал 84 ошибок.
На этапе S85 модуль 105 обработки ошибок запускает модуль 4012 фиксации ошибок в модельном контроллерном модуле 401. Модуль 4012 фиксации ошибок сконфигурирован для установки своего буфера «о» выходных данных на определенное значение, например единицу, когда он запускается модулем 105 обработки ошибок. Таким путем сигнализация об ошибке предоставляется любому модельному (управляющему) элементу 4013, который имеет буфер «i» входных данных, связанный с модулем 4012 фиксации ошибок. Например, модельный элемент 4013 представляет собой многорежимный модельный элемент, сконфигурированный для работы в различных режимах в зависимости от состояния, выбранного для соответствующего модельного элемента во время его выполнения. Таким образом, благодаря связи между буфером «о» выходных данных модуля 4012 фиксации ошибок и буфером «i» входных данных многорежимного модельного элемента 4013, модельный элемент 4013 работает в нормальном режиме или в режиме ошибки в зависимости от состояний ошибок, обнаруженных в элементе 4020, 4030 ввода/вывода и управляемых модулем 105 обработки ошибок. В каждом состоянии многорежимного модельного элемента этот элемент представлен в виде отличной от других комбинации модельных элементов, модельных элементов с вложенностью и соединений между ними. В любой заданный момент времени для многорежимного модельного элемента может быть активировано только одно состояние, то есть один режим. Состояние или режим многорежимного модельного элемента выбирается посредством установки входного значения. Текущее состояние или режим многорежимного модельного элемента указывается посредством соответствующего выходного значения.
На этапе S86 модуль 105 обработки ошибок запускает модуль 86 передачи электронных сообщений. Модуль 86 передачи электронных сообщений сконфигурирован для создания и передачи через сеть 2 связи электронного сообщения на один или несколько заданных адресов. В зависимости от варианта осуществления изобретения этим электронным сообщением может быть сообщение электронной почты, SMS-сообщение (сообщение службы передачи коротких сообщений) или другое сообщение, содержащее данные.
Предложенный исполнительный механизм 10, 10' обеспечивает платформу для реализации децентрализованного и распределенного управления для систем HVAC. Приложение HVAC можно динамически изменять путем загрузки новых описаний модели. Компоненты системы HVAC, в частности исполнительные механизмы 10, 10' и контроллерные модули, слабо связаны между собой и обеспечены соединениями для асинхронной пересылки данных. Так как приложения HVAC работают в среде, изменения в которой протекают постепенно, быстродействие системы может быть относительно низким. Следовательно, нет реальной необходимости принудительного установления временных зависимостей для компонент управляющего приложения, которые обмениваются данными.
Следует отметить, что в данном описании компьютерный программный код, содержащий команды для управления процессором Java, ассоциирован с конкретными функциональными модулями, а последовательность этапов представлена в конкретном порядке; однако специалистам в данной области техники очевидно, что структура этого компьютерного программного кода может быть другой и что можно изменить порядок по меньшей мере некоторых этапов, не выходя за рамки объема настоящего изобретения.
Класс G05B19/05 программируемые логические контроллеры, например моделирование логических межсоединений сигналов в соответствии с многозвенными диаграммами или номограммами
Класс G06F9/00 Устройства для программного управления, например блоки управления