WINCC 声音报警

合集下载

WinCC -- 组态报警和消息 -- 声音报警和消息

WinCC -- 组态报警和消息 -- 声音报警和消息
再次到来或者重新启动“Horn”才会被触发。您可以通过设置内部系统变量“@RestartHorn” 为 “1”来重新启动“Horn”。当“Horn”被重新启动后,系统自动重置系统变量“@RestartHorn”的值为
/CN/llisapi.dll/24740744?func=ll&objId=24740... 2008-3-19
/CN/llisapi.dll/24740744?func=ll&objId=24740... 2008-3-19
Siemens - Automation and Drives - Service& Support - Automation Service, Automat... Page 6 of 24
消息的声音输出能够在WinCC服务器和WinCC客户端执行。“Horn”需要在每一WinCC工作站单独配 置。
“Horn”编辑器允许您使用确认变量或者一个确认组来配置一个多重确认。使用确认组的多重确认选件将从 WinCCV6.2以后可以获得。在这里,“Horn”确认可应用于在被设置为相同的确认组的WinCC工作站。确 认组是一个简单的,实现客户端,服务器和冗余服务器器的声音信号输出的多重确认的方法 ,推荐使用一 个确认组的来实现多重确认。
Siemens - Automation and Drives - Service& Support - Automation Service, Automat... Page 2 of 24
“0”。
z 通过用户自定义逻辑设置/重设信号变量 信号变量的值没有必要必须连接到消息级别的报警状态。设置/重设信号变量的逻辑同样也可以在用 户指定逻辑中编程。
显示订货号 如何设置带有声音的信号消息?

如何在WINCC在做单个报警触发对应单个报警声音

如何在WINCC在做单个报警触发对应单个报警声音

如何在WINCC在做单个报警触发对应单个报警声音
在WinCC中,可以通过配置报警触发器来实现单个报警触发对应单个报警声音的功能。

下面将详细介绍如何进行配置。

1.创建需要监控的变量
在WinCC项目中创建需要监控的变量。

例如,创建一个名为"AlarmTag"的变量。

2.创建报警触发器
3.配置报警触发器
在报警触发器列表中选中要配置的报警触发器,并点击右键,在上下文菜单中选择"Properties..."。

在报警触发器属性对话框中,选择"Actions"选项卡。

4.设置报警声音
在报警触发器属性对话框的"Actions"选项卡中,点击"New..."按钮以添加一个新的动作。

在动作类型下拉菜单中选择"Play alarm sound file"选项,然后点击"..."按钮选择要播放的报警声音文件。

5.配置报警条件
6.保存配置
点击报警触发器属性对话框中的"OK"按钮保存配置。

通过以上步骤,配置就完成了。

当监测的变量"AlarmTag"的值满足设定的触发条件时,报警触发器会自动触发,并播放指定的报警声音文件。

注意:在WinCC项目编译和运行前,确保报警声音文件存在于正确的位置,并已正确配置报警触发器的声音文件路径。

WinCC实现声音报警的方法

WinCC实现声音报警的方法

#include "apdefap.h"int gscAction( void ){#pragma code("Winmm.dll")VOID WINAPI PlaySoundA(char* pszSound,char* hmode,DWORD dwFlag);#pragma code( )if (GetTagByte("TI101")>100){PlaySoundA("C:\\\\Program Files\\\\Windows NT\\\\Pinball\\\\SOUND36.WAV",NULL,1);} return 0;}报警可以用以下两种实现方法:1、建一个全局脚本,时基为2S#include "apdefap.h"int gscAction( void ){#pragma code("Winmm.dll")VOID WINAPI PlaySoundA(char* pszSound,char* hmode,DWORD dwFlag);#pragma code( )if (GetTagByte("TAG")==1) 或if (GetTagByte("TAG")>500) {PlaySoundA("d:\\ringout.wav",NULL,1);}return 0;}用以上程序就可以实现单个变量报警,开关量为1或模似量大于500都可以报警,用户可以根据自己的情况改变以上数值,如果有多个变量可以增加多个if .2、通过报警记录,先在报警记录中组态好报警记录建一个全局脚本,时基为2S#include "apdefap.h"int gscAction( void ){MSG_RTDATA_STRUCT mRT;int i;char* pszToken;//Now is my code#pragma code("Winmm.dll")BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag);#pragma code()DWORD SND_ASYNC=0x0001;DWORD SND_LOOP=0x0008;DWORD alarmsum,alarmunack;LPCMN_ERROR errorunack,errorsum;#pragma code("msrtcli.dll")#pragma code()LPDWORD lpdwServiceID;MSG_SERVICE_NOTIFY_PROC lpfnNotifyProc;LPMSG_FILTER_STRUCT lpMsgFilter;DWORD dwNotifyMask;LPVOID lpvUser;LPCMN_ERROR lpError;BOOL n1;n1=MSRTGetMsgQuit(&alarmunack,errorunack);SetTagDWord("number",alarmunack);MSRTGetMsgActual(&alarmsum,errorsum);SetTagDWord("sum",alarmsum);if (alarmsum==0)sndPlaySoundA(NULL,SND_ASYNC);else{if (alarmunack>0)sndPlaySoundA("C:\\Program Files\\WindowsNT\\Pinball\\SOUND36.WAV",SND_ASYNC|SND_LOOP);elsesndPlaySoundA(NULL,SND_ASYNC);//sndPlaySoundA("C:\\windows\\media\\office97\\laser.wav",SND_ASYNC|SND_LOOP); }return 1;}这个可以实现报警记录中只要有报警发生,那么就触发声音报警。

