c++动态数组是如何建立和使用的_博途S7-1200 SCL指令之如何使用数组指令ARRAY「*」...

今天跟大家聊聊SCL指令中的数组指令ARRAY[*]

在博途S7-1200 SCL指令中的数组指令主要包含两个指令:LOWER_BOUND(读取下限)和UPPER_BOUND(读取上限)两个指令,

8a00c78a16603e4b59d00da2fea74e76.png

当然了在进行数组寻址时不是只用这两个指令,而是在函数块或函数的块接口中,可声明 ARRAY[*] 数据类型的变量。这些局部变量可读取 ARRAY 限值。

1、指令的参数

c3d3b4db0ae05e02ff1aed9507e1b9db.png

以下示例说明了该指令的工作原理:

SCL

"Result" := LOWER_BOUND(ARR := #ARRAY_A,

DIM := 2);

该指令将从第二维度读取 ARRAY #ARRAY_A 的可变下限值。如果成功执行该指令,则结果将写入操作数“Result”中。

SCL

"Result" := UPPER_BOUND(ARR := #ARRAY_A,

DIM := 2);

该指令将从第二维度读取 ARRAY #ARRAY_A 的可变上限值。如果成功执行该指令,则结果将写入操作数“Result”中。

2、具体举例说明

功能要求:

把数据块src.src2数组里的数据循环传送到数据块dest.dest2。

A、首先建立一个PLC数据类型test,如下图所示

6bad74d6e2fa39e16256985b31cbae17.png

B、在建立的数据块中增加如下数组和变量

在数据块src中增加数组src2:

eb0a0cd90b3a6ec3a7a81d98b43eff17.png

在数据块dest中增加dest2:

c7007f5ea261340f3f7183c975b963df.png

C、建立一个FB,并在输入输出接口区设置如下:

3b951bc4c8519983939bb9458614c635.png

C、使用SCL编程如下

00d40a0fca816c167b58fae76ec20318.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值