系统共有500多个报警,每产生一个报警都要求声音报警提示,点击确认后声音消失。我的脚本为:(因为有太多报警,我想用二维数组去做,alarm_stu1,2,3。。。为报警条的状态变量)
#pragma code ("Winmm.dll")
VOID WINAPI PlaySoundA ( char* pszSound, char* hmode, DWORD
dwFlag );
#pragma code()
BOOL middle[8];
int i,j;
WORD a[7];
WORD b[7];
a[0]=0x1;
a[1]=0x2;
a[2]=0x4;
a[3]=0x8;
a[4]=0x10;
a[5]=0x20;
a[6]=0x40;
a[7]=0x80;
b[0]=0x100;
b[1]=0x200;
a[2]=0x400;
a[3]=0x800;
b[4]=0x1000;
b[5]=0x2000;
b[6]=0x4000;
b[7]=0x8000;
BOOL alarm[3][7];
WORD alarm_stu[3];
alarm_stu[1]=GetTagWord("alarm_stu1");
alarm_stu[2]=GetTagWord("alarm_stu2");
alarm_stu[3]=GetTagWord("alarm_stu3");
for(i=1;i<=3;i++)
{
for(j=0;j<=7;j++)
alarm[i][j]=(alarm_stu[i] & a[j] )&&(alarm_stu[i]&b[j] );
}
//if ((middle[1])&&(!reset))
if (middle[1]||middle[2]||middle[3])
//||(middle[4]))
PlaySoundA("D:\\alarm_sound\\ALARM8.wav",NULL,0);
return 0;
可是在“BOOL alarm[3][7];”老提示0040<ident>expected before 'BOOL,
请问是哪里错了?谢谢!
问题补充:
已经解决,谢谢.
最佳答案
alarm[3][7]定义为BOOL型,而alarm_stu[i]等为WORD型
提问者对于答案的评价:
谢谢了
专家置评
C脚本中所有变量的定义必须都放在脚本语句的前面。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263676.html