QQ登录

只需一步,快速开始

三菱fx3g的plc没有计算三角函数的指令,如何解决

[ 复制链接 ]
三菱fx3g不支持三角函数指令。

三菱PLC某些型号是不支持三角函数指令的。

FX3系列的编程手册有介绍三角函数指令的使用,

但创建FX3G程序时,在编程软件里却不能输入三角函数指令,如SIN。

因为只有FX3U,FX3UC才支持,如下图,为编程手册对三角函数Sin的介绍。

仅支持FX3U,FX3UC

三菱fx3g的plc没有计算三角函数的指令,如何解决

三菱fx3g的plc没有计算三角函数的指令,如何解决

如何解决?

1.通过触摸屏的三角函数间接实现。

一般设备都会配合人机界面进行设计,所以可以通过触摸屏的宏指令间接实现。

在屏里面读取三菱PLC的角度数据,

调用屏的三角函数,如sin进行数据转换,

将转换的结果再传回PLC。

下面是在威纶屏里,通过宏指令实现的效果。

三菱fx3g的plc没有计算三角函数的指令,如何解决

三菱fx3g的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寄存器里供程序调用。

这是工作量很大的一种方法。

三菱fx3g的plc没有计算三角函数的指令,如何解决

三菱fx3g的plc没有计算三角函数的指令,如何解决

上面暂时想到两种方法。

另外如果高等数学有印象的话,

也可以用泰勒公式展开三角函数,套用公式编写程序。


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索