<big id="a5mua"></big>

      <tt id="a5mua"><dfn id="a5mua"></dfn></tt>
      <wbr id="a5mua"><sup id="a5mua"></sup></wbr>

        
        

      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        龍海兒
        關注《電氣外傳》公眾號,知乎,CSDN等同號
        級別: 論壇先鋒
        精華主題: 0
        發帖數量: 372 個
        工控威望: 1396 點
        下載積分: 953 分
        在線時間: 104(小時)
        注冊時間: 2018-04-13
        最后登錄: 2025-12-19
        查看龍海兒的 主題 / 回貼
        樓主  發表于: 2025-07-02 12:35
        圖片:
        圖片:
        圖片:
        圖片:
        圖片:
        1111MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0如題,聲音報警我們用的很多,但是如何實現差異化的語音報警呢?直接先看圖看效果。
        那語音報警都好理解,差異化又具體體現在哪里呢?
        因為市面上已經有前輩開發出了語音報警,但是不能靈活單獨的應用到每一條報警上面。比如我只想要一條或者兩條重要信息實現語音播報,其它報警靜默顯示就行。那么通過本例可輕松解決。
        特別說明!開發不易,本例所用腳本原件放在文章末尾,小額支持即可下載!感謝理解,歡迎交流。
        第一步,打開WinCC創建內部變量(alarmComing)二進制類型與(alarmText)(prevAlarmText1)(prevAlarmText2)三個16位文本類型。(如需要多個報警可多建立兩個Text變量)
        第二步,用Win+r輸入services.msc然后找到Windows Audio服務,啟動它(一般都啟動著)。
        第三步,把gmsgfunc.fct腳本放到C:\Program Files (x86)\SIEMENS\WinCC\aplib\Alarm中替換掉以前的。
        第四步,把Voice腳本vbs放到wincc項目ScriptAct文件夾中。
        第五步,打開報警記錄找到想要播報的變量勾選屬性里面觸發動作如圖(不勾選的變量不會播報)。
        通過以上操作就可以實現單獨變量的聲音報警,其它變量依然按照普通設置呈現。如果想觸發報警之后一直播報,直到人員點擊消音按鈕才消失。那請看之下進階操作。
        將剛才第二步的Voice替換成cycle腳本(注意一定要替換,不可以都保留),然后在報警控件中將事件里面的OnToolbarButtonClicked屬性加上記事本中的c腳本用于取消循環,也可以自己外加按鈕來實現。
        記得拷貝進去的每個腳本都打開再次保存一下,否則可能不能發聲。以下是本例用到的腳本,各位也可以再次優化腳本生成更多功能。
        更過截圖和腳本鏈接請移步同名公眾號查看

        關注《電氣外傳》公眾號,知乎,CSDN等同號
        往事如風
        科技改變制造
        級別: 網絡英雄

        精華主題: 0
        發帖數量: 11991 個
        工控威望: 19799 點
        下載積分: 15473 分
        在線時間: 2838(小時)
        注冊時間: 2013-01-31
        最后登錄: 2025-12-20
        查看往事如風的 主題 / 回貼
        1樓  發表于: 2025-07-05 20:50
          
        三人行者必有我師 ,擇其善者而從之
        hqokabc
        級別: 探索解密
        精華主題: 0
        發帖數量: 125 個
        工控威望: 139 點
        下載積分: 537 分
        在線時間: 8(小時)
        注冊時間: 2025-01-02
        最后登錄: 2025-12-25
        查看hqokabc的 主題 / 回貼
        2樓  發表于: 14天前
        全局腳本怎么寫?
        qwerty_123
        www
        級別: 略有小成
        精華主題: 0
        發帖數量: 169 個
        工控威望: 296 點
        下載積分: 6314 分
        在線時間: 56(小時)
        注冊時間: 2010-09-26
        最后登錄: 2025-12-26
        查看qwerty_123的 主題 / 回貼
        3樓  發表于: 13天前
        //wincc聲音報警C腳本版,和wincc自身的報警沒有任何關系,所以不要和wincc自帶的報警相關聯
        //曾經用于工程中的語音報警,事先將語音先錄好,然后將變量和語音關聯起來

        #include "apdefap.h"


        //播放聲音的函數聲明
        #pragma code("winmm.dll")
        VOID WINAPI PlaySoundA(char *,char *,DWORD);
        #pragma code()

        struct datainfo    //變量名和聲音文件名的對應關系
        {
            const char * const tagname;    //變量名
            const char * const soundname;    //聲音文件名
        };
        struct statusdatainfo        //保存報警變量的狀態信息
        {
            int prevStatus;
            int playing;
        };
        //所有的報警變量和聲音文件名對應關系表
        //注意:變量名和文件名要和實際的變量名、文件名完全一致
        //注意:聲音文件只支持wav文件
        //注意:變量越靠前,則優先級越高,在同時發生多個報警時,優先級最高的聲音優先播放,而且任一時刻只能播放一個聲音
        static struct datainfo data[]=  
        {
        {"www","Windows XP 啟動.wav"},    
        {"testalarm","ringin.wav"},
        {"qqq","Windows XP 關機.wav"},
        {"eee","Windows XP 注銷音.wav"}
        };

        static struct statusdatainfo  statusdata[sizeof(data)/sizeof(data[0])];
        ////////////////////////////////////

        int gscAction( void )
        {
        int totalnum=0;    //總的報警變量數量,也等于總的報警聲音數量
        int index=0;    //循環變量
        int hasfound=0;    //已找到優先級最高的報警變量
        char * filename=NULL;    //當前要播放聲音的文件名
        char * dirname="D:\\WINDOWS\\Media\\";    //聲音文件存放的目錄
        static char * currfilename=NULL;    //當前正在播放聲音的文件名,注意:該變量是靜態變量
        static char  FullName[200];    //當前正在播放聲音的文件全名,注意:文件名全名不能太長,該變量是靜態變量
        char * ack_name="ack"; //報警確認變量的名字,一次只能確認優先級最高的報警
        int ack_status=0;    //當前確認變量的狀態

        totalnum=sizeof(data)/sizeof(struct datainfo);    //報警變量的數量
        ack_status=GetTagBit(ack_name);

        for(index=0;index<totalnum;index++)    //查找當前第一個報警的變量所對應的聲音文件名,搜索的順序決定了優先級
        {
            if (statusdata[index].playing)
            {
                statusdata[index].prevStatus=GetTagBit(data[index].tagname);
                if (ack_status)    //確認報警變量
                {
                    ack_status=0;
                    statusdata[index].playing=0;
                }
                else
                {  
                    if (0==hasfound)
                    {
                        hasfound=1;
                        filename=data[index].soundname;
                    }
                }
            }
            else
            {
                statusdata[index].playing=!statusdata[index].prevStatus && GetTagBit(data[index].tagname);
                statusdata[index].prevStatus=GetTagBit(data[index].tagname);
                if (statusdata[index].playing)
                {
                    if(0==hasfound)
                    {
                        filename=data[index].soundname;
                        hasfound=1;
                    }
                }  
            }
        }

        SetTagBit(ack_name,0);  

        if (filename!=currfilename)    //當要播放的聲音文件和當前正在播放的聲音文件不同時才播放新的聲音
        {
            currfilename=filename;        //修改當前正在播放的聲音文件名
          
            if (NULL==currfilename)    //如果沒有報警則停止播放聲音
            {
                FullName[0]=0x0;
                PlaySoundA(NULL,NULL,0x2000|1|8);        //停止播放聲音
            }  
            else    //循環播放新的聲音文件
            {
                strcpy(FullName,dirname);        //復制目錄名
                strcat(FullName,currfilename);        //合成聲音文件全名
                PlaySoundA(FullName,NULL,0x2000|1|8);    //播放聲音
            }  
        }

        return 0;


        }

        主站蜘蛛池模板: 成人国产精品中文字幕| 99精品国产一区二区青青| 亚洲成人资源在线观看| 中国精学生妹品射精久久| 午夜国产精品福利一二| 国产精品久久久久久福利69堂| 中文字幕日韩精品有码| 欧美最猛黑人xxxx| 久久99久久99精品免视看国产成人| av天堂中av世界中文在线播放 | 亚洲中文字幕一区二区| 久久亚洲日本不卡一区二区| 中文字幕一区二区三区乱码不卡 | 久视频久免费视频久免费| 国产精品无码a∨麻豆| 国产三级国产精品国产专区| 人妻少妇精品视频专区| 99久久国产成人免费网站| 欧美丝袜高跟鞋一区二区| 好男人社区资源| 日韩中文字幕亚洲精品| 婷婷五月亚洲综合图区| 青青草久热这里只有精品| 国产亚洲精品日韩av在| 国产成人午夜福利在线播放| 7777精品久久久大香线蕉| 最新午夜国内自拍视频| 国产成人精品三级在线影院| 国产一区二区三区在线观| 久久国产乱子精品免费女| 国产精品高清视亚洲中文| 国产亚洲精品黑人粗大精选| 91亚洲一线产区二线产区| 亚洲欧美日韩成人综合一区| 伊人久在线观看视频| a狠狠久久蜜臀婷色中文网| 好吊妞| 无码精品人妻一区二区三区中| 亚洲乱码精品久久久久..| 国产裸体永久免费无遮挡| 天天做天天爱夜夜爽导航|