Исполнительный механизм для систем hvac и способ его функционирования

Иллюстрации

Показать все

Данная группа изобретений относится к исполнительному механизму для системы отопления, вентиляции и кондиционирования воздуха (HVAC). Технический результат заключается в повышении точности управления. Для этого исполнительный механизм для системы отопления, вентиляции и кондиционирования воздуха (HVAC) содержит запомненное описание модели, определяющее управляющее приложение HVAC, и элементную библиотеку, включающую в себя множество запомненных модельных элементов и контроллерных модулей, имеющих команды для управления процессором исполнительного механизма. Контроллерные модули включают в себя модельные элементы и сконфигурированы управлять последовательным порядком их выполнения. Контроллерные модули, кроме того, сконфигурированы распространять любые внешние входные данные на их модельные элементы до выполнения первого модельного элемента и распространять любые выходные данные на внешние компоненты после выполнения последнего модельного элемента. Контроллерные модули инстанцируются в разных потоках выполнения, так что между инстанцированными контроллерными модулями выполняется асинхронный обмен данными и на компоненты управляющего приложения HVAC не накладываются ни какие-либо принудительные временные зависимости, ни связи, касающиеся изменения каких-либо величин. 3 н. и 12 з.п. ф-лы, 2 табл., 9 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к исполнительному механизму для систем отопления, вентиляции и кондиционирования воздуха (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 уже передал входные д