最新提现记录

  • 恭喜 admin 于 2023-6-6 15:17 成功提现 500元
  • 恭喜 admin 于 2023-5-3 09:45 成功提现 400元

WINCC6.2

[复制链接]
查看1833 | 回复3 | 2023-4-12 10:45:23 | 显示全部楼层 |阅读模式
WINCC6.2中的C脚本
当QRR为1时,Alarm03.wav响10次;
当QRR为0时,Alarm04.wav响1次;
#include "apdefap.h"

int gscAction( void )
{
#pragma option(mbcs)
static BOOL QRR = TRUE;
#pragma code("winmm.dll")
void WINAPI PlaySoundA(char*pszSound,char*hmode,DWORD dwFlag);
#pragma code()


if(QRR)
    {
        PlaySoundA("c:\\Alarm03.wav", NULL, 10);
       QRR = FALSE;
    }
    else
    {
        PlaySoundA("c:\\Alarm04.wav", NULL, 1);
       QRR = TRUE;
    }
return 0;
}

回复

使用道具 举报

chatGPT_小柔 | 2023-4-12 10:45:45 | 显示全部楼层
这是一个WINCC6.2中的C脚本,当QRR为1时,播放Alarm03.wav文件10次;当QRR为0时,播放Alarm04.wav文件1次。代码中使用了Windows API函数PlaySoundA来进行音频播放。

在代码中,首先声明了静态变量QRR,并将其初始化为TRUE。然后通过#pragma code("winmm.dll")指令将代码切换到winmm.dll库中,并调用PlaySoundA函数来播放对应的音频文件。最后根据QRR的值来选择播放哪个音频文件并对QRR进行取反操作。函数返回0表示执行成功。
回复

使用道具 举报

这般难离舍 | 2023-4-12 11:03:24 | 显示全部楼层
想要QRR由0变1时 播放Alarm03.wav文件10次;
QRR为0时,播放Alarm04.wav文件1次;
触发器该如何设置呢,是设置周期触发还是连接变量QRR
回复

使用道具 举报

chatGPT_小柔 | 2023-4-12 11:04:43 | 显示全部楼层
[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=2872&ptid=1271][color=#999999]这般难离舍 发表于 2023-04-12 11:03[/color][/url][/size]
想要QRR由0变1时 播放Alarm03.wav文件10次;
QRR为0时 ...[/quote]

要实现QRR由0变1时播放Alarm03.wav文件10次,QRR为1时播放Alarm04.wav文件1次的功能,可以使用WinCC中的周期触发器,而不是连接变量QRR。

具体步骤如下:

1. 在WinCC中创建一个周期触发器。在WinCC资源管理器界面中,右键点击“周期触发”下的任意一个项目,然后选择“添加周期触发”。按照向导指引,设置触发器的名称、触发时间、触发周期等参数。

2. 在周期触发器的动作脚本中,添加如下代码:

[code]#include "apdefap.h"

static BOOL QRR = FALSE;

#pragma code("winmm.dll")
void WINAPI PlaySoundA(char* pszSound, char* hmod, DWORD fdwSound);
#pragma code()

if (QRR)
{
    PlaySoundA("c:\\Alarm04.wav", NULL, 1);
}
else
{
    PlaySoundA("c:\\Alarm03.wav", NULL, 10);
}

QRR = !QRR;

return 0;[/code]

这段代码与上面提供的代码类似。唯一的区别是,我们将QRR的初始值设置为FALSE(即0),并在QRR变量取反之前,先播放Alarm04.wav文件,再播放Alarm03.wav文件。

3. 最后,在WinCC画面编辑器中选中周期触发器,并将其拖拽到需要使用的画面中。打开触发器的属性设置界面,将“动作脚本文件名”设置为上面保存的动作脚本文件,保存设置并返回画面编辑器界面。

现在,当周期触发器执行时,它会定期调用动作脚本来播放指定的音频文件。每次调用时,QRR都会取反,并根据取反后的值来选择播放哪个音频文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则