01
題目
由于西門(mén)子PLC本身并沒(méi)有帶求立方根的指令,我們用SCL來(lái)寫(xiě)一個(gè)求立方根的FB塊。
02
分析
利用牛頓迭代法求立方根,通過(guò)迭代次數(shù)可以帶近正確的值,迭代次數(shù)越多,求出的值越準(zhǔn)確
利用牛頓迭代法可推導(dǎo)出求立方根公式如下
x = (2 * x + num / (x * x)) / 3.0
具體推導(dǎo)過(guò)程可參考網(wǎng)上搜索:C#求立方根牛頓迭代法。這里就不再詳細(xì)解釋了。有興趣的朋友 可以到網(wǎng)頁(yè)自行搜索了解
03
程序
參數(shù)接口定義如下
X是被求數(shù),Y是結(jié)果,由于要不斷迭代,在此設(shè)置為INOUT類(lèi)型
SCL程序:
程序大體就是根據(jù)上面2中推出出的公式來(lái)指導(dǎo)編程,利用FOR循環(huán)進(jìn)行循環(huán)迭代次數(shù)。
在這里要強(qiáng)調(diào),由于迭代次數(shù)越多,會(huì)占用大量PLC掃描時(shí)間,所以,在實(shí)際應(yīng)用中,迭代次數(shù)盡量小于1000
在OB1中調(diào)用程序如下:
審核編輯:劉清
-
plc
+關(guān)注
關(guān)注
5031文章
13715瀏覽量
472113 -
SCL
+關(guān)注
關(guān)注
1文章
243瀏覽量
17459
原文標(biāo)題:西門(mén)子SCL語(yǔ)言編程系列講37-寫(xiě)立方根FB塊
文章出處:【微信號(hào):PLC 工控微課,微信公眾號(hào):PLC 工控微課】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
什么是FB功能塊?為什么要使用FB功能塊?如何制作一個(gè)FB功能塊?

介紹一個(gè)使用SCL語(yǔ)言編寫(xiě)的電機(jī)控制函數(shù)塊
S7-SCL功能塊(FB)的結(jié)構(gòu)

如何用一個(gè)FB塊在使用西門(mén)子1200PLC時(shí)候?qū)崿F(xiàn)堆棧功能

在SCL源文件中調(diào)用功能和功能塊方法
SCL編輯器創(chuàng)建功能塊
西門(mén)子SCL語(yǔ)言編程案例之計(jì)算方差
SCL編輯器創(chuàng)建功能塊簡(jiǎn)析
功能塊(FB)的結(jié)構(gòu)介紹
調(diào)用SCL函數(shù)塊-事例

評(píng)論