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了,再移动平滑顺畅。