wincc声音报警实现方法

wincc声音报警实现方法
NT\\Pinball\\SOUND36.WAV",SND_ASYNC|SND_LOOP);
else
sndPlaySoundA(NULL,SND_ASYNC);
//sndPlaySoundA("C:\\windows\\media\\office97\\laser.wav",SND_ASYNC|SND_LOOP);
#pragma code("Winmm.dll")
BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag);
#pragma code()
DWORD SND_ASYNC=0x0001;
DWORD SND_LOOP=0x0008;
DWORD alarmsum,alarmunack;
#pragma code( )
if (GetTagByte("TAG")==1) 或 if (GetTagByte("TAG")>500)
{PlaySoundA("d:\\ringout.wav",NULL,1);}
return 0;
}
用以上程序就可以实现单个变量报警,开关量为1或模似量大于500都可以报警,用户可以根据自己的情况改变以上数值,如果有多个变量可以增加多个if .
MSRTGetMsgActual(&alarmsum,errorsum);
SetTagDWord("sum",alarmsum);
if (alarmsum==0)
sndPlaySoundA(NULL,SND_ASYNC);
else

如何能在WINCC在做单个报警触发对应单个报警声音

如何能在WINCC在做单个报警触发对应单个报警声音

2017年8月16日15:05:27如何在WINCC 中做单个报警触发对应单个报警声音如某个电机故障报警,就发出“某某电机故障报警”起到警示作用 一、首先安装一个文字转语音的软件!并打开软件!二、在软件里输入报警内容,如“P001收尘风机电机故障”三、点击生成MP3四、指定存放文件的路径,最好是存放在所要实现该功能的WINCC项目在网上邻居上的路径下的Horn下,这样到后面的组态就方便很多。

在WINCC项目在本电脑被正确打开后就会在网上邻居存放有WINCC项目和路径。

以上就是刚刚生成的报警声音所在的路径的报警声音文件,但它们格式只是MP3格式,不是WINCC系统所要求的WAV 格式,所以要下载的格式转换软件,将刚刚生成的MP3格式转换成WAV格式才行。

利用这个格式转换软件将MP3转换成WAV格式,再次将文件存放在刚刚的路径中来。

方便后面的组态。

打开WINCC项目,新建一个二进制变量内部变量Error打开WINCC报警器组件在报警器组态的对话框中的消息分配中设置如上图所示内容,意思就是当报警记录中的错误类别有报警触发时就置位刚刚新建的内部变量Error。

然后在报警器组态的信息分配中组态最关键的内容4的意思即使有很多报警同时触发时,也只能有一个声音报警响起,5组态触发声音报警的变量,6组态触发声音报警变量所对应的报警声音。

此处选择触发的报警变量此处选择报警触发变量所对应的报警声音至此报警器组态工作完成。

五、然后在WINCC项目的主画面组态能打开和关闭报警声音的按钮功能所用的报警的内部系统自动的变量如下:其内部变量对应的功能如上图所示它在WINCC项目的位置如下:六、在WINCC主画面中新建一个打开声音报警功能的按钮组件:它的属性如下:几何属性颜色属性样式属性字体属性主要是在文本中输入“报警音关”内容闪烁属性如下不开闪烁功能其它功能如下主要是想组态当报警声音被关闭的时候显示该按钮填充属性如下画面属性如下效果属性如下然后就在事件选项中组态意思就是当在按钮组件上释放左键时就将常数1赋值给@HornTriggeringSignalsActive,打开声音报警功能七、再新建一个取消声音报警功能的按钮组件该按钮的属性如下几何属性如下颜色属性如下:样式属性如下:字体属性如下:关键是在文本里输入“报警音开”字体闪烁属性如下:闪烁功能不开其它属性如下:意思是当报警声音开时显示该按钮组件填充属性如下:画面属性如下:效果属性如下:下面组态事件意思当鼠标在该按钮有鼠标动作时有如下C动作1、会弹出一个对话框,让你选择是进行取消报警声音的操作,并进行操作提示“请确认是否取消报警声音”2、同时赋值0给@HornTriggeringSignalsActive和@HornRese完成后将两个按钮重叠在一起并在画面中合适的位置上!C脚本如下:#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma option(mbcs)// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction "DMTagName"// next TagID : 1// WINCC:TAGNAME_SECTION_END// WINCC:PICNAME_SECTION_START// syntax: #define PicNameInAction "PictureName"// next PicID : 1if( MessageBox(NULL,"请确认是取消报警声音","报警声音取消操作提示!!",MB_OKCANCEL )== IDOK){SetTagBitWait("@HornTriggeringSignalsActive",0); //Return-Type: BOOLSetTagBitWait("@HornReset",0); //Return-Type: BOOL}// WINCC:PICNAME_SECTION_END //Return-Type: BOOL// WINCC:PICNAME_SECTION_START// syntax: #define PicNameInAction "PictureName"// next PicID : 1// WINCC:PICNAME_SECTION_END}至此整个组态工作完成以上的这种消除报警声音的方法只要取消报警声音按钮按下,即使系统再有报警出现也不会发出报警,除非再次点击“报警音开”打开报警音功能,此时若再有报警出现才会有报警声音出现。

