Tip pro VBScript: Převod textu alarmu/události na řeč

19. srpna 2015

V tomto článku se dozvíte, jakým způsobem lze ve SCADA systému Reliance převést text alarmu na řeč a tuto řeč poté reprodukovat uživateli.

SCADA systém Reliance umožňuje přehrát vybraný zvuk při vzniku, zániku nebo kvitaci alarmu/události. Přehrávaný zvuk může být společný pro všechny alarmy/události v projektu, nebo může být zadán pro každý alarm/událost samostatně. Díky tomu uživatel (dispečer) při vzniku alarmu okamžitě pozná, že jde např. o závažný alarm nebo běžnou událost. Další možností, jak od sebe alarmy zvukově odlišit, je nechat systém Reliance převést text alarmu na řeč a tu pak reprodukovat uživateli.

Pro převod textu na řeč je možné využít objekt SAPI.SpVoice, který je k dispozici od Windows XP a není tedy vyžadována žádná instalace. Dle našich zkušeností není reprodukovaná řeč ve Windows XP příliš kvalitní. Ve Windows 7 je kvalita již vynikající.

Následující příklad demonstruje použití objektu SAPI.SpVoice pro převod jednoduchého textu na řeč:

Dim text, speech

Set speech = CreateObject("SAPI.SpVoice")
text = "High critical limit"
speech.Speak text

Jak vidno, příklad je opravdu jednoduchý. Stačí vytvořit objekt SpVoice a zavolat mu metodu Speak, do které se jako parametr předá text, který má být převeden na řeč.

Upozornění: Je nutné si uvědomit, že metoda Speak je v uvedeném příkladu volána synchronně. To znamená, že skript bude čekat na dokončení řeči a tím budou blokovány další skripty zařazené ke spuštění v rámci stejného podprocesu. Nejjednodušším řešením tohoto problému je vyhradit v projektu systému Reliance samostatný podproces pro ty skripty, které budou provádět převod textu na řeč. Díky tomu nebude ovlivněn běh skriptů důležitých pro ovládání vlastní technologie.

Správce skriptů, Reliance SCADA

Ukázkový skript na převod textu na řeč

Hlas, jazyk a výslovnost mluvící "osoby" jsou přednastaveny podle národního prostředí a podle výčtu hlasů nainstalovaných ve Windows. Lze je změnit nastavením vlastnosti Voice. V následujícím příkladu je naznačeno, jak získat seznam dostupných hlasů a jak určitý hlas nastavit:

Dim speech, voice

Set speech = CreateObject("SAPI.SpVoice")
For Each voice in speech.GetVoices
 If InStr(voice.GetDescription, "English") <> 0 Then
  Set speech.Voice = voice
  Exit For
 End If
Next

Aby se převedl text alarmu při vzniku, zániku nebo kvitaci na řeč, stačí v projektu systému Reliance vytvořit jeden společný skript (typ Událostní) a napojit jej u všech požadovaných alarmů na příslušnou událost (např. vznik).

Správce stanic, Reliance 4 SCADA

Vytvoření událostního typu skriptu s napojením na příslušnou událost

Do každého skriptu, který je vyvolán alarmem, je kromě dalších informací předán i text alarmu. Text alarmu je možné ve skriptu získat pomocí metody RScr.GetCurrentScriptDataEx. Tento text je pak snadné použít pro převod na řeč způsobem popsaným v tomto článku. Následující skript je univerzální a bude-li napojen např. na vznik alarmu, bude text alarmu převeden na řeč:

Dim data, text, speech

If RScr.GetCurrentScriptDataEx(data) Then
 text = data.StrPar8
 Set speech = CreateObject("SAPI.SpVoice")
 speech.Speak text
 Set speech = Nothing
End If

Reliance 4 Control Server,  Aktuální alarmy/události

Textové zobrazení alarmu

Alarm převedený na reč

Zvuk textu alarmu "Sensor Error! It could cause the system to behave unpredictably." převedeného na řeč si můžete poslechnout v tomto zvukovém záznamu.

Převod textu na řeč v jazyku VBScript nemusí být použit jen v souvislosti s alarmem, ale obecně při jakékoliv události v systému Reliance, při níž je prováděn skript.

Žárovka, ikona

Tip:

Nenašli jste požadovanou informaci? Napište nám prostřednictvím tohoto formuláře.

Související odkazy


Ukázkové projekty ke stažení

Videotutoriály

Často kladené dotazy

Školení systému Reliance

Vyzkoušejte si SCADA systém Reliance právě teď!

Vyzkoušejte si SCADA/HMI systém Reliance na několika ukázkových vizualizacích.

Vyzkoušejte si SCADA/HMI systém Reliance na několika ukázkových vizualizacích nebo si zdarma stáhněte instalátor zkušební verze do vašeho počítače.

Vyzkoušejte si SCADA systém Reliance právě teď Vyzkoušejte si SCADA systém Reliance právě teď Vyzkoušejte si SCADA systém Reliance právě teď