技术论坛

WINCC怎么通过全局脚本触发声音报警

作者 主题
至圣

经验值: 22438
发帖数: 4202
精华帖: 8
主题:WINCC怎么通过全局脚本触发声音报警


只看楼主 楼主 2015-02-02 08:10:35
各位大师,WINCC怎样通过全局脚本触发每一台OS站声音报警,比如我1#计算机,登录为"OP01",那这个脚本应该怎样写呢?
别人在休息的时候,我往前走。
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1208999&b_id=5&s_id=0&num=3

版主

经验值: 32723
发帖数: 13507
精华帖: 52
回复:WINCC怎么通过全局脚本触发声音报警


只看楼主 1楼 2015-02-02 08:23:26
#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");
B3=GetTagDWord("YQ_ALARM_SAVE_3");
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);
SetTagDWord("YQ_ALARM_SAVE_6",A6);
SetTagDWord("COMM_ALARM_SAVE",A7);
return 0;
}
以上是多个报警触发一个声音,你可以增加并修改if条件来达到一个报警对应一个声音。消音按钮复位yq_alarm_out。
活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
至圣

经验值: 22438
发帖数: 4202
精华帖: 8
回复:WINCC怎么通过全局脚本触发声音报警


只看楼主 楼主 2楼 2015-02-04 07:43:21
没有更详细的解答吗?
别人在休息的时候,我往前走。
以下网友喜欢您的帖子:

  
版主

经验值: 32723
发帖数: 13507
精华帖: 52
回复:WINCC怎么通过全局脚本触发声音报警


只看楼主 3楼 2015-02-04 07:58:04
你还要多详细?剩下的就是c语言的基础了呀!
前面的A,B=是读取变量的值,第一个if是判断A和B相异且A为1,即报警第一次来,则置位报警标志位;第二个if是判断如果报警位为1,则播放这个路径下的wav文件。最后把当前报警状态保存。
活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
WINCC怎么通过全局脚本触发声音报警
×
扫描打开手机版
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。