好文档 - 专业文书写作范文服务资料分享网站

wincc函数实例

天下 分享 时间: 加入收藏 我要投稿 点赞

. var1 (signed 32-bit value) ? result (signed 32-bit value) ? 在一个按钮的事件的“鼠标单击”C动作中输入下面的C脚本: #include \void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #pragma code (\ int aufruf1(int a); #pragma code () int value; value = GetTagDouble(\ SetTagDouble(\} 3 结果: 图. 01 关键字: 函数调用,API 调用打印机的状态框 显示订货号

问题:如何从WinCC调用打印机的状态框 ? 解答:

“控制打印机”从控制面板上调用该框。

6 / 12

. 下面的动作必须在一个按钮下加以编辑,比方说:

#include \

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {

// 打印机框的调用

ProgramExecute(\}

当在WinCC脚本中结合一个DLL时,使用的内存空间增加了 显示订货号

问题:

如果使用Visual C++创建的一个DLL文件时,发现PC上使用的内存增加了。对于这种情况,应该怎么办?

解答:

检查是否用正式发行的版本创建了DLL。所提供WinCC是正式发行的版本。这意味着WinCC也可以使用Microsoft DLL MFC42.DLL的发行版本。

如果在测试版本中有DLL文件,那么全局脚本中必须另外加载MFC42.DLL的 测试版本。另外,这会增加对内存的用量。 在WinCC中始终使用DLL文件的发行版本。 可按如下方法创建发行版本:

1. 打开DLL的项目文件。

2. 检查是否DLL已在Win32 Release组态下被创建。 3. 如有必要,把活化的组态切换到“Win32 Release”。在Microsoft Visual C++ Studio中的“创建”->“定义活化的组态”中做该切换。 4. 重新创建DLL。

5. 用DLL的发行版本替换测试版本的DLL。 在 WinCC 中通过 C 脚本输出声音 显示订货号

7 / 12

.

问题:

如何在 WinCC 中通过 C 脚本输出声音?

解答:

附件是一个小实例。该 C 动作位于按钮后,这样只需单击该按钮就可产生声音。 C 动作:

#include \

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UIN{

#pragma code (\

VOID WINAPI PlaySoundA ( char* pszSound, char* hmode, DWORD dwflag ); #pragma code()

PlaySoundA(\}

该功能需要有声卡。

PlaySoundA 函数的说明:

1. 参数 char* pszSound:

指定声音文件 (*.wav 文件) 的全路径。 2. 参数 char* hmode: 总为 0。

3. 参数 DWORD dwflag:

SND_SYNC = 0x0000:声音文件播放一次,该脚本一直等到播放结束 SND_ASYNC = 0x0001:声音文件播放一次,同时并行处理该脚本

SND_NODEFAULT = 0x0002:如果未找到该声音文件,则不播放默认值,而是什么也不播放。SND_LOOP = 0x0008:重复该声音文件直到下个 PlaySoundA 调用 (只能通过 0x0001) =>

这些参数也可通过逐位逻辑‘或’进行组合 (如:SND_ASYNC | SND_LOOP) 注意事项:

如果想使用计算机内部扬声器的蜂鸣声而不是声音文件,则实现如下脚本: 由于寻址内部扬声器,无需声卡。 #include \

void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UIN{

#pragma code (\

BOOL Beep( DWORD dwFreq, DWORD dwDuration); //dwFreq 定义蜂鸣声的频率,单位:Hz

8 / 12

. 指定蜂鸣声的持续时长,单位:ms #pragma code()

Beep(1000,100); }

如何创建 Windows MessageBox 并且确定操作员按下的是哪个按钮? 显示订货号

说明: 使用动态向导“Picture Functions > Display error box”可以创建在 WinCC 运行系统中显示 Windows MessageBox 的 C 脚本。使用该向导生成的 C 脚本使用的是 Windows API 函数“MessageBox()”。关于这个函数的详细信息可从 Microsoft 的“MSDN Library”中获 得。 MessageBox() 函数的参数: MessageBox 的显示受以下这些参数的影响。 参数 描述 HWND hWnd 父窗口的处理 零 = 消息没有父窗口 LPCTSTR lpText 消息文本 LPCTSTR 文本的标题 lpCaption 如果该参数设为零,标题将使用默认的文本“Error”。 UINT uType MessageBox 的类型; 这个参数定义了 MessageBox 的外观和行为。它是不同“Flags”的组合(逐位进行“或”操作)。 以下列出了一些主要的标记: MB_OK, 使用这些标记中的一个可以定义 MB_OKCANCEL, MessageBox 中显示哪些按钮。 MB_YESNO, MB_YESNOCANCEL, MB_ABORTRETRYIGNORE, MB_CANCELTRYCONTINUE, MB_HELP, MB_RETRYCANCEL MB_ICONEXCLAMATION, MB_ICONQUESTION, 使用这些标记中的一个可以定义 MessageBox 中显示的图标。 9 / 12

. MB_ICONWARNING, MB_ICONINFORMATION, MB_ICONQUESTION, MB_ICONASTERISK, MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND MB_DEFBUTTON1, MB_DEFBUTTON2, MB_DEFBUTTON3, MB_DEFBUTTON4 MB_SETFOREGROUND MB_SYSTEMMODAL 使用这些标记中的一个可以定义默认的按钮。 MessageBox 显示在最前面。 MessageBox 定义为系统模式。消息直到确认之前一直显示在最前面。 重要事项: “MB_SYSTEMMODAL”标记应该总用于避免发生阻塞整个系统的可能。 MessageBox() 函数的返回值: 返回值 描述 IDABORT, 函数的返回值是“int”类型并告知操作员按下的是哪个按钮。 IDCANCEL, IDCONTINUE, 注意事项: IDIGNORE, ? 如果 MessageBox 有“Cancel”键,并且操作员使用IDNO, “ESC”键终止 MessageBox,系统将返回 IDCANCEL 的值。 IDOK, ? 如果函数使用失败,将返回“0”。更多的错误信息可通过IDRETRY, 调用“GetLastError()”函数获得。 IDTRYAGAIN, ? 如果函数调用成功,函数将返回左边给出的某个值(常数)IDYES 中的一个。 下图显示了如何使用“MessageBox()”函数以及如何评价函数返回值。 ( 26 KB ) 10 / 12

wincc函数实例

.var1(signed32-bitvalue)?result(signed32-bitvalue)?在一个按钮的事件的“鼠标单击”C动作中输入下面的C脚本:#include\voidOnClick(char*lpszPictureName,char*lpszO
推荐度:
点击下载文档文档为doc格式
6zuus82wak4ddq3430jm4g4gh0kze500ydx
领取福利

微信扫码领取福利

微信扫码分享