您现在所在的是:

PLC论坛

回帖:5个,阅读:453 [上一页] [1] [下一页]
928
yaqiang068
文章数:33
年度积分:50
历史总积分:928
注册时间:2009/10/9
发站内信
发表于:2011/12/17 15:46:28
#0楼
#pragma code("Winmm.dll")
VOID WINAPI sndPlaySoundA(char* szWave,DWORD dwFlag);
#pragma code()

if(GetTagBit("Alarm001")!=0)
if(GetTagBit("Alarm002")!=0)

sndPlaySoundA("C:\\WINDOWS\\Media\\ALSNDMGR.WAV",0X1|0X8);
else
     sndPlaySoundA(NULL,0X0);  
报警声音输出,一个变量置位,输出没问题,声音就出来了,但就如上我写多个变量,只有最后一个才又输出,求解,或者说下多变量的脚本怎么写
5675
dianqisu 版主
文章数:1312
年度积分:50
历史总积分:5675
注册时间:2008/3/13
发站内信
2012论坛优秀版主
2010年度论坛贡献奖
发表于:2011/12/17 16:12:25
#1楼
WINCC 没有用过,如果是C 格式的话,你的选择语句有问题!用{ } 嵌套是必须的。
  专业不专业不是自己说了算,也不是某人说了算.关键要看客户的认可度!
     愿用专业的标准,为客户服务!
     自动化行业方案的探究,自动化技术的探讨.提供一切自动化的服务.是我们团队的追求.
38200
cvlsam 版主
文章数:12500
年度积分:811
历史总积分:38200
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2011/12/17 22:18:35
#2楼
if(GetTagBit("Alarm001")!=0)
if(GetTagBit("Alarm002")!=0)

sndPlaySoundA("C:\\WINDOWS\\Media\\ALSNDMGR.WAV",0X1|0X8);

这样的写法相当于  ALarm1不等于0并且Alarm2不等于0

你应该写成:
if(GetTagBit("Alarm001")!=0)
sndPlaySoundA("C:\\WINDOWS\\Media\\ALSNDMGR.WAV",0X1|0X8);
if(GetTagBit("Alarm002")!=0)
sndPlaySoundA("C:\\WINDOWS\\Media\\ALSNDMGR.WAV",0X1|0X8);

Regards
9032
wanwan8778
文章数:2352
年度积分:48
历史总积分:9032
注册时间:2008/8/2
发站内信
发表于:2011/12/18 16:55:49
#3楼
楼上应该加一句elseif就对了
独学而无友,则孤陋而寡闻。
有问题,是必须要解决的。
Another complicated. Another mystery.
38200
cvlsam 版主
文章数:12500
年度积分:811
历史总积分:38200
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2011/12/19 8:55:15
#4楼
以下是引用wanwan8778在2011/12/18 16:55:49的发言:
楼上应该加一句elseif就对了

要实现诸如LZ的并发,显然这里加Elseif是多余的。

Good Luck~
1072
shimaoruming
文章数:241
年度积分:50
历史总积分:1072
注册时间:2011/10/20
发站内信
发表于:2011/12/19 9:20:30
#5楼
表情
品牌电机专售,型号齐全,价格优惠!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

62.4004