WinCC实现声音报警的方法

WinCC实现声音报警的方法
//Syntex: ^define PiCNGmeInACtiOnllPictureNsme"
//next PidD:1
//WlNCCFICNAMEeSECTIONeEND
^include,⅛pdefap h"
^PrSgmaCOde("Winmrn.dll,,)
VOlD WlNAPl PleySOUndA (CharfcPSZSOUnd,ChGL广hmode, DWORD dυvflag);
#Pragma code(
PlaySOUndA(
}
PlaySOUndA ι⅛数的说啊=
姿数char* PSZSoUndt
指定声音文件r.wav ±ftj的全S⅛径G
篆武CharThmodθf为NLILL.
参数DWoRD Clvxflag:
SND,SYNC = OXOOOOf津首文件播取一次J诙脚本一宜尊到播歆结朿
^pragmaOPtiOn(mbcs)
//WIN ∞:TAGNAME-BSECTlONeSTART
// syntax: #define TQgNameInAetion "DMTagName11
//nextTQglD:1
//WIN CC:TAGNAME_S ECTIONLEND
/∕WIN∞PICNAME-SECTION-START
在WirlCC中实现声音报警功能
内容介绍;
1、C脚本播放WaV文件
2、C脚本触发Pe蜂鸣器
3、VBS脚本调用媒体播放器
3、报警器HORN的使用
C脚本播放WaV文杵
ffinclude "aρdefap.h
VOid OnCliCk(Char
ffpragma COde ('Winmrτι.dll

wincc6.0-的horn声音报警的使用

wincc6.0-的horn声音报警的使用

wincc 的horn声音报警的使用•悬赏分:20•- 解决时间:2009-5-22 17:14在horn中,我用一个报警类触发一个变量,用这个变量触发声音文件,但是报警类最多定义16个,我报警有50个,怎么做啊?我又不能直接用报警变量触发声音文件,因为这样如果报警存在,是复位不掉的,声音一直响,请问应该怎么做啊,是不是我理解错了问题补充:问题是如果用PLC的变量触发,上位机复位,你复位按钮怎么知道现在复位的报警是那个报警啊?问题ID: 36379提问者:炜- 资深学长第3级最佳答案1.WinCC V6.0可以用Horn组态实现声音报警,不用编程。

打开Horn,在Message assignment选项页选定Message Class为Error,定义一个Bool型的Tag;在Signal assingment选项页选定Tag为刚才定义的Bool型的Tag,在Sound中选择要播放的.wav声音文件。

运行时,只要Error类别的报警触发,则Bool型的Tag置位,.wav声音循环播放;在报警控件中确认报警,.wav声音中止,也可以将Bool型的Tag复位,.wav声音中止。

Horn是基本过程控制(BPC)的组件,标准安装是不会安装的。

安装WinCC时选择“自定义安装”,已经安装了就选择“安装卸载组件”,组件栏中选择“选项”,右边栏子选项选择“Ba sic Process Control”安装即可。

2.自定义两个内部32位变量stat1和stat1_save,然后在报警记录里面消息位使用外部变量,状态位为stat1中的位。

然后在脚本中:定义两个DWord变量A1、B1连接stat1和stat1_save。

#pragma code("Winmm.dll")void WINAPI PlaySoundA(char* pszSound ,char* hmode,DWORD dwFlag);#pragma code()A1=GetTagDWord("stat1");B1=GetTagDWord("stat1_save");if((A1^B1)&A1)SetTagBit("ok_1",1);if(GetTagBit("ok_1"))PlaySoundA("C:\\winnt\\music\\06.wav",NULL,1);SetTagDWord("stat1_save",A1);回答者:满- 高级工程师第11级2009-5-22 07:45提问者对于答案的评价:多谢30天内的投票结果:好100% (1)不好0% (0)其他回答可以再plc中,几个报警触发一个变量让他置位。

WinCC的声音报警(通过HORN控件和脚本分别实现)

WinCC的声音报警(通过HORN控件和脚本分别实现)

WinCC的声音报警对于组态软件WinCC中的声音报警,也有不少的朋友在讨论这个话题,在这里写的是我在出差期间,需要在项目中用到的声音报警,并且实现自动触发,按钮关闭声音,再次自动触发的循环声音报警代码.1.采用代码实现首先,这是一个全局脚本(在全局脚本中创建一个项目函数,然后调用此函数),可以放在当前显示的画面的任何元素中,并对代码进行如下的添加:建个变量(Bit)“AlarmSound”有报警的时候为“1”,没有报警的时候“0”,写个全局脚本触发器里选择变量触发“AlarmSound”(脚本触发变量为内部变量,若是外部变量则使其与一内部变量关联)int gscAction( void ){#pragma code("Winmm.dll")BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag);#pragma code()if(GetTagBit("AlarmSound")!=0)sndPlaySoundA("c:\\win2003\\system32\\ALSNDMGR.WAV",0X1|0X8);elsesndPlaySoundA(NULL,0X0);return 0;}即可实现在肩控画面中出现报警的同时启动声音文件.在停止的时候用按钮控制,其中事件代码为:#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma code("Winmm.dll")BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag);#pragma code()sndPlaySoundA(NULL,0X0);}对上述代码中:关于windows API函数sndPlaySoundA(char* szWave,DWORD dwFlag);char* szWave是声音文件的路径DWORD dwFlag是标识常量0x0:播放WAV文件,播放完毕后将控制转移回你的应用程序中。

WinCC 声音报警和消息

WinCC 声音报警和消息
{ "@HornReset" 通过组确认实现的多重确认 在这样的情况下,变量的被设置为不变。经过点击“acknowledge horn”按钮确认 “Horn”后,变量“@HornReset”被直接重置为“0”,然后被迅速的再次设置为“1”。
z 如果信号变量经过在报警控件中确认所有相关报警被重置或者脚本直接重置变量,在这样的操作下 计算机的声音信号被确认(关闭),但是在这种情况下“@HornReset”不会被设置为“0”。 这样, 在某一台计算机,为了实现多重确认的计算机配置收不到信号已经被确认的信息。在这样的情况 下,为多重确认配置的计算机的信号传输不能够被确认(关闭)。多重确认只能在分别点击 “acknowledge horn” 按钮后起作用。
图 3:在“信号分配”标签中为报警编辑器组态和选择事件类。 6. 通过“变量”栏中的变量选择对话框选择内部变量,该变量先前已被创建用于报警和警告事件类。 在后面通过这些变量的赋值过程控制声信号的触发。
/CN/llisapi.dll/24740744?func=ll&objId=24740... 2008-3-19
显示订货号 如何设置带有声音的信号消息?
说明: "Horn"编辑器用来配置与报警相关事件信号模板和PC声卡的输出。Horn编辑器是WinCC选件“基本过程控 制”的一个组件,自WinCC V6.0版本以后,“基本过程控制”不需要任何附加的授权,默认获得。
关于“Horn”主题的信息可以通过以下方式获得
在SIMATIC PCS 7 / WinCC V6.x下如何组态单站、服务器、冗余服务器和客户OS站的Horn编辑器?
说明: 下列组态过程基于SIMATIC PCS 7 V6.0版本。因此,适用于所有的PCS 7 V6.0 和WinCC V6.0以上的版 本。

wincc声音报警

wincc声音报警

wincc声音报警用户要求项目的任何一个阀门或泵出现故障后,都要有声音报警。

我在S7-300中把这些故障(60多个)都集中到了一个开关量上。

我点击WINCC的Horn后出现的对话框里面Message class下面只有3个选项:错误。

系统,需要确认。

系统,无确认。

我应当选哪一个呢,另外,我那个开关量,例如M1.0,应当放在哪一列,是Tag吗, 1.HORN编辑器中有两个选项页,第一页指定报警类型(至于是否确认,那要看你的要求了)和报警TAG,也就是要指定TAG的报警类型;2.第二页指定报警声音,也就是报警TAG对应相应的报警声音,这个声音文件是WAV类型的;3.HORN组态起来还是很方便的。

先在alarm logging里把报警分类打开自定义的报警类属性有3项 "status tag" "lock tag" "acknowledge tag"后两个没用在status tag里添加一个byte格式的tag "A"然后你可以试验一下有报警了A为0x1f 确认后为0x01然后C s cript编一下须要编一下了if(GetTagByte("OS1_ALARM") &0xf0) {cc_playsound("A.wav");return 1;}此外还需要cc_playsound()和GetProjectPath()两个函数我有现成了把这两个函数复制到\项目\library\里编译一下脚本就行了对了声音文件*.wav放在\项目\sound\下没有的自己建一个。

你不就是想在音箱里播放报警吗,这么用最简单:#pragma code ("Winmm.dll ")VOID WINAPI PlaySoundA ( char* pszSound, char* hmode, DWORD dwflag );#pragma code()PlaySoundA("E:\\Projects-zrj\\WinccStandard\\zrj\\AlarmMp3\\alarm2.wav",NULL,1);/*PlaySoundA 函数的说明:参数 char* pszSound:指定声音文件 (*.wav 文件) 的全路径。

WINCC声音报警

WINCC声音报警

WINCC声⾳报警显⽰订货号站配置声卡或信号模块。

该实例描述了如何组态报警设备的报警和警告事件类来触发语⾳信号。

下述内容包括了⼯程站的所有组态(包括冗余服务器和OS客户端组态及消息确认)。

1.按照PCS 7 V6.0组态⼿册在SIMATIC Manager中组态所有单站、服务器、冗余服务器和客户OS站。

2.在⼯程站上通过WinCC Explorer打开 SIMATIC PCS 7 单站或服务器OS站。

3.切换到WinCC Explorer中的“内部变量”管理,在“Horn”变量组中分别为报警和警告事件类创建内部变量(也可以创建/选择新的变量组)。

图 01:报警设备编辑器中为后续连接创建内部变量4.注意事项:该程序仅⽤于在连接的OS客户站上进⾏组确认的情况下。

这时,需要其他的变量。

在同⼀组中创建该内部变量并确保对这些变量设置为“项⽬范围更新”。

图 02:通过“项⽬范围更新”定义的变量属性对话框5.双击WinCC Explorer中的Horn图标打开报警编辑器。

在“信号分配”标签中的事件类的下拉菜单中选择“报警”,下⼀⾏选择“警告”。

插⼊需要的其他事件类。

图 03:在“信号分配”标签中为报警编辑器组态和选择事件类。

6.通过“变量”栏中的变量选择对话框选择内部变量,该变量先前已被创建⽤于报警和警告事件类。

在后⾯通过这些变量的赋值过程控制声信号的触发。

图 04:在“信号分配”标签中选择报警编辑器的内部变量7.在“信号分配”标签中可从下拉菜单中使应⽤⽤户权限设置,并且此处必须按优先级激活事件变量。

您可以在⽂本末列出的⽂档中找到更多信息。

8.在该例的报警编辑器中组态“信号分配”标签,如下图所⽰。

图 05:报警编辑器中组态“信号分配”标签9.打开“信号分配”标签。

该标签中,先前选择的变量与信号模块的输出相连接(输出1、2或3),或者,如实例所⽰,通过声卡为信号的声输出选择语⾳⽂件(*.WAV)。

在每⾏中选择两个内部变量⽤于报警和警告;通过变量选择对话框的“Tag”栏选择。

如何在WINCC在做单个报警触发对应单个报警声音

如何在WINCC在做单个报警触发对应单个报警声音

2017年8月16日15:05:27如何在WINCC 中做单个报警触发对应单个报警声音如某个电机故障报警,就发出“某某电机故障报警”起到警示作用一、首先安装一个文字转语音的软件!并打开软件!二、在软件里输入报警容,如“P001收尘风机电机故障”三、点击生成MP3四、指定存放文件的路径,最好是存放在所要实现该功能的WINCC项目在网上邻居上的路径下的Horn下,这样到后面的组态就方便很多。

在WINCC项目在本电脑被正确打开后就会在网上邻居存放有WINCC项目和路径。

以上就是刚刚生成的报警声音所在的路径的报警声音文件,但它们格式只是MP3格式,不是WINCC系统所要求的WAV 格式,所以要下载的格式转换软件,将刚刚生成的MP3格式转换成WAV格式才行。

利用这个格式转换软件将MP3转换成WAV格式,再次将文件存放在刚刚的路径中来。

方便后面的组态。

打开WINCC项目,新建一个二进制变量部变量Error打开WINCC报警器组件在报警器组态的对话框中的消息分配中设置如上图所示容,意思就是当报警记录中的错误类别有报警触发时就置位刚刚新建的部变量Error。

然后在报警器组态的信息分配中组态最关键的容4的意思即使有很多报警同时触发时,也只能有一个声音报警响起,5组态触发声音报警的变量,6组态触发声音报警变量所对应的报警声音。

此处选择触发的报警变量此处选择报警触发变量所对应的报警声音至此报警器组态工作完成。

五、然后在WINCC项目的主画面组态能打开和关闭报警声音的按钮功能所用的报警的部系统自动的变量如下:其部变量对应的功能如上图所示它在WINCC项目的位置如下:六、在WINCC主画面中新建一个打开声音报警功能的按钮组件:它的属性如下:几何属性颜色属性样式属性字体属性主要是在文本中输入“报警音关”容闪烁属性如下不开闪烁功能其它功能如下主要是想组态当报警声音被关闭的时候显示该按钮填充属性如下画面属性如下效果属性如下然后就在事件选项中组态意思就是当在按钮组件上释放左键时就将常数1赋值给HornTriggeringSignalsActive,打开声音报警功能七、再新建一个取消声音报警功能的按钮组件该按钮的属性如下几何属性如下颜色属性如下:样式属性如下:字体属性如下:关键是在文本里输入“报警音开”字体闪烁属性如下:闪烁功能不开其它属性如下:意思是当报警声音开时显示该按钮组件填充属性如下:画面属性如下:效果属性如下:下面组态事件意思当鼠标在该按钮有鼠标动作时有如下C动作1、会弹出一个对话框,让你选择是进行取消报警声音的操作,并进行操作提示“请确认是否取消报警声音”2、同时赋值0给HornTriggeringSignalsActive和HornRese完成后将两个按钮重叠在一起并在画面中合适的位置上!C脚本如下:#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma option(mbcs)// WINCC:TAGNAME_SECTION_START// syntax: #define TagNameInAction "DMTagName"// next TagID : 1// WINCC:TAGNAME_SECTION_END// WINCC:PICNAME_SECTION_START// syntax: #define PicNameInAction "PictureName"// next PicID : 1if( MessageBox(NULL,"请确认是取消报警声音","报警声音取消操作提示!!",MB_OKCANCEL )== IDOK){SetTagBitWait("HornTriggeringSignalsActive",0); //Return-Type: BOOLSetTagBitWait("HornReset",0); //Return-Type: BOOL}// WINCC:PICNAME_SECTION_END //Return-Type: BOOL// WINCC:PICNAME_SECTION_START// syntax: #define PicNameInAction "PictureName"// next PicID : 1// WINCC:PICNAME_SECTION_END}至此整个组态工作完成以上的这种消除报警声音的方法只要取消报警声音按钮按下,即使系统再有报警出现也不会发出报警,除非再次点击“报警音开”打开报警音功能,此时若再有报警出现才会有报警声音出现。

WinCC实现声音报警的方法

WinCC实现声音报警的方法

内料介绍:C 脚本播放wav 艾件 C 脚木触发PC 蜂鸣器 VBS 脚木调用媒休播放器 报警器HORN 的使用、、、〕._j C:\WIHDOWS\Media、x 名称大才Q Config 亠(Sljonest^p. mi d40 39 3-91 _J CursorsXP 关键性终止.WWXp 电话拨入wav@1 Dowiiloade& Frogrsiii lil^s+ 二 Driver Cacheehome鬥 Fonts 田亡j HelpIIS Temporary Compressed Files ime in£InstallerowsWindows @L|Win ^WindowsWindows ^Jrecycle, w l±lX 首先请记录声音文件所 存放的路径名及文件名 (脚本当中需要填写) j125chemas MediaMicrosoft. HETiris agent crisapps rriuinetwork diagnostic + 因Offline Web Pa.ges +: _j pchoalth;3 Fe^rNet,J Prefetch^Windows X (g^flonri sh. (gjwindovs XFWindows XF town.(Tii iWindows XPWindows XPe]Windows XF(£]Windoys XF 込Ji-ingim wav^Windows XF^^jringout. waWindows XPWindows XFg ijilstart. wav请单击继续电 .wav av .wav .wav .wav 单命令川葩 23 23 22 22 20 20 17 10 7 6 3 2 2 205首先创建一个模拟水泵运行状 态的Bool 型变量“ Pump i ”濟抽电直X f W SE M 舒3舍局库E-C ] Displays + _J Op er at i CRB + 口 FlantELem ents⑥曰 _______ + 口 Symb ols 电SiemensHTAI ■库 D: \TESTPRJ\raCC\ELearning\0®总/电皂X 囤|》注ffii [画&-»—Q-& —M A$¥J -Ky J -?ra IS 曲如如符设管处、员Mf ns D HT昭跟A 全形科暖作规 (Tler AS AS AS Is 安泵变材采操常□□口□口 Hl rr l i ..砂t r r a ^^H M 冷却泵简易立式泵2 口离心泵1[®fil离心泵3 离心泵4离心泵2■对象属性扈性事件SymbolLibrary Cont roll打开泵对象的属性窗口进行属性设置■ Symb olLi brary i几何其它拄岸屁性Pi cture伸展符号翻转对象闪烁速度静态动?原本・0中-500添加泵的湄/停‘控制按钮在画面中插入诊断窗口(使于检验脚本执行过程D■对象冒性11形按钮园形按钮1十-1双点划线线宽二E 智能对象□画面窗口 0控件OLE 元素 筍入/辐出域应用程序窗口 对鎳展性GSC Diagnostics&翠玄应用程厚窗口融示勰翅框题IA斥显可可边标_冒前应用鸟窗口 1是是是是是是是否□匣園函=国形对象 伏态显示厘性爭件划启动/停止“按钮组态事件在以下情况下执行释放左键 按右键 释放右键动作动作边… E直接连接@)・.・ 总册]除鬼)^include •'apdefap -h" void OrtCIick(chIp§zPictureName, char^IpszObjectName, char* IpszPropertyName) { ^pragma option(mbcs)//WINCC:TAGNAME_SECTION_START// syntax:卡define TagNameInAction "DhCTsgMsme" //nextTsglD : 1//WIN CQTAGNAME.S ECTION 上 ND〃 WIN CCPICNAM E_SECTION_START// syntax: #define PicN&melnAction ''PictureName" //next PicID: 1/./WIN CCPICNAM E.SECTION.END ^include "apdefap.h"fKpragmacode ("Winmm.dll '*)VOID WINAPI PlaySoundA (char* pszSound, char^hmode, DWORD dwflag); #pragmacodeO printfC Start V\n H );PlaySoundA(,,C :WINDOWSWedia\VXLARM8.WAV ,,z NULLO); printf(,,End\rAn ,,)J T}t^pragma option (mbes)// WINCCTAG NAME.S E CTION^START//syntax: #define TagNameInAction "DMTagName" //next Tag ID : 1// WINCCTAG NAME_S E CTION.END圖SetTagBit3 SetTagByte 蜀 SetTagChar 圃 SetTagJouble 窗 SetTagDWord ►3SetTagfloa.t 圃 SetTagRaw 圃 SetTagSByte :...3 SetTagSDWord ; (3)SetTagSWord :蜀 SetTag :ViLu.e •““ 畐 SetTagWord.•♦-目 wince启动按钮C 脚本&匸空都崖欽►2Jallocate c_bibgraphics13邑曲 Sgset£1S Q state wait^include "apdefap.h"void OnCli ck(ch IpszPictureName, chs.^ IpszObjectName, char* IpszPropertyName) #pragm a option (m b cs)// WIN CC:TAG NAME^S E CTION_START// syntax: ^define TagNameInActi o n "DMTagName"//nextTagID : 1// WIN CC:TAG NAME.S E CTIO N_END// WIN CC:PICNAME_S ECTION_START// syntax: #define PicNameInAction "PictureName"//next PicID : 1//WINCC:PICNAME_SECTION_END尹in elude "apdefaph"^pragmacode ("Winmm.dll')VOID WIN API PlaySoundACchar" pszSound, char^hmode, DWORD dwflag);#pragmacodeQprintff Start \r\n n):PlaySoundAC'CA^INDOWS^MedisX^L^RMSWAV^N UIXO); printfCEndW1);^etTagBitfPumpI"J); //Return-Type:BOOL^)停止按钮C脚本include "apdefap-h11void OnClick(char^ IpszPictureName, char^ IpszObjectName, chat^ IpszPropertyN ame) {#pragma option(mbcs)//WINCC:TAGNAME_SECTION.START// syntax: #deline TagNamelnAction "DMTagName"//nextTagID : 1//WINCC:TAGNAME_SECTION_END//WINCCFICNAME.SECTION.START// syntax: #deline PicName InAction "PictureName"//nextPiclD:1//WINCC:PICNAME_SECTION_END#include "apdefap.h"#pragma code ("Winmm.dll '*)VOID WIN API PlaySoundA (char^ pszSound, char^ hmode z DWORD dwflag);# pragma codeOprintfCStart^n11);PlaySoundAC'OWINDOWS^Media^LARMS.WAV'LNU 丄0); printfC'End^n'1);SetTagBitC'Pumpl'lO); //Return-Type: BOOL注意:Flag =0x0000,该脚本独占C脚本线程,其它C脚本在此期间无法执行。

最全文档wincc的声音报警

最全文档wincc的声音报警

最全文档wincc的声音报警WinCC的声音报警工控Siemens WinC 2007-11-07 12:33:36 阅读592 评论1 字号:大中小订阅对于组态软件WinCC中的声音报警,也有不少的朋友在讨论这个话题,在这里写的是我在出差期间,需要在项目中用到的声音报警,并且实现自动触发,按钮关闭声音,再次自动触发的循环声音报警代码.在这之前我也不会用这一方面的报警,毕竟C语言对我来说,我只能说了解而不是精通,下面的代码实现过程是我从其他地方咨询了多次找来的可行的解决办法.首先,这是一个全局脚本,可以放在当前显示的画面的任何元素中,并对代码进行如下的添加:建个变量(Bit)“AlarmSound”有报警的时候为“1”,没有报警的时候“0”,写个全局脚本触发器里选择变量触发“AlarmSound”int gscAction( void ){#pragma code("Winmm.dll")BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag); #pragma code() if(GetTagBit("AlarmSound")!=0)sndPlaySoundA("c:\\win2003\\system32\\ALSNDMGR.WAV",0X1|0X8);elsesndPlaySoundA(NULL,0X0);return 0;}即可实现在肩控画面中出现报警的同时启动声音文件.在停止的时候用按钮控制,其中事件代码为:#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName){#pragma code("Winmm.dll")BOOL WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag); #pragma code() sndPlaySoundA(NULL,0X0);}对上述代码中:关于windows API函数sndPlaySoundA(char* szWave,DWORD dwFlag); char* szWave 是声音文件的路径DWORD dwFlag 是标识常量0x0:播放WAV 文件,播放完毕后将控制转移回你的应用程序中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

WinCC -- 组态报警和消息 -- 声音报警和消息
如何设置带有声音的信号消息?
在SIMATIC PCS 7 / WinCC V6.x下如何组态单站、服务器、冗余服务器和客户OS站的Horn编辑器?
通过消息触发喇叭
从 SIMATIC PCS 7 V5.x 的 MultiClient 中确认服务器中的信号模块
如何只有在用户成功登陆以后才激活声音报警?
信号模块的连接电缆 (6XV2175-8AH30) 的色号分配(管脚分配)是怎样的?
OS - WinCC -- 组态报警和消息 -- 声音报警和消息
如何将一台PCS 7客户端组态在声音报警确认组里?
为什么在客户端上无法确认连接服务器的信号模板?
如何设置带有声音的信号消息?
如何只有在用户成功登陆以后才激活声音报警?
在SIMATIC PCS 7 / WinCC V6.x下如何组态单站、服务器、冗余服务器和客户OS站的Horn编辑器?
信号模块的连接电缆 (6XV2175-8AH30) 的色号分配(管脚分配)是怎样的?
怎样使用确认组将额外的变量写入 PLC?
在SIMATIC PCS 7 / WinCC V6.x下如何组态单站、服务器、冗余服务器和客户OS站的Horn编辑器?
显示订货号
说明:
下列组态过程基于SIMATIC PCS 7 V6.0版本。

因此,适用于所有的PCS 7 V6.0 和WinCC V6.0以上的版本。

注意:
从PCS 7 V7或WinCC V6.2开始,系统增加了一些功能。

附录中详细介绍了这些附加功能。

在SIMATIC PCS 7 V6.0中,通过Horn编辑器为单站、服务器、冗余服务器和客户OS
站配置声卡或信号模块。

该实例描述了如何组态报警设备的报警和警告事件类来触发语音信号。

下述内容包括了工程站的所有组态(包括冗余服务器和OS客户端组态及消息确认)。

1.按照PCS 7 V6.0组态手册在SIMATIC Manager中组态所有单站、服务器、冗余
服务器和客户OS站。

2.在工程站上通过WinCC Explorer打开 SIMATIC PCS 7 单站或服务器OS站。

3.切换到WinCC Explorer中的“内部变量”管理,在“Horn”变量组中分别为报
警和警告事件类创建内部变量(也可以创建/选择新的变量组)。

图 01:报警设备编辑器中为后续连接创建内部变量
4.注意事项:
该程序仅用于在连接的OS客户站上进行组确认的情况下。

这时,需要其他的变量。

在同一组中创建该内部变量并确保对这些变量设置为“项目范围更新”。

图 02:通过“项目范围更新”定义的变量属性对话框
5.双击WinCC Explorer中的Horn图标打开报警编辑器。

在“信号分配”标签中的
事件类的下拉菜单中选择“报警”,下一行选择“警告”。

插入需要的其他事件类。

图 03:在“信号分配”标签中为报警编辑器组态和选择事件类。

6.通过“变量”栏中的变量选择对话框选择内部变量,该变量先前已被创建用于报
警和警告事件类。

在后面通过这些变量的赋值过程控制声信号的触发。

图 04:在“信号分配”标签中选择报警编辑器的内部变量
7.在“信号分配”标签中可从下拉菜单中使应用用户权限设置,并且此处必须按优
先级激活事件变量。

您可以在文本末列出的文档中找到更多信息。

8.在该例的报警编辑器中组态“信号分配”标签,如下图所示。

图 05:报警编辑器中组态“信号分配”标签
9.打开“信号分配”标签。

该标签中,先前选择的变量与信号模块的输出相连接(输
出1、2或3),或者,如实例所示,通过声卡为信号的声输出选择语音文件
(*.WAV)。

在每行中选择两个内部变量用于报警和警告;通过变量选择对话框的“Tag”栏选择。

然后在“Sound”栏中点击声音文件的选择对话框。

可根据需要,选择标准PCS 7声音文件或者您自己的语音WAV文件。

注意事项:
如果选择语音文件的绝对路径(例如C:\SIEMENS\WinCC\Sound\Horn.wav),记得在装载项目时目标PC中需要有同样的路径。

我们推荐将文件保存在自己的项目路径中。

这样就可以在保存项目的同时保存语音文件,从而路径始终正确。

图 06:在报警编辑器的“信号分配”标签中选择和分配语音文件
10.通过专门的本地确认的操作员站组态“警报器确认”,如下图所示。

图 07:使用本地确认的单用户站,单服务器或多用户工程。

11.通过SIMATIC PCS 7服务器站上的多个确认组态多用户工程的“警报器确认”,
如下图所示。

此时,在操作员站(包含在多用户工程中) 按下确认按钮,则通过多用户确认的“QuitMC”变量始终禁用声信号。

由此可禁用所有操作员站的声卡上的声信号。

选择“多个确认”选项;然后右击调出选项屏并选择在内部变量管理中预设的变量。

图 08:在PCS 7服务器站上组态多确认的变量
12.报警编辑器的组态完成。

点击“Apply”和/或者“OK”确认组态。

然后退出编辑
器。

13.从而,“HMRT.exe”输入到OS项目的启动列表中。

在WinCC Explorer中右击打
开服务器站的属性对话框显示该项。

图 09:在OS-Runtime中,使用启动警报器的“HMRT.exe” 的OS项目启动列表
下述文本仅适用于组态OS客户站
您必须预先生成一个服务包并将其装载到OS客户站。

在所有需要输出声音信号的OS客户端完成下述组态步骤:
1.打开OS客户端项目的WinCC Explorer。

2.按上述顺序重复组态步骤3、 5、6、 7、8 和9。

3.如果每个OS客户端需要单独确认,那么进行上述的组态步骤 10 。

然而,如果
需要多个确认,也就是所有的声输出被始终终止,则不管是哪个OS客户站执行确认,需要执行下述的组态过程。

切换到报警编辑器中的“信号分配”标签,选择“多个确认”选项。

通过服务包选择确认变量,如下图所示。

图 10:从OS客户站的服务包中选择确认变量
4.保存设置并关闭报警编辑器。

结束OS客户端项目的组态。

下列文本仅适用于组态冗余服务器
如果使用冗余服务器,可能也需要带有声音输出的组确认。

该情况下,请进行下面的组态过程:
1.在PLC中创建新变量,用于一对冗余服务器上多个确认所需的可用变量。

本例中,
数据块中的二进制变量被赋为操作员控制和监视属性,装载到相应的PLC中,并在OS中编译。

2.打开SIMATIC Manager,在‘Offline’块容器中创建新的数据块。

打开数据块,
创建新的二进制变量。

然后赋操作员控制和监视属性给该变量(这个红色旗标)。

图 11:带有数据块和二进制变量的PCS 7 项目的SIMATIC Manager
3.编译PLC和OS的用户程序。

然后装载用户程序到PLC。

4.上述组态步骤的2到9,严格按顺序进行。

5.除步骤11的组态之外,需要添加另一个变量。

这个变量在两个冗余服务器上都
可用。

在“信号分配”标签的“多个确认”选项下,从PLC变量管理中插入组态变量。

图 12:从PLC的数据块中选择变量用于冗余服务器上的多个确认
6.结束上述的报警编辑器组态。

现在必须的步骤已完成。

请参考“WinCC Information System”的说明获得更多信息,可在PC上成功安装SIMATIC PCS 7之后,通过“Start> SIMATIC > WinCC”调出。

您也可以在组态手册“SIMATIC Process Control System PCS 7 Operator Station V6.0”下找到附加说明,条目号:15229149。

!.
PCS 7 V6.1 和 WinCC V6.0 SP3的附录:
下面的两个图给出了先前版本没有的PCS 7 V6.1和WinCC V6.0 SP3的新增特性(红色旗标)。

您可以在WinCC Online Help (WIS)中找到新增特性的详细描述以及其意义,关键字“horn”
图 13
图 14
条目号:17778088 日期:2007-03-27
/CN/llisapi.dll?func=cslib.csinfo&lang=zh&objid=1777808 8&caller=view。

相关文档
最新文档