Скорее всего, вы уже слышали о новом дополнении к стандарту BACnet web-сервисы, но подозреваю, что большинство все-таки не догадываются о том, что такое web-сервисы и для чего они предназначены. Если же кому-то интересно больше узнать об их использовании в BACnet, эта статья для вас.
С помощью web-сервисов легко интегрировать данные в реальном режиме времени в практически любое приложение.
Итак, представим, что имеется BACnet-система и заказчик хочет получать определенную информацию на выходе из системы в реальном режиме времени. Например… температуру воздуха в главном холле здания, отображаемую на сайте локальной сети. Существует много решений этой задачи, которые могут быть предложены производителями различного оборудования, и заказчику будет выставлен немалый счет за ее выполнение. И некоторые из этих решений будут наверняка неплохими, но все-таки хотелось бы иметь общий, стандартный подход для решения такой задачи. И такое решение уже есть. И оно очень простое благодаря BACnet web-сервисам.
Начнем с приложения .Net, а в последующих статьях расскажем, как это сделать с помощью web-браузера, используя HTML и Java-script.
|
Установка web-сервисов
Первое, что необходимо сделать – установить web-сервисы. Если, конечно, их у вас еще нет. Скачайте демонстрационную версию web-сервиса от компании SCADA Engine http://www.scadaengine.com/downloads.html
Прописывание путей (paths) web-сервиса
/[Network]/[Device]/[ObjectType]/[Instance]
Для прочтения значений существует сервис, получивший название getValue, использующий путь как вход и возвращающий значение по этому пути. Если хотите узнать значение переменной AV 0, это будет выглядеть так: getValue("", "/2/11/2/0")
Создание приложения Visual BasicТеперь у вас есть общее представление о BACnet web-сервисе и вы уже установили web-сервис на свой компьютер. Теперь начнем создавать собственное приложение. Будем считать, что аналоговое значение Analog Value 1 – это температура воздуха в главном холле здания, т.е. именно та информация, которую ваш клиент просит отображать на его web-сайте. Мы видим, что значение параметра равно 72 и его путь /2/11/2/0.
Добавление web-ссылки (reference)
Откройте Solution Explorer, кликните правой кнопкой мыши на References и далее Add Web Reference. Можно также выбрать меню Project и нажать Add Web Reference.
В окне добавления ссылки (Add Web Reference) в строке адреса печатаете:
Учтите, данная ссылка разделяет заглавные и прописные буквы, поэтому внести адрес необходимо именно так, как показано здесь.
BACnetWS (web-сервис), который добавили.
Запуск приложения
Подготовительная работа с кодами нашего приложения завершена. Теперь запустим приложение и проверим, возвращается ли значение таким же, каким оно было в BACnet-системе. Вы должны увидеть форму с текстовым окном (рис. 5).
Мы предположили, что значение Analog Value 1 предс тавляет температуру в главном холле здания, и именно ее заказчик хочет видеть отображаемой на своем сайте. В окне формы мы можем наблюдать, что данное значение равно 72. Надеюсь, теперь вы понимаете, насколько несложно внедрять BACnet web-сервисы в ваши приложения. В следующей статье я предполагаю показать, как данные в реальном режиме могут быть отображены на web-сайте. |