WinCC 声音报警和消息

WinCC 声音报警和消息
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.在该例的报警编辑器中组态“信号分配”标签,如下图所示。

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

WinCC的声音报警 对于组态软件WinCC中的声音报警,也有不少的朋友在讨论这个话题,在这里写的是我在出差期间,需要在项目中用到的声音报警,并且实现自动触发,按钮关闭声音,再次自动触发的循环声音报警代码. 在这之前我也不会用这一方面的报警,毕竟C语言对我来说,我只能说了解而不是精通,下面的代码实现过程是我从其他地方咨询了多次找来的可行的解决办法. 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); else sndPlaySoundA(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);

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;

WINCC实现声音报警

在WINCC中实现声音报警 2009-02-06 20:13 先在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下没有的自己建一个 //Project Function GetProjectPath() BOOL GetProjectPath(char* lpstrProjectPath) { BOOL bRet = FALSE; char szProjectFile[_MAX_PATH+1]; char* psz = NULL; CMN_ERROR Error; bRet = DMGetRuntimeProject(szProjectFile,_MAX_PATH+1,&Error); if (bRet == FALSE) { return FALSE; } psz = strrchr(szProjectFile,'\'); if (psz ==NULL) { return FALSE; } *(psz+1) = 0; strcpy(lpstrProjectPath, szProjectFile); return TRUE; } //Project Function CC_PlaySound() #include "apdefap.h" void cc_playsound(char* lpszSoundFile) { #pragma code("winmm.dll")

Wincc V7.3基于上位机声音报警的实现方法

11.Wincc V7.3基于上位机声音报警的实现方法 (2016-02-29 19:24:09) 转载 ▼ 标签: wincc 上位机声音报警 分类:西门子软硬件 案例:Wincc V7.3做上位机程序,希望有报警到来时,发出声音报警防止操作员打盹。这里描述了实现这种功能的方法之一,但不是唯一的方法。 Wincc建以下内部变量: Alarm 32位浮点数;Path 文本变量8位字符集。 Wincc中建立一个主画面,有一排导航按钮,有一个picturewindow,点击导航按钮跳转到相应工艺画面,有一个报警控件,名字为ctrlAlarm,有一个消音按钮用于消除声音和报警确认,如下图所示。 在画面的打开事件中,写入以下VBS脚本,把项目路径和波形文件路径写入path变量。 Sub OnOpen() Dim path_vbs,path_c Set path_vbs=HMIRuntime.Tags("Path") path_vbs.write HMIRuntime.ActiveProject.Path & "\alarm.wav" '以下代码将'\'替换成'\\',以备c脚本引用项目路径 path_c=Replace(path_vbs.read,"\","\\") HMIRuntime.Tags("Path").Write path_c End Sub 建立一个全局VBS脚本,判断是不是有新的报警产生,5秒循环触发。 Option Explicit Function action '每5秒通过每个工艺画面报警控件"组确认"按钮是不是灰色的判断是不是有新的报警,如果有就把ResetAlarm复位Dim ctrlAlarm,ctrlToolbarButton Set ctrlAlarm=HMIRuntime.ActiveScreen.ScreenItems("ctrlAlarm") Set ctrlToolbarButton=ctrlAlarm.GetToolbarButton("QuitVisible") If ctrlToolbarButton.Enabled Then ‘如果按钮'组确认'不是灰色的,说明有新的报警产生 HMIRuntime.Tags("Alarm").Write 1.0 Else HMIRuntime.Tags("Alarm").Write 0 End If

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

如何在SIMATIC PCS 7 V8.0 和 WinCC V7.2中组态声音报警Horn

如何在SIMATIC PCS 7 V8.0 和WinCC V7.2中组态声音报警Horn? 描述 下面的组态说明基于SIMATIC PCS 7 V8.0 SP1。但同样适用于PCS 7 V8.0 和WinCC V7.2以上版本。注意 ?声音报警可以组态在OS 单站、OS 服务器和OS客户端。 ?可以在多个或全部这些站点中组态。 ?每个站中的设置可以不一致。 ?每个报警声音可以只被本地计算机确认或通过确认组由其它计算机确认。 ?早期版本中通过报警变量实现的多台计算机确认报警声音的方法依旧可用,详细说明参见Entry ID17778088. 说明

在"Tag" 列中,为这个消息类型指定一个变量. 图. 01: 在Message Assignment 标签页中组态和选择消息等级

图. 02: 在变量管理器中创建"Horn"变量组 声音报警编辑器的"Message Assignment"标签页可以进行更多的设定。比如,可以限定对应的区域或特定优先级。 图. 03: 选择消息的优先级和区域

有效区域权限的设置在用户管理中设置.。 这个设定应用于操作站只用于操作部分特定的区域并只需获得这些特定的区域的报警信息,那么只有这些报警消息需要声音报警。 如果OS站是中控室中众多操作站中的一台,报警声音与当前登录用户的权限无关,那么需要在" authorization check"中勾选取消默认设置。 图. 04: 取消默认权限设置 部分报警重复出现频率很高,报警声音会在消息到来时反复产生。当报警出现频率非常高时报警声音也会在确认后反复产生,如果选择"Not for incoming messages without acknowledgment",报警声音只会在报警被确认后再次发生时才会产生。

wincc报警声音脚本

wincc声音报警 版本,wincc有horn控件,可以用它来简单设置播放wav格式的声音文件。 2、全局脚本控制: #include "apdefap.h" int gscAction( void ) { #pragma code("Winmm.dll") void WINAPI PlaySoundA(char* pszSound ,char* hmode,DWORD dwFlag); #pragma code() DWORD A1,A2,A3,A4,A5,A6,A7; DWORD B1,B2,B3,B4,B5,B6,B7; A1=GetTagDWord("YQ_ALARM_1"); A2=GetTagDWord("YQ_ALARM_2"); A3=GetTagDWord("YQ_ALARM_3"); A4=GetTagDWord("YQ_ALARM_4"); A5=GetTagDWord("YQ_ALARM_5"); A6=GetTagDWord("YQ_ALARM_6"); A7=GetTagDWord("COMM_ALARM"); B1=GetTagDWord("YQ_ALARM_SAVE_1"); B2=GetTagDWord("YQ_ALARM_SAVE_2");

B4=GetTagDWord("YQ_ALARM_SAVE_4"); B5=GetTagDWord("YQ_ALARM_SAVE_5"); B6=GetTagDWord("YQ_ALARM_SAVE_6"); B7=GetTagDWord("COMM_ALARM_SAVE"); if( ((A1^B1)&A1) ((A2^B2)&A2) ((A3^B3)&A3) ((A4^B4)&A4) ((A5^B5)&A5) ((A6^B6)&A6) ((A7^B7)&A7) ) SetTagBit("yq_alarm_out",1); if (GetTagBit("yq_alarm_out")) PlaySoundA("c:\\winnt\\Media\\chord.wav",NULL,1); SetTagDWord("YQ_ALARM_SAVE_1",A1); SetTagDWord("YQ_ALARM_SAVE_2",A2); SetTagDWord("YQ_ALARM_SAVE_3",A3); SetTagDWord("YQ_ALARM_SAVE_4",A4); SetTagDWord("YQ_ALARM_SAVE_5",A5);

WinCC实现声音报警的方法

内料介绍: C 脚本播放wav 艾件 C 脚木触发PC 蜂鸣器 VBS 脚木调用媒休播放器 报警器HORN 的使用 、 、、

〕._j C:\WIHDOWS\Media 、 x 名称 大才 Q Config 亠(Sljonest^p. mi d 40 39 3-9 1 _J Cursors XP 关键性终止.WW Xp 电话拨入wav @1 Dowiiloade& Frogrsiii lil^s + 二 Driver Cache ehome 鬥 Fonts 田亡j Help IIS Temporary Compressed Files ime in£ Installer ows Windows @L|Win ^Windows Windows ^Jrecycle, w l±l X 首先请记录声音文件所 存放的路径名及文件名 (脚本当中需要填写) j 125chemas Media Microsoft. HET iris agent crisapps rriui network diagnostic + 因 Offline Web Pa.ges +: _j pchoalth ;3 Fe^rNet ,J Prefetch ^Windows X (g^flonri sh. (gjwindovs XF Windows XF town.(Tii i Windows XP Windows XP e]Windows XF (£]Windoys XF 込 Ji-ingim wav ^Windows XF ^^jringout. wa Windows XP Windows 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 ”

相关文档
最新文档