01
题目
由于西门子PLC本身并没有带求立方根的指令,我们用SCL来写一个求立方根的FB块。
02
分析
利用牛顿迭代法求立方根,通过迭代次数可以带近正确的值,迭代次数越多,求出的值越准确
利用牛顿迭代法可推导出求立方根公式如下
x = (2 * x + num / (x * x)) / 3.0
具体推导过程可参考网上搜索:C#求立方根牛顿迭代法。这里就不再详细解释了。有兴趣的朋友 可以到网页自行搜索了解
03
程序
X是被求数,Y是结果,由于要不断迭代,在此设置为INOUT类型
SCL程序:
程序大体就是根据上面2中推出出的公式来指导编程,利用FOR循环进行循环迭代次数。
在这里要强调,由于迭代次数越多,会占用大量PLC扫描时间,所以,在实际应用中,迭代次数尽量小于1000
在OB1中调用程序如下:
审核编辑:刘清
-
plc
+关注
关注
5011文章
13299浏览量
463432 -
SCL
+关注
关注
1文章
239浏览量
17084
原文标题:西门子SCL语言编程系列讲37-写立方根FB块
文章出处:【微信号:PLC 工控微课,微信公众号:PLC 工控微课】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论