01題目
由于西門子PLC本身并沒有帶求立方根的指令,我們用SCL來寫一個(gè)求立方根的FB塊。
02分析
利用牛頓迭代法求立方根,通過迭代次數(shù)可以帶近正確的值,迭代次數(shù)越多,求出的值越準(zhǔn)確
利用牛頓迭代法可推導(dǎo)出求立方根公式如下
x = (2 * x + num / (x * x)) / 3.0
具體推導(dǎo)過程可參考網(wǎng)上搜索:C#求立方根牛頓迭代法。這里就不再詳細(xì)解釋了。有興趣的朋友 可以到網(wǎng)頁自行搜索了解
03程序
參數(shù)接口定義如下
X是被求數(shù),Y是結(jié)果,由于要不斷迭代,在此設(shè)置為INOUT類型
SCL程序:
程序大體就是根據(jù)上面2中推出出的公式來指導(dǎo)編程,利用FOR循環(huán)進(jìn)行循環(huán)迭代次數(shù)。在這里要強(qiáng)調(diào),由于迭代次數(shù)越多,會占用大量PLC掃描時(shí)間,所以,在實(shí)際應(yīng)用中,迭代次數(shù)盡量小于1000
在OB1中調(diào)用程序如下:
-
plc
+關(guān)注
關(guān)注
5029文章
13674瀏覽量
471662 -
西門子
+關(guān)注
關(guān)注
98文章
3123瀏覽量
117637 -
立方根
+關(guān)注
關(guān)注
0文章
2瀏覽量
6011 -
SCL
+關(guān)注
關(guān)注
1文章
241瀏覽量
17441
發(fā)布評論請先 登錄
如何用一個(gè)FB塊在使用西門子1200PLC時(shí)候?qū)崿F(xiàn)堆棧功能

用SCL來寫一個(gè)求立方根的FB塊
西門子SCL語言編程案例之計(jì)算方差
西門子PLC的幾種編程語言簡單介紹

西門子S7 SCL編程知識
西門子流量累計(jì)FB塊介紹

評論