加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
西门子PLC 博图(TIA Portal) 变长数组你会吗?
发布时间: 2024-06-28 22:26 更新时间: 2024-07-01 09:10
你是否也遇到遇到以下问题,例如创建不同长度数组运算FB/FC功能块,就需要建立不同长度引脚变量的FB/FC功能块,保证输入的数组与功能块引脚参数一致。

通过变长数组 Array[*] of 数据类型,使用它可以让程序更加灵活,极大的可以缩减一些不必要的工作,下面让我们一起学习下。

一、可变数组与不可变数组对比

1.传统数组_功能块变量

功能块输入/输出变量必须与DB数据块变量保持一致。功能块1变量:
功能块2变量:DB数据块变量:
传统的不可变数组运算,不同长度数组,必须新建独立FB/FC功能块,例如两个不同长度的数组运算就必须创建两个不同长度的功能块。

2.变长数组_功能块变量

功能块输入/输出变量无需与DB数据块变量一致,DB数据块指定长度即可

功能块1/2变量,因此两个长度运算的功能块不需要传统方式创建两个功能块,通过可变数组方式一个功能块即可实现以上功能。

图片DB数据块变量:图片

可变数组运算,不同长度数组,无需新建独立FB/FC功能块。

二、可变数组讲解

1.新建FC功能块图片2.FC功能块插入以下变量图片3.FC功能块插入以下程序

图片
















  • //获取数组下限#数组下限 := LOWER_BOUND(ARR := #输入数组, DIM := 1);//获取数组上限#数组上限 := UPPER_BOUND(ARR := #输入数组, DIM := 1);//赋值前清零#输出和_Temp := 0;//数组求和FOR #Temp_1 := #数组下限 TO #数组上限 BY 1 DO    // Statement section FOR    #输出和_Temp += #输入数组[#Temp_1];END_FOR;//数组求和值中转#输出和 := #输出和_Temp;4.新建DB数据块
    图片5.DB数据块插入以下变量

    图片

    6.OB1功能块中插入两次可变数组FC功能块图片

    三、程序演示

    图片


    联系方式

    • 电  话:18126392341
    • 联系人:梁涛
    • 手  机:15267534595
    • 微  信:15267534595