[西门子] SCL编程实例100例-038-数组的基本操作

[复制链接]
查看146 | 回复0 | 2024-12-11 08:11:23 | 显示全部楼层 |阅读模式
>

1 | 题目



编写程序实现数组的基本运算操作,给定任意长度或大小的浮点数一维数组,计算并输出数组中元素的最小值、最大值、和、平均值



2 | 设计分析



首先要获取任意长度数组的上下限值,然后根据上下限值进行循环运算。



3 | 创建功能或功能块



创建功能块FC,命名为“ArrayBasicOperReal”。




4 | 定义接口变量



具体接口变量定义见下图:

定义了可变长(泛型或可变限值)浮点数一维数组,数据类型为#Array
  • of Real。



  • 5 | 程序代码



    编写程序代码。如下图:


    本例数据类型只支持浮点数,使用了指令“TypeOf()”获取输入的可变长数组元素的数据类型,对于非浮点数不进行运算并直接返回,注意程序中的处理方式。



    6 | 代码测试



    在循环OB中调用FC-“ArrayBasciOperReal”。如下图:

    定义了全局数据块GdbArrayBasicOperRealData作为实参传递给形参。

    转至在线并监控程序。如下图


    给定数组为#arrayReal[0..10]={1.0, 5.0, 9.0, 2.0, 8.0, 6.0, 7.0, 1.0, 8.0, 6.0, 0.0},求得最小值0.0,最大值9.0,和53.0,平均值4.818182。



    7 | 总结



    学习指令TypeOf(),返回值为type_id;

    学习可变长一维数组的定义和使用;

    学习使用IF语句;

    学习使用FOR循环语句;

    学习RETURN指令在程序中的作用;

    学习在OB中调用FC和实参的传递方式

    -

    本帖子中包含更多资源

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

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

    本版积分规则