Interfaces W&T
para TCP/IP, Ethernet, RS-232, RS-485, USB, 20mA
FO de vidrio y plástico, http, SNMP, OPC, I/O digital, I/O analógico ISA, PCI, ...?
      Productos
Home Contacto   Distribuidores por todo el mundo
Idiomas:
DE

US

ES

IT

RU
Medición de datos climáticos
Web-Termógrafo
WuTooth
Web-IO
Digital
Analógico
Espacial
Servidor de datos
Motherbox 2
pure.box 2
Memoria de red
Servidores Ethernet TCP/IP
Com-Server (serial)
Servidor USB
Interfaces serie
USB, RS232, RS485, 20mA
Aisladores & fibra óptica
USB, RS232, RS485, 20mA
Tarjetas PC
PCI Express, PCI y
Bus ISA
...
Interfaces de impresora
Accesorios
Descargas
Viejos
Cesta de compra Su cesta de compra

 
      Conocimientos técnicos
Libros, disertaciones, glosarios...
Información técnica básica
Aplicaciones a los Com-Servers,
Servidor USB
, Web-IO,
Termómetros Web,
Motherbox y pure.box
 
Aplicación al Web-IO digital:

Conexión automática con VBScript y Batch-Jobs




 Enlaces superiores: Resumen de productos Sinopsis de aplicaciones Versión para impresión


En tareas de conexión pequeñas abundantes no merece la pena crear un software especial de aplicación o comprar herramientas complicadas de automatización. Es suficiente con arrancar el proceso deseado de conexión con un chasquido en el icono o entrando un comando. Con el Web-IO Digital y pequeñas VBScripts se pueden realizar tales soluciones con pocas líneas de órdenes.

.

VBScript es un idioma de interpretación fácil de programar, que es apoyado de manera estándar por Windows 2000, XP y Vista. Tal y como hace suponer el nombre (Visual Basic Script), la sintaxis de VBScript está orientada a la de Visual Basic. No es necesario un ambiente especial de desarrollo para la creación de VBScripts- es suficiente un editor de texto. Se recomienda el Editor gratis PSPAD (www.pspad.com), que posee una acentuación de la sintaxis para VBScript. Al salvar VBScripts se utiliza el sufijo de archivo ".vbs".

Los ejemplos descritos a continuación muestran la relación entre VBScript y Web-IO.


¿No tiene todavía un Web-IO® y quiere probar el ejemplo presentado?

no hay problema: Le ponemos a disposición el Web-IO Digital 2xInput, 2xOutput gratis durante 30 días. Rellene sencillamente un pedido muestra y le enviaremos el Web-IO para probar a cuenta abierta. Si nos devuelve el aparato dentro de los 30 días, le abonamos la factura completa.

Al pedido muestra   Al pedido muestra

Preparativos
Ya ha abastecido su Web-IO Digital

1. Poner un Output con VBScript

La escritura siguiente pone al llamarla un Output 0 del Web-IO con la dirección IP 10.40.22.101.

' VB Script Document
option explicit

Dim objHttp
Set objHttp = WScript.CreateObject("WinHttp.WinHttpRequest.5.1")
If objHttp Is Nothing Then Set objHttp = WScript.CreateObject("WinHttp.WinHttpRequest")
objHttp.Option(4) = 256 + 512 + 4096 + 8192
objHttp.SetTimeouts 0, 5000, 10000, 10000
objHttp.Open "GET", "http://10.40.22.101/outputaccess0?PW=&State=ON&", FALSE
objHttp.setRequestHeader "User-Agent", WScript.ScriptName
objHttp.Send ""
If Not (objHttp.statusText = "OK") Then
  WScript.Echo "Error: " & objHttp.statusText
  WScript.Quit 1
Else
  WScript.Echo objHttp.ResponseText
End If

El núcleo de esta escritura es el objeto WinHttp, que se usa para enviar órdenes al Web-IO. La entrega propia de orden tiene lugar con objHttp.Open.

http://10.40.22.101/outputaccess0?PW=&State=ON&  determina que el Output 0 de Web-IO 10.40.22.101 debe pasar al estado ON

Con objHttp.ResponseText se lee la respuesta del Web-IO. En el caso del comando outputaccess el Web-IO devuelve un string compuesto de la palabra output, de un punto y coma y del estado de Output.

Ejemplo output;1

Una descripción detallada de los posibles comandos Web-IO la encontrará en las instrucciones al Web-IO a partir de la página 102.


2. Llamar VBScripts de Batch-Jobs

