您好,欢迎来到独旅网。
搜索
您的当前位置:首页wincc动画命令

wincc动画命令

来源:独旅网


WINCC动画脚本

默认分类 2008-01-21 15:19:23 阅读310 评论0 字号:大中小 订阅

电机风扇旋转(几何---起始角度):

#include \"apdefap.h\"

long _main(char* lpszPictureName, lpszPropertyName)

{

static DWORD f=20;

if (GetTagBit(\"DI电机运行信号\")) {

f= f+30; '起始角度变化量'

if (f==360) (f=0);

}

return f;

}

char* lpszObjectName, char*

电机风扇旋转(几何---结束角度):

#include \"apdefap.h\"

long _main(char* lpszPictureName, char* lpszObjectName, char*

lpszPropertyName)

{

static DWORD i=80; '大于起始角度60'

if (GetTagBit(\"DI电机运行信号\")) {

i = i+30; '等于起始角度变化量'

if (i==360) (i=0);

}

return i;

}

**物料水平右移动(几何---位置X)(停车后,物料回到原点)**

#include \"apdefap.h\"

long _main(char* lpszPictureName, char* lpszObjectName, lpszPropertyName)

{

static int a=350;

if (GetTagBit(\"DI电机运行信号\") && (a<=730)) {

a+=20;

if (a>=720) (a=350);

}

if (!GetTagBit(\"DI电机运行信号\")) (a=350);

return a;

}

物料水平右移动(几何---位置X)(停车后,物料停在该点)

#include \"apdefap.h\"

long _main(char* lpszPictureName, char* lpszObjectName, char*

char*

lpszPropertyName)

{

static int a=350;

if (GetTagBit(\"DI电机运行信号\") && (a<=730)) {

a+=20;

if (a>=720) (a=350);

}

return a;

}

物料向上移动(几何---位置Y)(停车后,物料停在该点)

#include \"apdefap.h\"

long _main(char* lpszPictureName, char* lpszObjectName, lpszPropertyName)

{

char*

static int b=450;

if (GetTagBit(\"DI电机运行信号\") && (b>=290)) {

b-=10;

if (b<=280) (b=450);

}

return b;

}

年月日(静态文本)

#include \"apdefap.h\"

char* _main(char* lpszPictureName, lpszPropertyName)

{

time_t timer ;

struct tm *ptm;

char* lpszObjectName, char*

char *p;

time(&timer);

ptm =localtime(&timer);

p =SysMalloc(9);

sprintf(p,\"%04d/%02d/%02d\m->tm_mday);

return(p);

}

时分秒(静态文本)

#include \"apdefap.h\"

char* _main(char* lpszPictureName, char* lpszObjectName, char*

lpszPropertyName)

{

time_t timer ;

struct tm *ptm;

char *p;

time(&timer);

ptm =localtime(&timer);

p =SysMalloc(9);

sprintf(p,\"%02d:%02d:%02d\

return(p);

}

登陆到指定的用户名无须手动输入(按钮操作)

#include \"apdefap.h\"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

#pragma code(\"useadmin.dll\")

#include \"PWRT_API.H\"

#pragma code()

PWRTSilentLogin(\"用户名\口令\");

}

**显示登陆对话框无须热键(按钮操作)**

#include \"apdefap.h\"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

#pragma code (\"useadmin.dll\")

#include \"PWRT_api.h\"

#pragma code( )

PWRTLogin('c');

}

退出WINCC运行(按钮操作)

#include \"apdefap.h\"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

{

DeactivateRTProject ();

}

}

单位递增按钮(到上限不提示出错)

#include \"apdefap.h\"

void OnClick(char* lpszPictureName, lpszPropertyName)

{

char* lpszObjectName, char*

DWORD value;

value=GetTagDWord(\"AI标签\");

if (value>90) (value=上限); '上限值为100'

else value=value+10; '单位增加量为10'

SetTagDWord(\"AI标签\

}

单位递减按钮(到下限不提示出错)

#include \"apdefap.h\"

void OnClick(char* lpszPictureName, char* lpszPropertyName)

{

DWORD value;

value=GetTagDWord(\"AI标签\");

if (value<10) (value=下限); '下限值为0'

char*

lpszObjectName,

else value=value-10; '单位减小量为10'

SetTagDWord(\"AI标签\

}

**单位递增按钮(到上限提示出错)**

#include \"apdefap.h\"

void OnClick(char* lpszPictureName, char* lpszObjectName, char*

lpszPropertyName)

{

DWORD value;

HWND hWnd=NULL ;

hWnd=FindWindow(NULL,\"Wincc-运行系统- \");

value=GetTagDWord(\"AI标签\");

if (value<=90) (value=value+10); '上限值为100,单位增加量为10'

else MessageBox(hWnd,\"已到达上限值!\错误

\

SetTagDWord(\"AI标签\

}

**单位递减按钮(到下限提示出错)**

#include \"apdefap.h\"

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

{

DWORD value;

HWND hWnd=NULL ;

hWnd=FindWindow(NULL,\"Wincc-运行系统- \");

value=GetTagDWord(\"AI标签\");

if (value>0) (value=value-10); '下限值为0,单位减小量为10'

else MessageBox(hWnd,\" 已到达下限值!\char*

错误

\

SetTagDWord(\"AI标签\

}

**自动登陆到指定的用户(画面属性--其它—授权)**#include \"apdefap.h\"

long _main(char* lpszPictureName, char* lpszPropertyName)

{

#pragma code(\"useadmin.dll\")

#include \"PWRT_API.H\"

#pragma code()

PWRTSilentLogin(\"用户名\口令\");

return(0X0);

}

lpszObjectName, char*

**询问框(最好用于单机启动,组启也可,2个按钮,NO不操作)**

#include \"apdefap.h\"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

HWND hWnd=NULL;

int 上位启动信号;

hWnd=FindWindow(NULL,\"WinCC C-Course\");

if (GetTagBit(\"DI备妥\"))

{

上位启动信号=MessageBox(hWnd,\"电源已备妥,您现在确定要启动吗?\启动!\

MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL);

printf(\"\\r\\nExample 3\\r\\n\");

if (上位启动信号==IDNO) (printf(\"User selected NO button \\r\\n\"));

else (SetTagByte(\"上位启动信号\

}

else

MessageBox(hWnd,\"电源未备妥,请查证后重试!\启动!\

MB_OK|MB_ICONHAND|MB_APPLMODAL);

}

**询问框(最好用于单机启动,组启也可,3个按钮,NO复位)**

#include \"apdefap.h\"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

HWND hWnd=NULL;

int上位启动信号;

hWnd=FindWindow(NULL,\"WinCC C-Course\");

if (GetTagBit(\"DI备妥\"))

{

上位启动信号=MessageBox(hWnd,\" 电源已备妥,您现在确定要启动吗?\启动!\

MB_YESNOCANCEL|MB_ICONQUESTION|MB_APPLMODAL);

if (上位启动信号==IDCANCEL) (printf(\"User selected NO button \\r\\n\"));

else

{

if (上位启动信号==IDYES) (SetTagByte(\"上位启动信号\

else (SetTagByte(\"上位启动信号\

}

}

else

MessageBox(hWnd,\" 电源未备妥,请查证后重试!\启动!\

MB_OK|MB_ICONHAND|MB_APPLMODAL);

}

**搅拌器左侧扇页(几何—宽度)**

#include \"apdefap.h\"

long _main(char* lpszPictureName, lpszPropertyName)

{

static int h=50;

static int u=0;

if (GetTagBit(\"DI电机运行信号\"))

{

if ((h>0)&&(h<=50))

{

char* lpszObjectName, char*

(h-=2);

return h;

}

if ((u>=0)&&(u<50))

{

(u+=2);

return u;

}

u=0;

h=50;

return h;

return u;

}

if (!GetTagBit(\"DI电机运行信号\")){

h=50;

u=0;

return h;

return u;

}

}

**搅拌器左侧扇页(几何—位置X,右侧扇页没有位置变化)**

#include \"apdefap.h\"

long _main(char* lpszPictureName, char* lpszObjectName, lpszPropertyName)

{

static int h=75;

static int u=125;

char*

if (GetTagBit(\"DI电机运行信号\"))

{

if ((h>=75)&&(h<125))

{

(h+=2);

return h;

}

if ((u<=125)&&(u>75))

{

(u-=2);

return u;

}

u=125;

h=75;

return h;

return u;

}

if (!GetTagBit(\"DI电机运行信号\")){

h=75;

u=125;

return h;

return u;

}

}

**显示层按钮**

Sub

X6309X94AE2X0000X0000_X6309X94AE2X0000X60C5_X6309X94AE2X0000X653E

_OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)

Dim objScreen

Dim CountLayer

Set objScreen = HMIRuntime.Screens(\"layer\")

For CountLayer=1 To 32 Step 1

objScreen.Layers(CountLayer).Visible = vbFalse

Next

objScreen.Layers(n).Visible = vbTrue

End Sub

n=层数+1

初始画面程序(画面空地--属性--事件--其它--打开画面--动作)

**打印按钮**

#include \"apdefap.h\"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

WinExec(\"PRTSCR.EXE -hardcopy\

}

**一个圈代表电机两种状态**

#include \"apdefap.h\"

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

{

char* opentag=\"DI1电机运行信号\";

char* closetag=\"DI2电机运行信号\";

BOOL open,close;

open = GetTagBit(opentag);

char*

close = GetTagBit(closetag);

if (open)

return CO_GREEN;

if (close)

return CO_BLUE;

}

**(VB脚本)上位电机颜色**

IF DI电机运行信号=0 THEN

IF 电机上位故障信号=0 THEN

100*(DI电机备妥信号*(DI集中位置信号+DI本地位置信号))

ELSE:500*电机上位故障信号*(DI电机备妥信号*(DI集中位置信号+DI本地位置信号))+700*电机上位故障信号

ENDIF

ELSE:300*DI电机运行信号*DI集中位置信号+400*DI电机运行信号*DI本地位置信

号+200*DI电机运行信号

ENDIF

值:无备妥=0(黄色) 有备妥=100(白色) 无备妥有运行信号(接触器粘连)=200(黑色)

集中运行=500(亮绿) 本地运行=600(暗绿)

有备妥故障=1200(亮红) 无备妥故障=700(暗红)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务