>
之前公众号分享过西门子Wincc旋转动画脚本文章,今天将介绍另外一种方法。 1、在wincc画面中,放置3个部分圆,分别设置好其半径、起始角度,结束角度:80、90、150;80、210、270;80、330、390;并将其中心并一起放置,如三图所示: 2、对起“始角度为90、结束角为150”部分圆的起始角度进行动作C脚本编写,编写完成,设置好其触发周期:250ms(触发周期建议使用变量周期,相关文档参见使用变量触发器触发西门子Wincc动画),如下图所示。 具体C脚本: #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #pragma option (mbcs) static int i=90; if(GetTagBit("S7$程序(1)/PD1_QD") )
if(i<450)
{ i=i+30; } if(i==450) { i=90; } if (!GetTagBit("S7$程序(1)/PD1_QD") )
{ i=90; } return i; } 3、对起“始角度为90、结束角为150”部分圆的结束角度进行动作C脚本编写,编写完成,设置好其触发周期:250ms(触发周期建议使用变量周期,相关文档参见使用变量触发器触发西门子Wincc动画),如下图所示。 具体C脚本: #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #pragma option (mbcs) static int i=150; if(GetTagBit("S7$程序(1)/PD1_QD") )
if(i<510) { i=i+30; } if(i==510) { i=150; } if (!GetTagBit("S7$程序(1)/PD1_QD") )
{ i=150; } return i; } 4、对起“始角度为210、结束角为270”部分圆的起始角度进行动作C脚本编写,编写完成,设置好其触发周期:250ms(触发周期建议使用变量周期,相关文档参见使用变量触发器触发西门子Wincc动画),如下图所示。 具体C脚本: #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #pragma option (mbcs) static int i=210; if(GetTagBit("S7$程序(1)/PD1_QD") )
if(i<570) { i=i+30; } if(i==570) { i=210; } if (!GetTagBit("S7$程序(1)/PD1_QD") )
{ i=210; } return i; } 5、对起“始角度为210、结束角为270”部分圆的结束角度进行动作C脚本编写,编写完成,设置好其触发周期:250ms(触发周期建议使用变量周期,相关文档参见使用变量触发器触发西门子Wincc动画),如下图所示。 具体C脚本: #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #pragma option (mbcs) static int i=270; if(GetTagBit("S7$程序(1)/PD1_QD") )
if(i<630) { i=i+30; } if(i==630) { i=270; } if (!GetTagBit("S7$程序(1)/PD1_QD") )
{ i=270; } return i; } 6、对起“始角度为330、结束角为390”部分圆的起始角度进行动作C脚本编写,编写完成,设置好其触发周期:250ms(触发周期建议使用变量周期,相关文档参见使用变量触发器触发西门子Wincc动画),如下图所示。 具体C脚本: #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #pragma option (mbcs) static int i=330; if(GetTagBit("S7$程序(1)/PD1_QD") ) if(i<690) { i=i+30; } if(i==690) { i=330; }
if (!GetTagBit("S7$程序(1)/PD1_QD") )
{ i=330; } return i; } 7、对起“始角度为330、结束角为390”部分圆的结束角度进行动作C脚本编写,编写完成,设置好其触发周期:250ms(触发周期建议使用变量周期,相关文档参见使用变量触发器触发西门子Wincc动画),如下图所示。 具体C脚本: #include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { #pragma option (mbcs) static int i=390; if(GetTagBit("S7$程序(1)/PD1_QD") )
if(i<750)
{ i=i+30; } if(i==750) { i=390; } if (!GetTagBit("S7$程序(1)/PD1_QD") )
{ i=390; } return i; }
|