Batch-Jobs en Windows fueron pensados en un principio para llamar automáticamente comandos Windows. Un ejemplo clásico es también Autoexec.bat en ambientes viejos DOS. En el archivo Batch se introduce una lista con órdenes que al llamarla se procesan consecutivamente.

En sistemas Windows pueden automatizarse así también Scripts y llamadas de programa. Si p. ej. se deben conectar Outputs de diferentes Web-IOs con una sola llamada, también se puede realizar con un Batch-Job.

Los nombres correspondientes de las VBScripts tienen que escribirse uno debajo de otro en el archivo Batch. En Scripts como el indicado arriba, es necesario crear una escritura propia para cada tarea de conexión.

Precisamente en Batch-Jobs es más conveniente crear una escritura de uso universal, que se entrega al llamarla a través de parámetros adicionales, tal como parece la tarea de conexión. En la VBScritp mostrada a continuación pueden entregarse estos parámetros al llamarla:

  • IP
: Dirección IP del Web-IO
  • PORT
: Puerto TCP del Web-IO
Este parámetro es opcional; si no se entrega la escritura utiliza el puerto 80
  • PW
: Contraseña del administrador o del operador del Web-IO
Este parámetro es opcional; si no se entrega la escritura trabaja sin contraseña
  • MASK
: indica en escritura hexadecimal qué Outputs deben ponerse
Este parámetro es opcional; si no se entrega la escritura trabaja con todos los Outputs
  • STATE
: indica en escritura hexadecimal en qué estado deben ponerse los Outputs

La llamada de la escritura tiene este aspecto:

setoutput.vbs IP=<IP address> [PORT=<portno.>] [PASSWORD=<password>] [MASK=<hex value>] STATE=<hex value>

' VB Script Document
option explicit

Dim objArgs, strArg, strArgall
Dim IP, PORT, PASSWORD, MASK, STATE, URLStr
Dim objHttp
Set objArgs = WScript.Arguments

'# Make sure that script starts as console application (best way "cscript //h:cscript")
Dim WshShell : Set WshShell = WScript.CreateObject("WScript.Shell")
If Right(WScript.FullName, Len(WScript.Fullname) - Len(WScript.Path) -1) _
     = "WScript.exe" Then
  For each strArg in objArgs
    strArgall = strArgall & " " & strArg
  next
  WshShell.Run "cmd /k cscript " & Chr(34) & WScript.ScriptFullName _
   & Chr(34) & strArgall
  WScript.Quit
End If

'# Check if there are Parameters
If  WScript.Arguments.count < 1 Then
  WScript.Echo "***********************************"
  WScript.Echo "* Not enough arguments *"
  WScript.Echo "***********************************"
  WScript.Echo ""
  WScript.Echo "Syntyx: setoutput.vbs IP=<IP address> [PORT=<portno.>] _
               [PASSWORD=<password>] [MASK=<hex value>] STATE=<hex value>"

  WScript.Quit
End If

'# Read the Parameters
for each
strArg in objArgs
  If Left(strArg,3) = "IP=" then
    IP = Mid(strArg, 4, Len(strArg) - 3)
  End If

  If Left(strArg,5) = "PORT=" then
    PORT = Mid(strArg, 6, Len(strArg) - 5)
  End If

  If Left(strArg,9) = "PASSWORD=" then
    PASSWORD = Mid(strArg, 10, Len(strArg) - 9)
  End If

  If Left(strArg,5) = "MASK=" then
    MASK = Mid(strArg, 6, Len(strArg) - 5)
  End If

  If Left(strArg,6) = "STATE=" then
    STATE = Mid(strArg, 7, Len(strArg) - 6)
  End If
Next

'# Mount the command String
If IP <> "" then
  URLStr = "http://" & IP
else
  WScript.Echo "***********************************"
  WScript.Echo "*    Not enough arguments : IP    *"
  WScript.Echo "***********************************"
End If

If PORT <> "" then
  URLStr = URLStr & ":" & PORT
End If

URLStr = URLStr & "/outputaccess?PW=" & PASSWORD & "&"

If MASK <> "" then
  URLStr = URLStr & "Mask=" & MASK & "&"
End If

If STATE <> "" then
  URLStr = URLStr & "State=" & STATE & "&"
else
  WScript.Echo "***********************************"
  WScript.Echo "*  Not enough arguments : STATE   *"
  WScript.Echo "***********************************"
End If

