我WINCC做的一个手臂,怎么不能0度到负180度左右旋转呢?

已锁定

onlyone

  • 帖子

    212
  • 精华

    1
  • 被关注

    6

论坛等级:侠客

注册时间:2008-03-28

普通 普通 如何晋级?

我WINCC做的一个手臂,怎么不能0度到负180度左右旋转呢?

1012

2

2010-07-14 17:42:18

WINCC做的一个手臂画面,一开始做成0-180度左右旋转,没问题。但是甲方要改成0到-180度左右转,就是从圆的上半部分左右转,而不是圆的下半部分。我是用C语言做的,改完不能转了,就是根本不动了。
这是0-180的程序
#include "apdefap.h"
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{


int Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10;
int T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12;
static int f1,f2;

Q1=GetTagBit("O220");//取
Q2=GetTagBit("O217");//放

T1=GetTagBit("I222");//取到位
T2=GetTagBit("I223");//放到位

f1=GetTagWord("旋转角度");

if(T1f1<0)
f1=0;
if(T2f1>180)
f1=180;
if((!T1)&&(!T2)&&Q2&&f1<=179)
f1=f1+10;
if((!T1)&&(!T2)&&Q1&&f1>=1)
f1=f1-10;

SetTagWord("旋转角度",(WORD)f1);
return f1;用起来没问题
这是我改后的0到负180度转的,不好用,(我把旋转角度对应的变量也改成了有符号16位)
double _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{


int Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8,Q9,Q10;
int T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12;
static int f1,f2;

Q1=GetTagBit("O220");//取
Q2=GetTagBit("O217");//放

T1=GetTagBit("I222");//取到位
T2=GetTagBit("I223");//放到位

f1=GetTagWord("旋转角度");

if(T1f1>0)
f1=0;
if(T2f1<-180)
f1=-180;
if((!T1)&&(!T2)&&Q2&&f1>=-179)
f1=f1-10;
if((!T1)&&(!T2)&&Q1&&f1<=-1)
f1=f1+10;

SetTagWord("旋转角度",(WORD)f1);
return f1;

}
我WINCC做的一个手臂,怎么不能0度到负180度左右旋转呢? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32564条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。