西门子S71200PLCARRAY变长

2023-3-20 来源:不详 浏览次数:

天津白癜风QQ交流群 http://liangssw.com/bozhu/13528.html

在西门子S7-PLC中,在FC的Input接口中,定义数组Array[*]ofInt,可以用LOWERBOUND和UPPERBOUND指令来读取数组的上限值和下限值,进而可以用来求变长数组元素的总和,下面就针对这两个指令的功能,分享一下变长数组的求和,具体如下:

在分享之前,我想大家对变长数组感到很好奇,包括我当初第一次见到这个名词的时候,就充满了期待和好奇,所以我想,我们还是先一起来学习一下什么是变长数组:

1.变长数组定义

变长数组,英文全称是VariableLengthArray),是C语言中的专业术语,简称叫作:VLA;C语言中,直到C99标准出现之前,声明数组时在方括号内只能使用整数常量表达式。C99出现后,对其做了比较大的改进,数组的[]中既可以声明为INT变量表达式,也可以是整形表达式,数组的长度范围不会随时变化,在其生存期内的长度仍然是固定不变的。

2.案例

Step1:

在FC的Input接口中定义变长数组,数组的名称是:Input_1,数据类型是:Array[*]ofInt;

在Output接口中定义变量Output_1,数据类型是int,该变量作为变长数组元素求和的结果;

在TEMP接口中定义Temp_1;Temp_2;Temp_3;Temp_4,数据类型依次是DINT;DINT;DINT;INT;分别临时存储变长数组的下限值,上限值,下标值,求和值;

Step2:

在FC的程序段1中进行求和存储的初始化;

Step3:

在FC的程序段2中,利用LOWERBOUND和UPPERBOUND指令进行上限值和下限值的计算;

Step4:

在FC的程序段3中,利用数组的下限值对数组的下标进行初始化;

Step5:

在FC的程序段4中,求变长数组元素的和;

Step6:

在FC的程序段5中,当下标小于下标上限值时,下标自动加1,ENO=1后,JMP至标签处;

Step7:

在FC的程序段6中,变长数组的元素全部求和后,将临时存储器中的数据输出给Output_1中;

Step8:

在OB1中,调用FC;

Step9:

新建DB,创建变量;

Step10:

监控DB,然后人为赋值给DB,来看计算的结果是否准确;

转载请注明:
http://www.wanruiguanye.com/bzhl/77435568.html
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介

    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有 2014-2024
    今天是: