WinCC 对象移动不平滑

WinCC脚本还不太熟悉使用向导完成移动,发现不平滑,试了试,分辨率是10个像素,打开生成的脚本

#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{

// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
#define TAG_0 "Move_NumX"
#define TAG_1 "Move_NumY"
// WINCC:TAGNAME_SECTION_END

// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END

long i,j,k;
i=GetTagWord(TAG_0);
j=((i-0)*100/(1010-0));
k=min((((j*(1090-80))/100)+80),1090);
return max(80,k);

}

其中的

j=((i-0)*100/(1010-0));
k=min((((j*(1090-80))/100)+80),1090);

这两句中的100是运算的一个基数,改1000就ok了,再移动平滑顺畅。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注