西门子S7-200plc的数据装载、传送与移动全部通过移动指令MOV实现。移动指令MOV在梯形图中的指令格式如图10-4.1所示。
指令中的MOV为移动指令代码,B为数据长度,在S7-200中允许的数据范围为:
B:1字节(8位二进制);
W:l字(16位二进制):
DW:2字(32位二进制):
R:浮点数(32位二进制)。
指令中,IN:源数据或数据存储位置;
OUT:移动目标位置。
通过改变移动的源数据位置与移动目标位置,MOV指令可以完成数据的装载、传送与移动功能。当采用MOV BIR、MOV-- BIW时可以将直接输入移动到指定的位置,或将指定的数据直接送到输出端。
间接寻址:S7-200的移动指令中的数据源与移动目标不仅可以是常数、存储器地址,还可以采用间接寻址方式。在采用间接寻址时,对指针的建立、操作数的指定有规定的格式与要求,其使用范围也有一定的限制。如在建立指针时,应在指针地址前加“&”标记;当采用间接寻址时,应在地址指针存储器前加“+”标记等,有关S7-200间接寻址的方法可以参见本书第8章。
2.数据块移动
S7-200的数据移动还可以“成块”进行,这时应使用编程指令BLKMOV B(以字节为单位)、BLKMOV-W(以字为单位)、BLKMOV DW(以双字为单位),梯形图程序如图10-4.2所示。
图10-4.2中的N用于指定移动的“块”大小,执行程序可以将从MB10起的20字节标志寄存器数据(MBIO~MB39) -次性移动到VB10起的20字节变量寄存器中。
当图10-4.2采用BLKMOV—W、BLKMOV_DW指令时,只需要指定N为10与5,同样可以实现移动20字节的目的。
3.数据装载与传送
所谓装载实质是将指定的数据移动到累加器的操作,因此可以通过移动指令实现。在S7-200上,只需要在MOV指令中将移动目标位置(OUT)指定为累加器1(ACl),即可实现数据装载功能。
所谓传送,实质是将累加器的内容移动到指定位置的操作,因此,同样可以通过移动指令实现。在S7-200上,只需要直接将数据源位置(IN)指令为累加器1(ACl),即可实现数据的传送功能。