WINCC 声音报警
WinCC -- 组态报警和消息 -- 声音报警和消息
/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实现声音报警的方法
#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在做单个报警触发对应单个报警声音
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实现声音报警的方法
//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声音报警的使用
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语音报警说明
WinCC语音报警说明1、需要建立一个语音数据库,用来保存需报警的语音文件名,打开SQL的“EnterpriseManager”,如下图所示:新建一个数据库,名为“comm”,如下图所示:2、修改comm数据库的属性,将Model改为Simple,勾选Auto Shrink,如下所示:3、新建一张数据表sound,如下图所示:表的结构如下所示:保存,名为“sound”,如下图所示:关闭Sql。
4、打开Windows的控制面板-> 管理工具-> 数据源(ODBC),如下图所示:点击“添加”按钮:选中SQL Server,点击“完成”.在名称中输入comm,在服务器中选择本机的WinCC,然后点击“下一步”:默认选择,点击“下一步”:选中“更改默认的数据库为”,选择comm数据库,点击“下一步”:默认选择,点击“完成”:点击“测试数据源按钮”:出现“测试成功!”时,说明ODBC数据源添加OK,点击“确定”即可:5、打开WinCC的报警记录,将需要报警的项选中“触发一个动作”,如果想让变量在下降沿报警,就还要选中“是在下降沿创建”,如下图所示:6、打开WinCC的全局脚本,添加一个项目函数AddSoundToDatabase,代码如下:void AddSoundToDatabase(char* DatabaseName,char* TableName,char* Text){__object *db, *rs;char sql[500];db = __object_create("ADODB.Connection");rs = __object_create("ADODB.Recordset");if(db!=NULL){sprintf(sql,"DSN=%s",DatabaseName);db->Open(sql);if(db->State!=0){sprintf(sql,"INSERT %s VALUES (1,'%s')",TableName,Text);rs->Open(sql,db,1);}}db->Close();__object_delete(rs);__object_delete(db);}如下图所示:7、当变量“aaa”由0变成1时,就会触发一个动作,执行WinCC内部的GMsgFunction,我们需要修改这个脚本。
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 PRO V16 声音报警
WinCC PRO V16 声音报警WinCC RT Rrofessional V16 项目支持在报警产生时播放声音。
实现原理如下:当某个报警类别的包含的启用了“报警器”功能的报警消息“到达”时,该报警类别的“报警器确认变量”置位;通过“计划任务”可以触发脚本动作,在脚本中可以根据该变量的数值来播放声音。
下面,我们以一个示例来看一下具体组态过程。
组态步骤1.为“报警类别”设置“报警器确认变量”在HMI报警> 报警类别的属性里,设置报警类别的“报警器确认变量”。
如下图所示,为3个报警类别组态了“报警器确认变量”。
注:示例中使用的是3个Bool 型的内部变量,实际使用过程中用户可以根据需要选择其他数据类型的变量或外部变量。
2.为报警消息激活“报警器”功能对于希望触发播放声音的报警消息,需要在报警消息的属性里激活“报警器”功能。
注:如下图所示,3个报警类别中各有2条报警消息激活了“报警器”功能,则这6条消息“到达”时会触发声音播放;这3个报警类别中的其他消息没有激活“报警器”功能,则剩余的其他消息“到达”时不会触发声音播放。
3.创建C脚本播放声音文件在项目树中,添加C脚本,通过PlaySoundA 函数来播放声音文件,如下图所示。
注:脚本逻辑:判断3个报警类别的“报警器确认变量”是否为“真”,为“真”则播放声音;全部为“假”,则静音。
注:脚本运行特点:由于PlaySoundA 函数的运行特点,该脚本中如果多个报警类别同时满足播放条件,则仅播放靠后的PlaySoundA 函数所对应的声音文件。
4. 创建“计划任务”触发脚本动作在项目树中,添加计划任务,在计划任务属性> 事件中关联上一步创建的C脚本,如下图所示。
然后,如下图所示,设置该计划任务的触发器为“变量触发器”,触发变量为各报警类别的“报警器确认变量”。
运行系统中的操作在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 C语言声音报警
如何在WinCC 中通过 C 脚本输出声音?解答:附件是一个小实例。
该C 动作位于按钮后,这样只需单击该按钮就可产生声音。
C 动作:#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y){#pragma code ("Winmm.dll ")VOID WINAPI PlaySoundA ( char* pszSound, char* hmode, DWORD dwflag );#pragma code()PlaySoundA("C:\\Winnt.400\\Media\\tada.wav",NULL,1);}该功能需要有声卡。
PlaySoundA 函数的说明:参数char* pszSound:指定声音文件(*.wav 文件) 的全路径。
参数char* hmode:总为0。
参数DWORD dwflag:SND_SYNC = 0x0000:声音文件播放一次,该脚本一直等到播放结束SND_ASYNC = 0x0001:声音文件播放一次,同时并行处理该脚本SND_NODEFAULT = 0x0002:如果未找到该声音文件,则不播放默认值,而是什么也不播放。
SND_LOOP = 0x0008:重复该声音文件直到下个PlaySoundA 调用(只能通过0x0001) => 总是指定0x0009。
这些参数也可通过逐位逻辑‘或’进行组合(如:SND_ASYNC | SND_LOOP)注意事项:如果想使用计算机内部扬声器的蜂鸣声而不是声音文件,则实现如下脚本:由于寻址内部扬声器,无需声卡。
#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINTnFlags, int x, int y){#pragma code ("Kernel32.dll")BOOL Beep( DWORD dwFreq, DWORD dwDuration); //dwFreq 定义蜂鸣声的频率,单位:Hz//dwDuration 指定蜂鸣声的持续时长,单位:ms#pragma code()Beep(1000,100); //实例:频率:1000 Hz,100 ms}。
最全文档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 文件,播放完毕后将控制转移回你的应用程序中。
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 文件) 的全路径。
画面增加声音报警的方法总结
汽化冷去操作画面增加声音报警的方法为了保证春节期间的稳定运行,现在汽化冷却的操作画面的声音报警已经增加完毕。
由于原来的声音报警画面没有备份,这次重新添加,发现存在几个要点需要注意,增加声音报警的步骤总结如下:1、先确认计算机上安装的声卡驱动是否正常,确认方法,可以通过直接播放计算机内的音频文件,是否能正常播放。
另外在声音和音频设备属性卡里是否有默认设备图1 声音和音频设备属性页2、汽化冷却系统的操作画面是基于WINCC软件制作的,在WINCC上增加声音报警通常有两种方法:一种是通过C语言编程的方式在WINCC里的全局脚本中增加相应的程序段,实现声音报警的功能;另一种是通过wincc中的HORN 声音报警控件实现报警,由于在安装程序时没有安装相关的控件软件,所以我选择了第一种用C语言编译的方法来实现。
3、在WINCC项目界面中找到全局脚本选项,有C-Editor和VBS-Editor两个选项卡,如图2,打开C-Editor ,本次要进行做的声音报警,可以通过动作中的全局动作来实现,新建一个全局动作,如图3。
图2 WINCC 项目主界面图3 全局动作编辑界面4,在程序编辑界面中,按照要求编辑入逻辑程序。
编辑结束以后点击编译键,如果编译成果会在下边提示“0warning ,0error ”,然后点击保存。
保存为声编译键信息和触发键音报警.pas,附录1为现在最新编辑的程序。
在编辑程序过程中创建了一个WINCC内部变量,用来控制声音报警开启和暂停,用于画面上操作用。
5、编辑完成后,还要设定触发方式和周期,单击编译键左边的信息和触发键,会打开一个相关的对话框,点击到触发页。
分为周期触发和变量触发,两种方法都可以,这里我选用的是周期触发,设定周期为5秒,如图4所示。
图4 触发器编辑界面6、由于使用的全局脚本在WINCC软件中为独立的系统,所以需要在WINCC 里计算机属性中的启动选项中将全局脚本系统选中,然后再重新激活运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
WinCC --
如
在
通
从
如
信
显示订货号
从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。