S7-1200 MOVE指令的讲解 move是什么意思( 二 )


5. 如果目标数组接收区域小于源数组的传输区域,则只传输目标数组可以接收的区域中的数据 。如果激活了指令的 ENO 功能,则 ENO=False 。
使用(U)
实现功能:传输以“DB26”开头的4个元素[0] 到以“DB26”开头的数组 。[4] 。

S7-1200 MOVE指令的讲解  move是什么意思

文章插图
图 14 程序使用
S7-1200 MOVE指令的讲解  move是什么意思

文章插图
图 15 运行结果
LAD 和 SCL 都是指令 。
基本功能是在数组之间传递一些元素,是可以处理类型变量的指令之一,适用于处理指向的变长数组 。
从 TIA、S7-1200 V4.0 开始支持此命令 。
S7-1200 MOVE指令的讲解  move是什么意思

文章插图
图 16 命令位置
S7-1200 MOVE指令的讲解  move是什么意思

文章插图

S7-1200 MOVE指令的讲解  move是什么意思

文章插图
该指令通常用于将源数组SRC的一些元素传递给目标数组DEST的一些元素,并且SRC和DEST数组元素必须完全相同 。COUNT 是要传输的元素个数,要传输的源数组的起始编号,以及目标数组接收的起始编号 。这里的数字不是下标,表示和从0开始,对应SRC和DEST的第一个数字 。一个元素 。
也是传送部分数组元素的指令,具有以下优点:
1.@> SRC 和 DEST 不能是 Bool 数组,但可以是复杂数据类型的数组,如 、UDT 等 。
【S7-1200 MOVE指令的讲解move是什么意思】2. SRC 和 DEST 都可以是普通的单变量 。例如,SRC 是一个 INT 变量,而 DEST 是一个 INT 数组 。这时需要设置COUNT=1,=0,然后根据该值,在中传入DEST的指定 。
3. SRC 和DEST 通常填入数组名,也可以是普通的单个变量,也可以是数组的一个元素 。后两种情况需要像 (2).
4. SRC和DEST可以是参数类型的变量,也就是P#指针的格式可以直接填,指令会把P#指针当作一个数组(原因) 。即使SRC和DEST都指向类型,它所指向的形参数组元素的数据类型也需要相同,所以在使用指令前通常需要检查元素的数据类型 。
使用命令注意事项:
(1)COUNT>=1,否则报错不发送数据 。
(2) COUNT+和COUNT+决定了SRC和DEST数组元素个数的上限,超过范围会报错,不传输数据 。
使用示例:
1.@> 实现将结构相同的M区数据发送到DB区的功能
S7-1200 MOVE指令的讲解  move是什么意思

文章插图
图 18 运行结果
需要注意的是DB块改成非优化,M区和DB区,SRC和DEST都可以是P#BYTE 16,P#WORD 8,P#DWORD 4等,但是要注意要 COUNT 和元素个数一样(P#BYTE 16, COUNT=16; P#WORD 8, COUNT=8; P#DWORD 4, COUNT=4),SRC和DEST结构是一样的 。
1.0@>
图 19 程序详情
电气相关知识和经验都是用来分享的,希望这篇文章能对你有所帮助 。与人玫瑰,手留余香 。