首页 理论教育 实训十七:传送指令仿真实验

实训十七:传送指令仿真实验

时间:2023-07-01 理论教育 版权反馈
【摘要】:本实训的程序见随书光盘中的例程“传送指令”。图4-24 高低字节交换指令4.成批传送指令成批传送指令BMOV将源操作数指定的软元件开始的n个数据组成的数据块传送到指定的目标地址区。图4-25 块传送指令打开软元件批量监视对话框,输入D20~D23的值。

实训十七:传送指令仿真实验

1.传送指令

传送指令MOV(FNC 12)将源数据传送到指定的目标软元件,图4-21中的X0为ON时,将K2X20(X20~X27)的值传送到K2Y20(Y20~Y27),T0的当前值传送到D0,DMOV指令将32位计数器C200的当前值传送到D2和D3组成的数据寄存器对(D2,D3)。图中T0的常闭触点和它的线圈组成一个脉冲发生器,T0的当前值在0~50之间周期性地变化。M8012是周期为100ms的时钟脉冲,用来给C200提供计数脉冲。本实训的程序见随书光盘中的例程“传送指令”。

打开该例程后,打开GX Simulator,程序被下载到仿真PLC。启动软元件监视视图,生成X窗口、Y窗口和D窗口。双击X窗口中的X0,使它变为ON。令梯形图中X0的常开触点闭合,开始执行MOV指令和DMOV指令。改变X20~X27的状态,观察Y20~Y27的状态是否随之而变。观察T0的当前值是否传送到了D0,C200的当前值是否传送到了D2和D3组成的数据寄存器对。

978-7-111-40437-8-Chapter04-30.jpg

图4-21 传送指令

2.交换指令

执行交换指令XCH(FNC 17)时,数据在指定的目标软元件之间交换,交换指令应采用脉冲执行方式(见图4-22),否则在每一个扫描周期都要交换一次。

在软元件监视视图中生成X窗口和D窗口(见图4-23)。选中D窗口,用单选框设置监控的数据为32位十六进制(Hex)格式。

978-7-111-40437-8-Chapter04-31.jpg

图4-22 交换指令

978-7-111-40437-8-Chapter04-32.jpg

图4-23 软元件监视视图

输入D4的值为H6666,D5的值为H3333,以及D6、D7和D8、D9组成的32位整数的值。双击X窗口中的X1,在X1的上升沿,观察D4和D5的值是否相互交换,两个32位整数的值是否相互交换。

3.高低字节交换指令

一个16位的字由两个8位的字节组成。16位运算的SWAP(FNC 147)指令将D10的高低字节的值互换(见图4-24)。指令“DSWAPP D12”首先交换D12的高字节和低字节,然后交换D13的高字节和低字节。

SWAP指令必须采用脉冲执行方式,否则在每个扫描周期都要交换一次。

双击X窗口中的X2,使它变为ON,执行一次图4-23中的SWAPP指令和DSWAPP指令。观察D10的高低字节的值H77和H88是否相互交换,D12和D13高低字节的值是否分别相互交换。图4-24的32位整数(D12,D13)中的十六进制数为HAABB3355,交换高低字节后应变为HBBAA5533。在X2的下一个上升沿,D10和(D12,D13)中的数据应恢复为原来的值。(www.xing528.com)

978-7-111-40437-8-Chapter04-33.jpg

图4-24 高低字节交换指令

4.成批传送指令

成批传送指令BMOV(Block Move,FNC 15)将源操作数指定的软元件开始的n个数据组成的数据块传送到指定的目标地址区。如果软元件号超出允许的范围,则数据仅传送到允许的范围。BMOV指令不能用于32位整数。

如果源软元件与目标软元件的类型相同,传送顺序是自动决定的(见图4-25),以防止源数据块与目标数据块重叠时源数据在传送过程中被改写。

978-7-111-40437-8-Chapter04-34.jpg

图4-25 块传送指令

打开软元件批量监视对话框,输入D20~D23的值。双击X窗口中的X3,在X3的上升沿,观察D20~D23的值是否传送到了D25~D28(见图4-26和图4-27)。

978-7-111-40437-8-Chapter04-35.jpg

图4-26 数据传送指令

978-7-111-40437-8-Chapter04-36.jpg

图4-27 软元件监视视图

5.多点传送指令

多点传送指令FMOV(FNC 16,见图4-26)将单个软元件中的数据传送到指定目标地址开始的n个软元件(n≤512),传送后n个软元件中的数据完全相同。如果软元件号超出允许的范围,则仅仅传送允许范围的数据。

双击X窗口中的X3,观察在X3的上升沿,常数5678是否分别被传送给了D14~D18这5个数据寄存器(见图4-27)。

除了上述的传送指令,还有移位传送指令SMOV(FNC 13),它将4位十进制源数据(S·)中指定位数的数据,传送到4位十进制目标操作数中指定的位置。取反传送指令CML(FNC 14)将源软元件中的数据逐位取反(1→0,0→1),然后传送给指定的目标软元件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