WINCC常见问题(2)

时间:2025-07-07

下的Archive type选择Cycle-selective,在"Event"标签下的"StartEvent"内选择cyclicarchive函数。


7、问: How can I set and reset a WinCC variable by mouse click with C script?
答: The following function shows how you can alternately set and reset a WinCC variable by mouse click.
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
BOOL z;
z=GetTagBit("MyBitVariable");
if (z==0)
SetTagBit("MyBitVariable",1);
else
SetTagBit("MyBitVariable",0);
}


8、问: How can I program a waiting function (Sleep) in WinCC?
答: The following sample program shows how the "Sleep" is used.
#pragma code("Kernel32.dll")
void Sleep(int milliseconds);
#pragma code()
Sleep(1000); //time specification in milliseconds
Warning:
If you use Sleep(), processing the C script is interrupted for the time indicated. Requests for the interrupted function cannot be processed during this time.



9、问: How can I output a SIMATIC timer minutes and seconds in WinCC?
答: If you want to output a SIMATIC Timer in minutes and seconds in WinCC, then in WinCC please use a static text in the Graphics Designer to which you interface the following action:
char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
char *p;
DWORD hilf;
int min, sec;
p=SysMalloc(10);
hilf=GetTagDWord("Time");
min=hilf/60000;
sec=hilf%60000/1000;
sprintf(p,"%d min %d sec",min,sec);
return p;
}
The "Time" variable linked to the I/O field must have the following properties:
?Data type "32-bit value without sign"
?Format adaptation "DwordToSimaticBCDTimer"
?Address: data area "Times" and addressing "Word"


10:快捷地切换画面

  通常要将所有的设备都显示在一张画面里是不可能的,所以将设备按照处理工艺的功能步骤分级在多张画面内,以一个污水处理厂为例分为电泳线、前处理线、生化线、加药线等,之间的切换使用按钮的鼠标动作来实现。这对于用WinCC现成的鼠标动作来实现是很简单的,但是不是要在每张图上都使用相同数量且位置排列顺序一致的按钮呢?(出于对操作的一致性考虑,不能让操作人员在不同的图上,不同的位置找想要操作的按钮)这个问题的解决我们使用WinCC的脚本编程,在按钮动作中调用它的内部函数来实现。首先,组态一幅背景画面,其中包括要显示的静态文本、OLE(例如,时钟)、所有的图形切换按钮及推出关机按钮。第二,在背景画面中插入智能对象(Smart Object)中的画面窗口(Picture Window),并且使其的尺寸与其分级画面相同。第三,在相应的切换按钮的属性->事件->鼠标动作中编写如下C语言脚本代码:

  #include\&qu
ot;apdefap.h\"
  void onClick(char *lpsz PictureName,
  char *lpsz ObjectName,char *lpsz PropertyName)
  {
  SetPictureName(\"背景画面

…… 此处隐藏:100字,全部文档内容请下载后查看。喜欢就下载吧 ……
WINCC常见问题(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219