convertir un texto de alarma/evento en un mensaje de voz

Anuncio
VBScirpt : convertir un texto de alarma/evento en un mensaje de voz
El Scada Reliance permite seleccionar un sonido para que se ejecute cuando una
alarma/evento se dispara, finaliza o bien se reconoce. El sonido puede ser común a todas las
alarmas/eventos del proyecto, o puede especificarse por separado para cada alarma/evento.
Esto ayuda al usuario (operador) a identificar inmediatamente una alarma importante o un
evento estándard cuando la alarma se dispara. Otra opción para distinguir alarmas con el
sonido es permitir al sistema Reliance convertir un string de texto de alarma en unas
palabras y reproducir estas palabras al usuario.
Para convertir el texto en mensaje de voz, se puede usar el objeto SAPI.SpVoice, el cual
apareció primero en Windows XP, por lo tanto no es necesario instalarlo. La calidad de la
reproducción en Windows XP en nuestra experiencia es pobre. Pero en Windows 7, es muy
buena.
El siguiente ejemplo muestra como convertir un simple texto de string en un mensaje de voz
utilizando el objeto SAPI.SpVoice :
Como podéis ver, el ejemplo es realmente sencillo. Simplemente se crea un objeto SpVoice y
se llama al método Speak en el cual el texto a convertir es pasado como un parámetro.
Aviso : podéis observar que el método Speak se llama síncronamente en el ejemplo. Esto
significa que el script esperará hasta que el mensaje se acabe mientras bloquea otros scripts
que tienen que funcionar en la misma tarea. La solución más sencilla a este problema es
tener tareas separadas dentro del proyecto Reliance para los scripts que conviertan texto en
mensajes de voz. Gracias a esto, los scripts de procesos industriales no estarán afectados.
La voz, lenguaje y pronunciación de la 'persona' que habla se configura en base a las
configuraciones regionales de Windows y las voces instaladas en el sistema operativo. Se
pueden cambiar seleccionando la propiedad de Voz. El ejemplo siguiente muestra como
obtener la lista de voces disponibles y como configurar una voz en particular :
Para convertir el texto de alarma en mensaje de voz cuando la alarma se dispara, termina o
es reconocida, simplemente hay que crear un script de evento común en el proyecto Reliance
y - por todas aquellas alarmas que lo necesiten- enlazarlo a un evento concreto (por ejemplo
: disparo).
Conjuntamente con otra información, el texto de alarma se pasa a cada script que la alarma
genera. El texto de la alarma se puede recuperar en el script llamando el método
RScr.GetCurrentScriptDataEx. El texto se puede utilizar fácilmente para ser convertido a un
mensaje de voz de la forma que hemos descrito en este artículo. El siguiente es un script
general que - si se enlaza con el disparo de la alarma, final o reconocimiento - convertirá el
texto de alarma en mensaje de voz :
El sonido del texto de alarma 'Sensor Error! It could cause the system to behave
unpredictably.' convertido en un mensaje de voz es el siguiente :
La conversión de texto a mensaje de voz con VBScript no sólo se puede utilizar para alarmas,
también se puede utilizar para cualquier evento de Reliance por el cual un script se ejecuta.
Oficina Comercial y Soporte Técnico en Madrid, Barcelona, Bilbao, San Sebastián,
Segovia y Sevilla.
Telf. Atención al cliente: 902.999.872 Web: www.dicomat.com
Descargar