Motor SCADA Chris Gurtler
Servicios web BACnet: conozca y sepa
Lo más probable es que ya haya oído hablar de la nueva incorporación al estándar de servicios web BACnet, pero Sospecho que la mayoría todavía no tiene idea de qué son los servicios web y para qué sirven.
Si alguien está interesado en aprender más sobre su uso en BACnet, este artículo es para usted.
Al utilizar servicios web, es fácil integrar datos en tiempo real en casi cualquier aplicación.
Entonces, imaginemos que tenemos un sistema BACnet y el cliente quiere recibir cierta información a la salida del sistema en tiempo real. Por ejemplo… Temperatura del aire en el vestíbulo principal del edificio, mostrada en el sitio web de la red local.
Hay muchas soluciones a este problema que pueden proponer los fabricantes de diversos equipos, y al cliente se le facturará una factura considerable por su implementación.
Y algunas de estas soluciones probablemente serán bastante bien, pero todavía quería tener un enfoque común y estándar para resolver este problema.
Y esa solución ya existe.
Y es muy sencillo gracias a los servicios web de BACnet.
Comencemos con la aplicación .Net y en artículos posteriores le diremos cómo hacerlo usando un navegador web usando HTML y script Java.
Instalación de servicios web
Lo primero que debe hacer — instalar servicios web. A menos, por supuesto, que ya los tengas. Descargue una versión de demostración del servicio web desde SCADA Engine
http://scadaengine/downloads.html
Siga las instrucciones para instalarlo y verá que se muestra el servicio web, como se muestra en la Fig. 1. Si ya hay un servicio web instalado en su computadora, estas instrucciones son adecuadas para cualquier servicio web BACnet de cualquier desarrollador.
Fig. 1
Escribir rutas para un servicio web
El servicio web BACnet utiliza rutas para hacer referencia a valores. Los nombres de las rutas son un poco como los nombres de los archivos en una computadora. Diferentes computadoras tienen diferentes archivos y diferentes nombres de archivo. Lo mismo ocurre con el servicio web BACnet — Los nombres de las rutas dependen del sistema específico.
En el servicio web de SCADA Engine, la ruta se construye a partir de la dirección BACnet:
/[Red]/[Dispositivo]/[ObjectType]/[Instance]
Por lo tanto, la ruta a AV 0 (ver Fig. 1) será /2/11/2/0 y su valor será 72. Para que el nombre sea más conveniente para pasar la ruta, puede crear una ruta de “referencia”. Pero dejemos esta opción para la próxima publicación.
Lectura de datos
Para leer valores, existe un servicio llamado getValue que toma una ruta como entrada y devuelve un valor a lo largo de esa ruta. Si desea conocer el valor de la variable AV 0, se verá así: getValue(«», «/2/11/2/0»)
Creación de una aplicación de Visual Basic
Ahora tiene un conocimiento general del servicio web BACnet y ya lo ha instalado en su computadora. Ahora comencemos a crear nuestra propia aplicación. Supondremos que el valor analógico Valor analógico 1 — esta es la temperatura del aire en la sala principal del edificio, es decir exactamente la información que su cliente solicita que se muestre en su sitio web. Vemos que el valor del parámetro es 72 y su ruta es /2/11/2/0.
figura. 2
Abra Visual Studio 2005, cree un nuevo proyecto (nuevo proyecto de aplicación de Windows), al que llamaremos bacnet. A continuación, haga clic en “Aceptar”.
Agregar un enlace web (referencia)
Ahora necesita agregar un enlace web a la aplicación BACnet. Esto es muy similar a agregar una referencia en objetos COM/ActiveX. Pero después de agregarlo, tendremos acceso al servicio web XML en el servicio web BACnet.
Abra el Explorador de soluciones, haga clic derecho en Referencias y luego en Agregar referencia web. También puede seleccionar el menú Proyecto y hacer clic en Agregar referencia web.
En la ventana Agregar referencia web, en la barra de direcciones, escriba:
C:Archivos de programaSCADA EngineBACnetWS Web Servicebacnet .wsdl.
Tenga en cuenta que este enlace separa letras mayúsculas y minúsculas, por lo que debe ingresar la dirección exactamente como se muestra aquí.
Fig. 3
Una vez ingresada la URL y presionada la tecla Enter, se carga el servicio web BACnet y su pantalla se verá como en la Fig. 3 y se activará el botón Agregar referencia.
Haga clic en él para agregar un enlace web al proyecto.
En la ventana del Explorador de soluciones, haga clic en Referencia web para ver el enlace al BACnetWS (servicio web) que agregó.
Fig. 4
Agregue un cuadro de texto al formulario y asígnele el nombre TextBox1.
Pegue el siguiente código en la sección Vista de código del formulario.
Clase pública Form1
Sub Form1_Load privado (ByVal remitente como System.Object,
ByVal y como System.EventArgs) maneja MyBase.Load
Atenuar a como BACnetWS.bacnet = Nuevo BACnetWS.bacnet()
TextBox1.Text = a.getValue(«», «/2/11/2/0»)
End Sub
End Class
Lanzamiento de la aplicación
Se completa el trabajo preparatorio con los códigos de nuestra aplicación.
Ahora ejecutemos la aplicación y verifiquemos si el valor devuelto es el mismo que en el sistema BACnet. Debería ver un formulario con una ventana de texto (Fig. 5).
Figura . 5
Hemos asumido que el valor analógico 1 representa la temperatura en el vestíbulo principal del edificio, que es lo que el cliente quiere ver en su sitio web.
En la ventana del formulario podemos observar que este valor es 72.
Espero que ahora entiendas lo fácil que es implementar servicios web BACnet en tus aplicaciones.
En el próximo artículo, asumiré que mostraré cómo se pueden mostrar los datos en tiempo real en un sitio web.