[西门子] 博途不定长数据算法小秘密

[复制链接]
查看189 | 回复0 | 2024-6-26 09:13:25 | 显示全部楼层 |阅读模式
>导读:在编程的时候,可能需要算出某组数据的最大或者最小值,而某组的数据个数也可能是不确定的。比如:要计算出5个电机中运行时间最长的,优先停止;而启动时,优先启动运行时间最短的。为此,我们可以采取封装成子程序块的方式,将“计算”程序封装好,然后在需要的时候直接调用即可。
控制要求:任意长度数据求和及计算出最大和最小值
一、核心基础知识
变长数组:它允许使用变量来定义数组的大小,而不是在编译时就确定数组的长度。FC的Input/Output/InOut以及FB的InOut可以定义形如Array
  • 这种变长数组,要求必须是优化FC/FB块,在调用FC/FB的实参中可以填写任意数据类型相同的数组变量;当然,也可以多维变长的数组,例如Array[*,*]of Int。
    二、程序设计
    1.新建DB数据块,其中“A”这个变量有15个元素,可以根据实际情况更改!

    2.新建FB块,定义接口变量,注意input的数据类型为“Array
  • of Int”

    3.FB程序设计

    4.调用FB程序,分配参数

    5.测试

    6.注意:如果下次需要求不同长度的数据时,只需要更改“A”数组里的元素个数即可,不需要重新编程。
    写在最后:如果文章对您有所帮助,帮忙点个“赞”和“在看”呗



    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册哦

    x
    您需要登录后才可以回帖 登录 | 注册哦

    本版积分规则