发表于:2016/8/29 21:34:48
#0楼
想咨询一下关于D脚本程序的问题。在proface触摸屏内字地址类型的符号变量为temp1和inputemp1,位地址符号变量为lam1。(其实lam1就是一个数据实际显示值,inputemp1为数据设定值)
想做一个比较运算: 当条件 (inputemp1)-5<temp1<(inputemp1+5)成立时,lam1=1,如若不成立则lam1=0,于是编辑了如下脚本:
if(([w:inputemp1]-4)<=[w:temp1]<=([w:inputemp1]+4))
{[b:lam1]=1
}
else
{[b:lam1]=0
}
endif
模拟时发现无论条件(inputemp1)-5<temp1<(inputemp1+5)成立与否,lam1一直是1.
当把条件改成如下时:
if(([w:inputemp1]-4)<=[w:temp1])
{[b:lam1]=1
}
else
{[b:lam1]=0
}
endif
模拟结果为是当inputemp1<temp1时lam1就为1了,而不是条件([w:inputemp1]-4)<=[w:temp1])时才为1.
想为一下这是什么原因呢,是脚本不能进行这种逻辑运算呢还是写的方式有问题?期待您的回答!
想做一个比较运算: 当条件 (inputemp1)-5<temp1<(inputemp1+5)成立时,lam1=1,如若不成立则lam1=0,于是编辑了如下脚本:
if(([w:inputemp1]-4)<=[w:temp1]<=([w:inputemp1]+4))
{[b:lam1]=1
}
else
{[b:lam1]=0
}
endif
模拟时发现无论条件(inputemp1)-5<temp1<(inputemp1+5)成立与否,lam1一直是1.
当把条件改成如下时:
if(([w:inputemp1]-4)<=[w:temp1])
{[b:lam1]=1
}
else
{[b:lam1]=0
}
endif
模拟结果为是当inputemp1<temp1时lam1就为1了,而不是条件([w:inputemp1]-4)<=[w:temp1])时才为1.
想为一下这是什么原因呢,是脚本不能进行这种逻辑运算呢还是写的方式有问题?期待您的回答!