'# Send the Command String via HTTP object
Set
objHttp = WScript.CreateObject("WinHttp.WinHttpRequest.5.1")
If objHttp Is Nothing Then Set objHttp = WScript.CreateObject("WinHttp.WinHttpRequest")
objHttp.Option(4) = 256 + 512 + 4096 + 8192
objHttp.SetTimeouts 0, 5000, 10000, 10000
objHttp.Open "GET", URLStr, FALSE
objHttp.setRequestHeader "User-Agent", WScript.ScriptName
objHttp.Send ""
If Not (objHttp.statusText = "OK") Then
  WScript.Echo "Error: " & objHttp.statusText
  WScript.Quit 1
else
  WScript.Echo objHttp.ResponseText
End If

Después de realizada la acción elegida, la escritura devuelve el estado de los Outputs.

p. ej. output:0100

El mesaje de estado se compone de la palabra output, de un punto y coma x del estado del Output en escritura hexadecimal.

CONSEJO: El Windows Scripting Host, existente en dos variantes en cualquier PC Windows, es responsable de ejecutar las VBScripts. Las dos variantes WScript y CScript se diferencian en primer lugar en el tipo de la entrega de datos. Si no está configurado de otra manera, se procesan las escrituras de WScript y se editan los mensajes de texto en una caja diálogo Windows. La desventaja de esto es que el usuario tiene que confirmar cada mensaje para que la escritura continúe. Este tipo de procesamiento es desfavorable para el uso en Batch-Jobs.

Entrando el comando wscrit //H:cscript se define CScript como escritura Host estándar. CScript edita todos los mensajes en una DOSBOX y no espera la confirmación.

La escritura arriba mostrada controla qué Scripthost está activo y se corta si está activa la WSript y se reinicia con la CScript.

A fin de que la escritura pueda trabajar más rápido, se recomienda cambiar en general a la CScript.


 

Otros ejemplos de programa para la programación del zócalo los encontrarán en las páginas de herramientas al Web-IO. Una descripción detallada sobre los comandos de los modelos Web-IO digitales la encontrará en el manual de referencia.

Al pedido muestra   Al pedido muestra Descargar el programa ejemplo   Al Download

 
    Otros ejemplos de aplicación para Web-IO Digital
Técnicas web
     
     
     
     
  Páginas web propias
       
        PHP y AJAX - páginas web dinámicas también para varios Web-IO
        Páginas web Mashup - visualización de valores en los mapas de Google Maps
        Java-Applet - uso de Applet integrado
        Java-Applet - ejemplo: visualización de entradas y salidas
        Java-Applet - ejemplo: visualización de entradas y salidas y control de salidas
        Java-Applet - ejemplo: visualización de los contadores
        Java-Applet - ejemplo: abrir puertas y encender o apagar luces en el navegador
        Web-IO con iPhone - visualización y control
        Web-IO con iPhone - ejemplo: control de persianas
        Web-IO con iPhone - ejemplo: control de clima
        Web-IO con iPhone - ejemplo: visualización de valores de medición
Integración de sistemas
     
     
     
     
     
      Box-to-Box
Registro de datos
     
      Logger de datos FTP - ejemplo
Temporizador
     
      Temporizador CRON (Linux)
      Taskplaner como temporizador
Programación individual
     
      Visual Basic.Net 2005/2008/2010
      Visual Basic.Net 2005/2008/2010 con WuTdevice.dll
      Visual C++
      Visual C#
      Visual C# con WuTdevice.dll
      Visual C++ (Linux con QT-Designer)
      Visual Delphi
      Visual Delphi.Net (2005)
      Lazarus / FreePascal
      Java
      Control con VBScript
Sistema Web-IO
     
     
      Motherbox - activar varios Web-IO
      Motherbox - enlace lógico de Web-IO
      Control de valores límite
  Web-IO - opciones de conexión a redes
       
        DSL
        UMTS/GPRS/red de móvil
        Señal por satélite

 
  • Mister Wong
  • Marcadores de Google
  • Twitter
  • Facebook
  • Digg
   Impreso
Estamos a su disposición personalmente. Wiesemann & Theis GmbH Tf.: +49-202/2680-110 (Lu-Vi, 8-17 horas)
Porschestr. 12 Fax: +49-202/2680-265
42279 Wuppertal individual por E-Mail

© Wiesemann & Theis GmbH, Reservados los errores y cambios: Dado que podemos hacer fallos, no se deben usar nuestras afirmaciones sin haberlas controlado antes. Por favor, infórmenos de todos los errores o malentendidos que le sean conocidos, para que podamos reconocerlos y solucionarlos lo antes posible.