| 
      
        	 三菱PLC某些型号是不支持三角函数指令的。  
FX3系列的编程手册有介绍三角函数指令的使用,  
但创建FX3G程序时,在编程软件里却不能输入三角函数指令,如SIN。  
因为只有FX3U,FX3UC才支持,如下图,为编程手册对三角函数Sin的介绍。  
仅支持FX3U,FX3UC  
   
如何解决?  
1.通过触摸屏的三角函数间接实现。  
一般设备都会配合人机界面进行设计,所以可以通过触摸屏的宏指令间接实现。  
在屏里面读取三菱PLC的角度数据,  
调用屏的三角函数,如sin进行数据转换,  
将转换的结果再传回PLC。  
下面是在威纶屏里,通过宏指令实现的效果。  
   
对应宏指令代码为  
macro_command main()  
bool bON=true  
SetData(bON, "Local HMI", LB, 0, 1)  
short nDegree=0  
float fSIN=0.0  
//从三菱FX3G获取角度  
GetData(nDegree, "Mitsubishi FX3U/FX3G", D, 100, 1)  
//计算角度nDegree对应的sin值。  
SIN(nDegree, fSIN)  
//将三角函数计算所得的sin值传回PLC,要注意的是使用了D1,D0.  
SetData(fSIN, "Mitsubishi FX3U/FX3G", D, 0, 1)  
//上面是对问题的回答.  
//计算结果也可以在界面上以图形显示。  
GetData(nDegree, "Local HMI", LW, 0, 1)  
nDegree = nDegree+1  
if nDegree >= 361 then  
nDegree = 0  
end if  
SetData(nDegree, "Local HMI", LW, 0, 1)  
SIN(nDegree, fSIN)  
fSIN = fSIN*120  
SetData(fSIN, "Mitsubishi FX3U/FX3G", D, 0, 1)  
//  
GetData(nDegree, "Local HMI", LW, 1, 1)  
nDegree = nDegree+2  
if nDegree >= 361 then  
nDegree = 0  
end if  
SetData(nDegree, "Local HMI", LW, 1, 1)  
SIN(nDegree, fSIN)  
fSIN = fSIN*120  
SetData(fSIN, "Mitsubishi FX3U/FX3G", D, 2, 1)  
bON=false  
SetData(bON, "Local HMI", LB, 0, 1)  
end macro_command  
2.通过查表方法获取。  
如下图,可以事先通过查询三角函数表,  
将角度对应数值以常数的形式保存到PLC寄存器里供程序调用。  
这是工作量很大的一种方法。  
   
上面暂时想到两种方法。  
另外如果高等数学有印象的话,  
也可以用泰勒公式展开三角函数,套用公式编写程序。 
        
      
      (责任编辑:admin) |