0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用SCL来写一个求立方根的FB块

skda8921 来源:PLC 工控微课 2022-12-28 10:09 次阅读

01

题目

由于西门子PLC本身并没有带求立方根的指令,我们用SCL来写一个求立方根的FB块。

02

分析

利用牛顿迭代法求立方根,通过迭代次数可以带近正确的值,迭代次数越多,求出的值越准确

利用牛顿迭代法可推导出求立方根公式如下

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

具体推导过程可参考网上搜索:C#求立方根牛顿迭代法。这里就不再详细解释了。有兴趣的朋友 可以到网页自行搜索了解

03

程序

参数接口定义如下

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

X是被求数,Y是结果,由于要不断迭代,在此设置为INOUT类型

SCL程序:

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

程序大体就是根据上面2中推出出的公式来指导编程,利用FOR循环进行循环迭代次数。

在这里要强调,由于迭代次数越多,会占用大量PLC扫描时间,所以,在实际应用中,迭代次数尽量小于1000

在OB1中调用程序如下:

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






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5008

    文章

    13146

    浏览量

    461963
  • SCL
    SCL
    +关注

    关注

    1

    文章

    239

    浏览量

    17033

原文标题:西门子SCL语言编程系列讲37-写立方根FB块

文章出处:【微信号:PLC 工控微课,微信公众号:PLC 工控微课】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    方根电路

    方根电路 该电
    发表于 09-17 17:26 519次阅读
    <b class='flag-5'>求</b><b class='flag-5'>方根</b>电路

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

      FB功能种封装了特定逻辑功能的模块。它类似于子程序或函数,但是它有自己的内部变量和接口。F
    的头像 发表于 11-09 16:13 3798次阅读
    什么是<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语言编写的电机控制函数

      电机控制在实际项目中经常使用,般的电机控制程序都是具有启动、保持、停止的功能。  今天这篇文章给大家介绍使用SCL语言编写的电机
    发表于 03-09 17:02

    S7-SCL功能(FB)的结构

    在关键字FUNCTION_BLOCK或PROGRAM之后,键入关键字FB,跟上一个号或FB的符号名。号是0到65533之间的
    的头像 发表于 05-10 10:30 3154次阅读
    S7-<b class='flag-5'>SCL</b>功能<b class='flag-5'>块</b>(<b class='flag-5'>FB</b>)的结构

    如何用FB在使用西门子1200PLC时候实现堆栈功能

    1.在使用西门子1200PLC时候需要堆栈功能,实现数据的先进先出后进后出功能,于是自己SCL语言开发了FB
    的头像 发表于 09-22 17:31 9280次阅读
    如何用<b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>FB</b><b class='flag-5'>块</b>在使用西门子1200PLC时候实现堆栈功能

    SCL源文件中调用功能和功能方法

    FUNCTION_BLOCK :定义号或者的符号名称。若是符号,例如 SIM _VAL,则在编译SCL代码中的
    的头像 发表于 04-11 09:52 4459次阅读

    SCL编辑器创建功能

    FUNCTION_BLOCK :定义号或者的符号名称。若是符号,例如 SIM _VAL,则在编译SCL代码中的
    的头像 发表于 04-19 11:13 1548次阅读

    西门子SCL语言编程案例之计算方差

    在统计数据中,经常用到方差来代表数据的离散程序,我们SCL语言编写计算方差的FB
    的头像 发表于 01-09 09:45 1310次阅读

    SCL与STL的区别是什么?SCL常见问题及解决办法!

    OB,FC,FB,DB,UDT。在 S7 程序中,S7-SCL 可以与其它STEP7 编程语言生成的互相调用。S7-SCL 可以被编译成
    的头像 发表于 01-17 14:27 3049次阅读

    SCL编辑器创建功能简析

    FUNCTION_BLOCK :定义号或者的符号名称。若是符号,例如 SIM _VAL,则在编译SCL代码中的
    的头像 发表于 02-03 14:50 1101次阅读

    西门子SCL语言编程系列-写立方根FB

    由于西门子PLC本身并没有带立方根的指令,我们SCL来写
    的头像 发表于 02-06 15:17 1882次阅读
    西门子<b class='flag-5'>SCL</b>语言编程系列-写<b class='flag-5'>立方根</b><b class='flag-5'>FB</b><b class='flag-5'>块</b>

    功能(FB)的结构介绍

    功能是逻辑,包含程序部分,并且有内存区域援引派给它。无论何时FB被调用,必须给它指定
    的头像 发表于 02-17 09:55 4382次阅读

    调用SCL函数-事例

    在以下部分中,将在组织“Main” 中调用 SCL 函数SCL_Best_before_date” 并互连输入和输出参数。
    的头像 发表于 08-10 09:51 825次阅读
    调用<b class='flag-5'>SCL</b>函数<b class='flag-5'>块</b>-事例

    SCLFB模块的结构

    模块FB是用于控制执行器和单元的功能模块或执行某功能的其他FB
    的头像 发表于 01-17 09:22 668次阅读
    <b class='flag-5'>SCL</b>中<b class='flag-5'>FB</b>模块的结构

    根号计算器在线计算怎么

    表示3的立方根。 平方根是指某个数的平方等于给定的数,而立方根是指某个数的立方等于给定的数。以平方根为例,如果
    的头像 发表于 01-25 11:15 2874次阅读