设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
西门子PLC 博图(TIA Portal) 变长数组你会吗? ...
返回列表
发新帖
[西门子]
西门子PLC 博图(TIA Portal) 变长数组你会吗?
[复制链接]
5732
|
0
|
2024-10-30 08:36:30
|
显示全部楼层
|
阅读模式
前序
你是否也遇到遇到以下问题,例如创建不同长度数组运算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功能块
三、程序演示
延伸小知识:PLC-Recorder专业数据采集与分析软件可以高速采集西门子PLC里的数据,速度也有20ms、8ms、2ms不同周期。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
博图TIA
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』