100){PlaySoundA("C:\\\\ProgramFiles\\\\WindowsNT" />
文档库 最新最全的文档下载
当前位置:文档库 › WinCC实现声音报警的方法

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\\Windows

NT\\Pinball\\SOUND36.WAV",SND_ASYNC|SND_LOOP);

else

sndPlaySoundA(NULL,SND_ASYNC);

//sndPlaySoundA("C:\\windows\\media\\office97\\laser.wav",SND_ASYNC|SND_LOOP); }

return 1;

}

这个可以实现报警记录中只要有报警发生,那么就触发声音报警。

以上程序均已在WINCC5.1、WINCC6下运行通过

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 声音报警

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 V7.5 离散量报警组态

WinCC V7.5 离散量报警组态 实现变量的某一个位来触发报警,通常组态离散量报警,例如设备的故障信号。 1.首先在项目管理器左边菜单中双击“报警记录”。 2.在弹出的报警记录编辑器中选择“消息”。 3.在右边消息列表中选择“消息变量”,这里需要选择触发报警的变量。 4.消息变量的数据类型可以是:二进制变量,无符号的8位值,无符号的16位值,无符号的32位值。 5.然后填写消息位,也就是触发报警的位。

如果是二进制变量,变量仅有1位,默认填写0。 如果是无符号的8位值,变量是1个字节,1个字节有8位对应0-7,例如DB1.DBB0 消息位对应如下。 如果是无符号的16位值,变量是2个字节,2个字节有16位对应0-15,但是字中的字节高低顺序是交换的,例如DB1.DW0 消息位对应如下。 无符号的32位值,字节高低顺序也是由高到低。 5.填写消息文本。 6.在图形编辑器中打开画面,从右边的控件列表中,把WinCC AlarmControl控件拖拽到画面,用于显示报警。

7.在弹出的控件属性对话框中(双击控件也可以弹出熟悉对话框),选择消息列表,把需要显示的块从左边列表添加到右边列表,然后保存画面。

8.最后在项目编辑器中选择“计算机”,然后双击计算机名,在弹出的属性对话框中选择“启动”列表,在列表中勾选“报警记录运行系统”,然后激活项目。

项目运行后,可以看到,当触发变量由0变1(0->1),报警控件将显示报警触发的日期,时间,消息文本等。

离散量报警默认是触发位由0变1(0->1),生成报警消息。如果需要组态触发位由1变0(1->0),生成报警消息,

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报警记录

报警记录 在Wincc中可以组态事件的报警,组态事件报警基本上可以分为两个步骤。 1.在报警编辑器中设置报警的各种类别,包括上限下限值触发的模拟量报警,还有通过消 息变量触发的报警例如:开关量的报警。 2.通过对报警控件的设置实现报警显示。在画面编辑器中插入报警记录控件,报警控件具 有很多的功能。包括报警显示,对报警的确认,报警的自动归档,报警的查询等等。 首先组态一个模拟量报警,并通过此实例来说明状态变量,确认变量的定义及用法。在下一个实例中说明消息变量的使用。 模拟量报警 新建个项目命名为alarmtext点击创建按扭 打开报警记录编辑器,我们可以看到报警记录的主画面,包括消息块,消息类别,组消息,

和归档组态。 首先组态报警。组态报警就是设置报警消息的一些内容,包括时间,日期。报警地点,报警消息,产生报警的当前值以及报警的类别!报警消息的时间,日期对应消息块中的系统块。报警地点,报警消息对应消息块的用户文本块。当前值对应过程值块。故障报警对应消息类别。所以我们开始建立组态。 一.添加系统快。在消息块的系统快点击右击添加/删除

添加系统快我们可以看到系统已将编号,日期,时间选中。我们还可以添加左侧的系统快。但我们只使用编号,日期,时间选项。点击确定按钮。 我们看到所选的系统快已经显示出来

二.添加用户文本块。用户文本块采用同样的方法添加所需的块。我们采取默认选择的错误点和消息文本. 点击确定订按钮。 为了能使报警信息显示更多内容修改消息文本和错误点的字符长度改为30.双击消息文本,错误点修改。

。 三.添加过程值块 将过程值块中的过程值1,过程值2,过程值3添加到右侧如图。

WinCC V7.5 SP1报警消息的状态变量

WinCC V7.5 SP1报警消息的状态变量 在WinCC的报警消息中,一般情况下,在报警控件中的“确认状态”列中显示报警消息的状态。除此之外,还可以为报警的单个消息、报警组、报警类型和报警等级组态相关的状态变量和状态位。这样,就可以在不使用报警控件的情况下,而在其它动态或脚本等逻辑中通过状态变量来获取相关报警消息的状态信息。 状态变量包括两个状态信息,状态位和确认位。状态位表示报警消息是到达/离开,确认位表示报警消息是否需要确认。 ? 注意:状态变量的数据类型必须为无符号8/16/32位值,分别可以对应4/8/16个消息对象。 在组态状态变量时需要定义状态位的位置,而确认位的位置取决于状态位的位置。 状态变量的数据类型为“无符号8位值”时,状态位为0~3位,分别对应的确认位为4~7位。状态位与确认位的位间隔为4位。如果状态变量的状态位为位号2,则位号2表示相应消息的到达/离开状态,而位号6表示该消息是否需要确认。 状态变量的数据类型为“无符号16位值”时,状态位为0~7位,分别对应的确认位为8~15位。状态位与确认位的位间隔为8位。如果状态变量的状态位为位号6,则位号6表示相应消息的到达/离开状态,而位号14表示该消息是否需要确认。 状态变量的数据类型为“无符号32位值”时,状态位为0~15位,分别对应的确认位为16~31位。状态位与确认位的位间隔为16位。如果状态变量的状态位为位号9,则位号9表示相应消息的到达/离开状态,而位号25表示该消息是否需要确认。 在报警编辑器中选择相应的消息,在“属性”-“消息”-“常规”中选择相应的“消息等级”、“消息类型”和消息组“后,在“变量”中选择相应的状态变量和状态位。

WINCC-C脚本大全

WINCC C脚本的标准函数 1 2009-08-06 17:04 标准函数 该系统包含标准函数。可以按需要修改这些函数。此外,还可以自己创建标准函数。 该系统包括一个标准函数集。 一、Alarm - 简短描述 Alarm组包含控制WinCC报警控件的函数。标准函数可用于工具栏中的每一个按钮。这些函数可用来创建自定义工具栏,例如选择画面,或者定义控件上的设置。 1.void AcknowledgeMessage(DWORD MsgNr)函数,确认消息系统中带编号的消息,该编号被传递为参数。 使用标准函数操作WinCC报警控件的实例 {//确认选择的报警记录消息 AcknowledgeMessage(GetTagWord("U08i_Msg Nr")); } 指定待确认的消息号。在本例中是从变量读取的。 2.BOOL AXC_OnBtnArcLong(char* lpszPi ctureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在长期归档中。 使用标准函数操作WinCC报警控件的实例 {// 跳转到WinCC报警控件中的第一条消息 AXC_OnBtnMsgFirst("gs_alarm_00","Contro l1"); } AXC_OnBtnMsgFirst函数参数: “gs_alarm_00”是在其中组态WinCC报警控件的画面的名称。 Control 1是WinCC报警控件的对象名。 3.BOOL AXC_OnBtnArcShort(char* lpszPic tureName, char* pszMsgWin)函数,在消息窗口中该函数表示消息存储在短期归档中。

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

把 WinCC 报警控件的工具栏功能分配给外部按钮

描述: 可以参照以下方法把WinCC 报警控件的工具栏功能分配给外部按钮: ?从WinCC V7 开始使用新的报警控件 ?从WinCC V6 开始使用旧的报警控件(在WinCC V7 的图形编辑器中称为Alarm Control (Classic)) ?在WinCC V6 及以前版本的常规操作步骤 从WinCC V7 开始使用新的报警控件: 如果不希望在运行状态通过工具栏操作WinCC 报警控件,可以选择通过使用C 函数“SetPropDouble”或“SetPropWord”把工具栏按钮的功能分配给外部按钮。该功能同样可以使用VB 脚本实现。详细信息可以在WinCC 在线帮助的以下路径中获得: ?使用WinCC> 建立消息系统> 运行期间显示消息> 组态报警控件>如何使报警控件的工具栏动态化 ?使用WinCC> 建立消息系统> 运行期间显示消息> 在运行系统中操作>在运行期间操作报警控件 例子: 使用C 函数“SetPropDouble”切换到短期归档

的“工具栏”页。关于“ID”的重要信息可以在WinCC 在线帮助的以下路径找到:“使用WinCC> 建立消息系统> 运行期间显示消息> 在运行系统中操作>在运行期间操作报警控件”。 Fig. 01

通过以下路径选择函数:“内部函数> graphics > set > property >SetPropDouble”。Fig. 02

?lpszPropertyName:需要改变的属性名称(本例中控件的"ToolbarButtonClick" 属性)。 ?dValue:按钮对象的ID (这里输入步骤1 中的对象ID,本例中为4 )。 Fig. 03 使用旧的WinCC V6 报警控件( 在WinCC V7 的图形编辑器中称为Alarm Control (Classic))如果不希望在运行环境下通过工具栏操作WinCC 报警控件,可以选择使用“SetPropDouble”函数分配工具栏的功能给外部的按钮。 例如: 切换到短期归档

如何把 WinCC 报警控件的工具栏功能分配给外部按钮

如何把 WinCC 报警控件的工具栏功能分配给外部按钮
描述: 可以参照以下方法把 WinCC 报警控件的工具栏功能分配给外部按钮:
? 从 WinCC V7 开始使用新的报警控件 ? 从 WinCC V6 开始使用旧的报警控件(在 WinCC V7 的图形编辑器中称为 Alarm Control (Classic)) ? 在 WinCC V6 及以前版本的常规操作步骤
从 WinCC V7 开始使用新的报警控件:
如果不希望在运行状态通过工具栏操作 WinCC 报警控件,可以选择通过使用 C 函数“SetPropDouble”或 “SetPropWord”把工具栏按钮的功能分配给外部按钮。该功能同样可以使用 VB 脚本实现。详细信息可以在 WinCC 在 线帮助的以下路径中获得:
? 使用 WinCC > 建立消息系统 > 运行期间显示消息 > 组态报警控件 > 如何使报警控件的工具栏动态化 ? 使用 WinCC > 建立消息系统 > 运行期间显示消息 > 在运行系统中操作 > 在运行期间操作报警控件
例子: 使用 C 函数“SetPropDouble”切换到短期归档
No. 步骤 1 注意需要控制按钮的对象 ID (在本例中,调用短期归档)。按钮对象 ID 在控件配置对话框的“工具栏”页。关于“ID”
的重要信息可以在 WinCC 在线帮助的以下路径找到:“使用 WinCC > 建立消息系统 > 运行期间显示消息 > 在运 行系统中操作 > 在运行期间操作报警控件”。

Fig. 01
2 在需要的画面中,创建一个按钮来分配工具栏按钮的功能。 3 在按钮的“对象属性”中选择“事件”标签。 4 在“鼠标 > 鼠标动作 > C 动作” 组态以下动作。 5 通过以下路径选择函数:“内部函数 > graphics > set > property > SetPropDouble”。

WinCC V6.2 报警控件、在线趋势

WinCC V6.2 报警控件、在线趋势/表格控件数据查询WinCC V6.2 Alarm Control,Online Trend/Table Control data query method

摘要本文介绍了WinCC V6.2系统使用报警控件、在线趋势/表格控件做数据查询的各种组态方法。 关键词WinCC V6.2,在线趋势控件,在线表格控件,报警控件,数据查询 Key Words WinCC V6.2,WinCC Online Trend Control,WinCC Online Table Control,WinCC Alarm Control,Data Query IA&DT Service & Support Page 2-15

目录 1.报警控件数据查询 (4) 1.1 报警控件手动查询 (4) 1.2 使用脚本对报警控件做查询 (7) 2.在线趋势/表格控件数据查询 (8) 2.1 在线趋势/表格控件手动查询 (8) 2.2 使用脚本对在线趋势/表格控件做查询 (11) 附录-推荐网址 (14) IA&DT Service & Support Page 3-15

1.报警控件数据查询 在WinCC报警记录组态时,我们可以给报警消息定义不同的类别、类型、用户文本块等(图1),有了以上的组态,我们就可以自定义过滤条件,在报警控件中查询或显示分类的报警信息。 图 1 1.1 报警控件手动查询 在组态报警控件时,可直接设置报警控件过滤条件。 双击报警控件,在“WinCC报警控制属性”对话框中选择“消息列表”,然后单击“数据准备”区域中的“选择”按钮,在“指定选择”对话框中,通过对左边列表中复选框的选择,可以任意组合过滤条件(图2)。 图例中给出了查询错误点“设备A”的“停机故障”类报警的组态。保存组态后,此报警控件在运行时直接显示过滤后的查询结果。 点击“删除选择”按钮,可删除已组态的过滤条件,然后重新设置。 IA&DT Service & Support Page 4-15

如何在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);

WinccAlarmView说明书

Wincc报警框控件使用说明 ( WinCCAlarmView V1.0) Getting Started Edition (2014-6-15)

摘要: 在使用WinCC过程中,经常需要一些报警,报警一般都需要实时的显示给监控人员。常规的画面结构有下面几种 图1 很多做法是把报警控件放到底部Bottom这一部分,或者在Top上面放一两条报警的控件(WinccAlarmControl),但是这一做法报警的时候,很多时候客户并不能很及时的发现报警,不是很直观,所以后来我们在底部放报警控件(WinccAlarmControl)的同时可能会在TOP、Left放一些比较直观的报警对话框下图所示的对话框: 图2 这样的报警框虽然比较直观,但是报警多了麻烦就来了,基本上每个报警就是这么一个框,这样就显的很麻烦了。多了的时候页面放都放不下,所以写了这个控件就是想利用这个控件减少这些重复的开发工作。由于开发测试时间有限,此控件可能存在一些BUG,望各位工程师能把发现的一些BUG反馈给本人,可以发邮件到admin@https://www.wendangku.net/doc/287933848.html,,或者也可以登录我的个人BLOG(https://www.wendangku.net/doc/287933848.html,)给我留言。

1.控件概述 WinCCAlarmView控件(后面提到的此控件均指WinCCAlarmView)是基于. netframework3.5开发的.net控件,所以它适用的WinCC版本,为WinCC7.0及以上。 此控件基于Wincc的报警记录,所以只要配置好WinCC的报警记录,此控件自动会显示相应的报警,报警消失或者报警确认此控件就会隐藏,不会显示报警框。 2.控件重要的一些属性说明 (1)、AlarmText属性: 显示此时的报警内容,此值会根据报警内容变化而变化。 (2)、MaxWidth属性: 报警框最大宽度,有时单个报警的文本会比较长,此时报警框就会使自身的宽度增加,直至到达最大宽度(MaxWidth)如果还是不够显示这个文本宽度,系统会自动换行。(3)、MaxHeight属性: 报警框最大高度,当报警比较多超过了报警框默认的高度,此时报警框就会使自身的高度增加,直至到达最大高度(MaxHeight)如果还是不够显示许多条报警,系统会增加滚动条使报警显示完全。 (4)、AlarmClass属性: 这个是一个比较重要是属性,默认是0,就是显示所有类别的报警。 如何查看报警类型,打开WinCC报警记录,系统默认有三类报警类别,分别是:错误、系统,需要确认、系统,无确认。你可以右击相应的报警类别—属性,就可以看到对应相应报警类别,如下图:

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 ”

相关文档
相关文档 最新文档