99久久爱免费视频视频,一个人看的视频免费高清,正在播放国产囗交在线,全免费一级毛片在线播放,国产毛片baoyu视频

您好,歡迎訪問泰安宏盛自動化科技有限公司!
20年專注工控自動化研發(fā)制造 系統(tǒng)設計\制作\安裝一條龍服務
全國咨詢熱線:18605386049
當前位置: 首頁 > 技術資料 > 程序案例

WINCC文本語音報警與一鍵消音功能實現(xiàn)

作者:小編 時間:2024-03-26 09:38:49 點擊:

WINCC文本語音報警與一鍵消音功能實現(xiàn)

  • 1. 全局腳本
  • 2. 報警器
  • 3. 區(qū)分語音報警和普通報警


1. 全局腳本

首先找到一個語音生成軟件,要求能將文本轉(zhuǎn)換成WAV文件格式的軟件。
軟件鏈接: TTSmake

undefined

然后需要找到將導出的聲音文件用文本命名加以區(qū)分,比如煤氣濃度高報警,煤氣濃度高高報警。不可以有特殊符號,可以用英文。

undefined

打開WINCC項目,新建內(nèi)部變量。

如果報警時AZT_1001.H表示煤氣濃度高報警,那么建立一個煤氣高報警狀態(tài)位ALARM_SOUND_AZT1001H,使用這個狀態(tài)位來觸發(fā)語音(因為報警消失的時間不確定,使用一鍵消音就必須做一個狀態(tài)位)。同時還需要建立一個全局消音內(nèi)部變量ALARMSOUND_ALL用來連接一鍵消音。

undefined

打開WINCC項目文件,新建全局腳本。

undefined

#include "apdefap.h"
int gscAction( void )
{
#pragma code("Winmm.dll")
void WINAPI PlaySoundA(char* pszSound ,char* hmode,DWORD dwFlag);
#pragma code()
if(!GetTagBit("AZT_1001.H"))// 煤氣濃度高報警
{
SetTagBit("ALARM_SOUND_AZT1001H",0);
}
if(GetTagBit("ALARMSOUND_ALL")&&GetTagBit("AZT_1001.H"))
{
SetTagBit("ALARM_SOUND_AZT1001H",1);
}
//聲音播報
if(GetTagBit("AZT_1001.H")&&!GetTagBit("ALARM_SOUND_AZT1001H"))
{
 PlaySoundA("C:\\alarmsound\\煤氣濃度高報警.wav", NULL, 1);
}
SetTagBit("ALARMSOUND_ALL",0);
return 0; 
}

最后在C盤下面新建一個文件夾“alarmsound”,然后將語音文件全部放到該文件夾中。然后再畫面中建立一個按鈕,連接一鍵消音按鈕ALARMSOUND_ALL,設置鼠標,事件,按下置1即可。


上述方法適合程序沒有中沒有報警狀態(tài)變量,如果有的話可以直接使用報警器更方便。


2. 報警器

報警狀態(tài)位與報警并不是一個變量,報警是現(xiàn)場決定的,我們不可以人為復位掉,因此控制報警語音必須要建立一個與報警對應的報警狀態(tài)位。

image.png

如果再程序中建立了一個可以復位的報警狀態(tài)位,那么可以直接將該變量導入到“報警記錄——報警器——信號分配——變量”中去,然后后面聲音的文件路徑取決于語音文件存放的位置。


3. 區(qū)分語音報警和普通報警

在報警控件中需要區(qū)分語音報警于普通報警,這樣就需要更改報警控件中文本的顏色和填充顏色:

image.png

可以在顏色的位置修改顏色。

QQ在線咨詢
聯(lián)系電話
17658151177
售后服務
17658151177