0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用SCL來寫一個求立方根的FB塊

skda8921 ? 來源:PLC 工控微課 ? 2022-12-28 10:09 ? 次閱讀

01

題目

由于西門子PLC本身并沒有帶求立方根的指令,我們用SCL來寫一個求立方根的FB塊。

02

分析

利用牛頓迭代法求立方根,通過迭代次數(shù)可以帶近正確的值,迭代次數(shù)越多,求出的值越準(zhǔn)確

利用牛頓迭代法可推導(dǎo)出求立方根公式如下

x = (2 * x + num / (x * x)) / 3.0

具體推導(dǎo)過程可參考網(wǎng)上搜索:C#求立方根牛頓迭代法。這里就不再詳細解釋了。有興趣的朋友 可以到網(wǎng)頁自行搜索了解

03

程序

參數(shù)接口定義如下

6b3090fc-85e4-11ed-bfe3-dac502259ad0.png

X是被求數(shù),Y是結(jié)果,由于要不斷迭代,在此設(shè)置為INOUT類型

SCL程序:

6b528da6-85e4-11ed-bfe3-dac502259ad0.png

程序大體就是根據(jù)上面2中推出出的公式來指導(dǎo)編程,利用FOR循環(huán)進行循環(huán)迭代次數(shù)。

在這里要強調(diào),由于迭代次數(shù)越多,會占用大量PLC掃描時間,所以,在實際應(yīng)用中,迭代次數(shù)盡量小于1000

在OB1中調(diào)用程序如下:

6b72069a-85e4-11ed-bfe3-dac502259ad0.png






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5007

    文章

    13109

    瀏覽量

    461470
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    17025

原文標(biāo)題:西門子SCL語言編程系列講37-寫立方根FB塊

文章出處:【微信號:PLC 工控微課,微信公眾號:PLC 工控微課】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    方根電路

    方根電路 該電
    發(fā)表于 09-17 17:26 ?518次閱讀
    <b class='flag-5'>求</b><b class='flag-5'>方根</b>電路

    什么是FB功能?為什么要使用FB功能?如何制作FB功能?

      FB功能種封裝了特定邏輯功能的模塊。它類似于子程序或函數(shù),但是它有自己的內(nèi)部變量和接口。F
    的頭像 發(fā)表于 11-09 16:13 ?3701次閱讀
    什么是<b class='flag-5'>FB</b>功能<b class='flag-5'>塊</b>?為什么要使用<b class='flag-5'>FB</b>功能<b class='flag-5'>塊</b>?如何制作<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>FB</b>功能<b class='flag-5'>塊</b>?

    介紹使用SCL語言編寫的電機控制函數(shù)

      電機控制在實際項目中經(jīng)常使用,般的電機控制程序都是具有啟動、保持、停止的功能?! 〗裉爝@篇文章給大家介紹使用SCL語言編寫的電機
    發(fā)表于 03-09 17:02

    S7-SCL功能(FB)的結(jié)構(gòu)

    在關(guān)鍵字FUNCTION_BLOCK或PROGRAM之后,鍵入關(guān)鍵字FB,跟上一個號或FB的符號名。號是0到65533之間的
    的頭像 發(fā)表于 05-10 10:30 ?3140次閱讀
    S7-<b class='flag-5'>SCL</b>功能<b class='flag-5'>塊</b>(<b class='flag-5'>FB</b>)的結(jié)構(gòu)

    如何用FB在使用西門子1200PLC時候?qū)崿F(xiàn)堆棧功能

    1.在使用西門子1200PLC時候需要堆棧功能,實現(xiàn)數(shù)據(jù)的先進先出后進后出功能,于是自己SCL語言開發(fā)了FB
    的頭像 發(fā)表于 09-22 17:31 ?9254次閱讀
    如何用<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>FB</b><b class='flag-5'>塊</b>在使用西門子1200PLC時候?qū)崿F(xiàn)堆棧功能

    SCL源文件中調(diào)用功能和功能方法

    FUNCTION_BLOCK :定義號或者的符號名稱。若是符號,例如 SIM _VAL,則在編譯SCL代碼中的
    的頭像 發(fā)表于 04-11 09:52 ?4425次閱讀

    SCL編輯器創(chuàng)建功能

    FUNCTION_BLOCK :定義號或者的符號名稱。若是符號,例如 SIM _VAL,則在編譯SCL代碼中的
    的頭像 發(fā)表于 04-19 11:13 ?1538次閱讀

    西門子SCL語言編程案例之計算方差

    在統(tǒng)計數(shù)據(jù)中,經(jīng)常用到方差來代表數(shù)據(jù)的離散程序,我們SCL語言編寫計算方差的FB
    的頭像 發(fā)表于 01-09 09:45 ?1300次閱讀

    SCL與STL的區(qū)別是什么?SCL常見問題及解決辦法!

    OB,FC,FB,DB,UDT。在 S7 程序中,S7-SCL 可以與其它STEP7 編程語言生成的互相調(diào)用。S7-SCL 可以被編譯成
    的頭像 發(fā)表于 01-17 14:27 ?3017次閱讀

    SCL編輯器創(chuàng)建功能簡析

    FUNCTION_BLOCK :定義號或者的符號名稱。若是符號,例如 SIM _VAL,則在編譯SCL代碼中的
    的頭像 發(fā)表于 02-03 14:50 ?1087次閱讀

    西門子SCL語言編程系列-寫立方根FB

    由于西門子PLC本身并沒有帶立方根的指令,我們SCL來寫
    的頭像 發(fā)表于 02-06 15:17 ?1843次閱讀
    西門子<b class='flag-5'>SCL</b>語言編程系列-寫<b class='flag-5'>立方根</b><b class='flag-5'>FB</b><b class='flag-5'>塊</b>

    功能(FB)的結(jié)構(gòu)介紹

    功能是邏輯,包含程序部分,并且有內(nèi)存區(qū)域援引派給它。無論何時FB被調(diào)用,必須給它指定
    的頭像 發(fā)表于 02-17 09:55 ?4348次閱讀

    調(diào)用SCL函數(shù)-事例

    在以下部分中,將在組織“Main” 中調(diào)用 SCL 函數(shù)SCL_Best_before_date” 并互連輸入和輸出參數(shù)。
    的頭像 發(fā)表于 08-10 09:51 ?812次閱讀
    調(diào)用<b class='flag-5'>SCL</b>函數(shù)<b class='flag-5'>塊</b>-事例

    SCLFB模塊的結(jié)構(gòu)

    模塊FB是用于控制執(zhí)行器和單元的功能模塊或執(zhí)行某功能的其他FB
    的頭像 發(fā)表于 01-17 09:22 ?653次閱讀
    <b class='flag-5'>SCL</b>中<b class='flag-5'>FB</b>模塊的結(jié)構(gòu)

    根號計算器在線計算怎么

    表示3的立方根。 平方根是指某個數(shù)的平方等于給定的數(shù),而立方根是指某個數(shù)的立方等于給定的數(shù)。以平方根為例,如果
    的頭像 發(fā)表于 01-25 11:15 ?2786次閱讀