S71200 MOVE指令详解Word格式文档下载.docx

上传人:b****2 文档编号:232928 上传时间:2023-04-28 格式:DOCX 页数:13 大小:1.34MB
下载 相关 举报
S71200 MOVE指令详解Word格式文档下载.docx_第1页
第1页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第2页
第2页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第3页
第3页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第4页
第4页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第5页
第5页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第6页
第6页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第7页
第7页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第8页
第8页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第9页
第9页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第10页
第10页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第11页
第11页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第12页
第12页 / 共13页
S71200 MOVE指令详解Word格式文档下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

S71200 MOVE指令详解Word格式文档下载.docx

《S71200 MOVE指令详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《S71200 MOVE指令详解Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。

S71200 MOVE指令详解Word格式文档下载.docx

(4)如果MOVE两边是基本数据类型,则可以在满足以下兼容条件时传送,参见表1。

表1MOVE的传送条件

传送源(IN)

传送目标(OUT1)

进行IEC检查

不进行IEC检查

BYTE

BYTE、WORD、DWORD

BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、TIME、DATE、TOD、CHAR

WORD

WORD、DWORD

DWORD

BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、REAL、TIME、DATE、TOD、CHAR

SINT

BYTE,WORD,DWORD,SINT,USINT,INT,UINT,DINT,UDINT,TIME,DATE,TOD

USINT

USINT,UINT,UDINT

INT

UINT

USINT,UINT

DINT

UDINT

REAL

DWORD,REAL

LREAL

TIME

BYTE,WORD,DWORD,SINT,USINT,INT,UINT,DINT,UDINT,TIME

DATE

BYTE,WORD,DWORD,SINT,USINT,INT,UINT,DINT,UDINT,DATE

TOD

BYTE,WORD,DWORD,SINT,USINT,INT,UINT,DINT,UDINT,TOD

CHAR

CHAR,String中的字符

BYTE,WORD,DWORD,CHAR,String中的字符

WCHAR

WCHAR,WString中的字符

BYTE,WORD,DWORD,CHAR,WCHAR,WString中的字符

String中的字符

WString中的字符

1.如果输入IN数据类型的位长度超出输出OUT数据类型的位长度,则源值的高位会丢失。

如果输入IN数据类型的位长度低于输出OUT数据类型的位长度,则目标值的高位会被改写为0。

2.REAL传送至DWORD时是按位传送,不是取整。

如果需要取整,可以使用ROUND、CONVERT_REAL_TO_DINT等指令。

3.(不)进行IEC检查是指,在MOVE指令所在的OB/FC/FB属性中的"

IEC检查"

选项,仅在此块中生效。

默认的"

不激活。

设置如图2所示。

图2IEC检查的设置

MOVE的使用

图3DB25

1.单个基本类型变量的传送

图4单个基本类型变量的传送

2.数组的传送

图5数组的传送

3.UDT的传送

图6UDT的传送

4.String中的字符的传送

图7String中的字符的传送

5.DTL中的变量的传送

图8DTL中的变量的传送

6.DB整体之间的传送

条件:

DB块为非优化块,或者将优化DB块的存储器预留区域与预留可保持性存储器设置为0字节(如图9所示),并且两个DB块结构完全相同。

1.IN和OUT的DB必须同时为优化DB或者非优化DB。

2.不允许同时输出到多个DB,即图4的形式。

图9存储器预留区域设置

图10DB整体传送

图11DB整体传送程序

(U)MOVE_BLK

LAD和SCL均为(U)MOVE_BLK指令。

(U)MOVE_BLK指令是当EN条件满足时,实现相同数组之间部分元素的传送。

MOVE_BLK和UMOVE_BLK的区别是UMOVE_BLK不会被中断打断,并且最多16kB的数据量。

图12程序位置

图13指令详情

1.IN和OUT必须是数组的一个元素,例如"

DB26"

.Static_1[0],不能是常数、常量、普通变量,也不能是数组名。

2.IN和OUT类型必须完全相同,并且必须是基本数据类型,不能是UDT、Struct等的数组。

3.IN是源数组中传送的起始元素,OUT是目的数组中接收的起始元素。

4.COUNT是传输个数,可以是正整数的常数,如果是变量,数据类型支持USINT、UINT、UDINT。

5.如果目的数组接收区域小于源数组的传送区域,则只传送目的数组可接收的区域的数据。

如果激活指令的ENO功能,则ENO=False。

(U)MOVE_BLK的使用

实现功能:

将"

.Static_1[0]开始的4个元素传送至"

.Static_2[4]开始的数组中。

图14程序使用

图15运行结果

MOVE_BLK_VARIANT

LAD和SCL均为MOVE_BLK_VARIANT指令。

MOVE_BLK_VARIANT的基本功能是数组之间部分元素的传送,并且是可以处理Variant类型的变量的指令之一,适合处理Variant指向的变长数组。

从TIAV13SP1,S7-1200V4.0开始支持该指令。

图16指令位置

图17指令详情

表2参数说明

参数

声明

数据类型

SRC

Input

Variant、Array、其他(不包括Bool,ArrayofBool)

COUNT

SRC_INDEX

DEST_INDEX

DEST

Output

RET_VAL

Return

MOVE_BLK_VARIANT指令通常用于将源数组SRC的部分元素传送至目的数组DEST的部分元素中,SRC与DEST数组元素必须完全相同。

COUNT是传送的元素个数,SRC_INDEX是待传送的源数组的起始编号,DEST_INDEX是目的数组接收的起始编号,此处用编号不是下标的意思是,SRC_INDEX和DEST_INDEX都从0开始,对应SRC和DEST的第一个元素。

同样是传送部分数组元素的指令,MOVE_BLK_VARIANT相对MOVE_BLK有以下优点:

1.SRC和DEST不可以是Bool数组,但可以是Struct、UDT等复杂数据类型数组

2.SRC和DEST都可以是普通的单个变量,例如SRC为一个INT变量,DEST作为一个INT数组,此时需要设置COUNT=1,SRC_INDEX=0,然后根据DEST_INDEX的值,传入DEST的指定位置。

3.SRC和DEST填写的通常是数组名,也可以是普通的单个变量,或者数组的一个元素,后两种情况都需要像

(2)一样处理。

4.SRC和DEST可以是参数类型Variant的变量,也就是可以直接填写P#指针的格式,指令将会把P#指针看做数组处理(原因)。

即使是SRC和DEST都指向Variant类型,其指向的形参的数组元素数据类型也需要相同,所以通常需要在使用指令之前用EQ_ElemType检查其中元素的数据类型。

使用MOVE_BLK_VARIANT指令的注意:

(1)COUNT>

=1,否则报错并且不传送任何数据。

(2)COUNT+SRC_INDEX与COUNT+DEST_INDEX决定了SRC与DEST数组元素编号上限,超出范围将报错并且不传送任何数据。

使用举例:

1.实现功能将结构完全一样的M区数据送入DB区

图18运行结果

需要注意的是将DB块改为非优化,M区和DB区均是16Byte,SRC和DEST可以是P#BYTE16,P#WORD8,P#DWORD4等都可以,但是要注意COUNT和元素数相同(P#BYTE16,COUNT=16;

P#WORD8,COUNT=8;

P#DWORD4,COUNT=4),SRC和DEST结构一致即可。

图19程序详情

2.实现变长数组的处理

功能:

FC15处理MBV类型变量,该变量作为InOut,FC14中输入MBV类型变量的变长数组,在其内部判断数组大小,然后数组元素逐个执行FC15指令,最后送回变长数组。

图20指令详情

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2