您现在的位置是:首页 > PLC技术 > PLC技术

CPM2A系列PLC的单字分配(DIST(80))指令

来源:艾特贸易2017-06-05

简介DIST( 80) 能用作单字分配或根据控制字 C 的内容用于堆栈操作。其梯形图如图 8-9 所示。 图 8-9 DIST( 80) 指令梯形图 当 C 的第 12 ~ 15 位为 0~8 数值时, DIST( 80) 可用于单字分配操作。整个

    DIST( 80)能用作单字分配或根据控制字C的内容用于堆栈操作。其梯形图如图8-9所示。

DIST( 80)指令梯形图

    8-9    DIST( 80)指令梯形图

    C的第1215位为0~8数值时,DIST( 80)可用于单字分配操作。整个C的内容指定一个偏移量,偏移量Of(BCD0000~ 2047)

    当执行条件为OFF时,DIST( 80)不执行;当执行条件为ON时,DIST( 80)S的内容复制到DBs+Of,也就是说,Of是被加到DBs来决定目的字的地址。

    DBsDBs+ Of必须在同一数据区域并且不能在DM 6144~ DM 665之间。

    IR 000~ IR 019IR 000~ IR 049IR 200~ IR 255被看作不同的数据区。在整个源数据区中必须使用其中的一块或其他的数据区,如果地址中包含了以上两块IR地址的话,将会有一个错误发生。

    【例8-4  8-10显示如何使用DIST( 80)来把#OOFF复制到HR 10 +OfLR 10的内容是#3005,因此,当IR 0000ON时,#00FF被复制给HR 15(HR10+5)。

单字分配指令的使用

    8-10    单字分配指令的使用

    C的第12~15位为9时,DIST( 80)能用作堆栈操作。C的另三位指定堆栈(BCD码:000~ 999)中的字数。DBs的内容是堆栈的指针:

    当执行条件为OFF时,DIST( 80)不执行;当执行条件为ON时,DIST( 80)S的内容复制到DBs +1 +DBs的内容中。换句话说,1DBs的内容被加到DBs中来决定目的字地址。然后,DBs的内容加1

    ①除非使用指令微分形式(@DIST(80))或将DIST( 80)DIFU(13)或结合使用,否则DIST( 80)会在每个周期中执行。

    ②在使用DIST( 80)进行堆栈操作之前,一定要对堆栈指针初始化。

    【例8-5  8-11显示如何使用DIST80)在DM 0001DM 0005之间创建堆栈。DM 0000起堆栈指针的作用。

DIST(80)在DM 0001与DM 0005之间创建堆栈

    8-11    DIST(80)DM 0001DM 0005之间创建堆栈

    对标志位的影响:

    ·ER:控制字中的偏移量或堆栈长度非BCD码。

    ·间接寻址字DM不存在。(字*DM中的内容非BCD码,或者DM区域已经超出了范围)。

    ·堆栈操作期间,堆栈指针加1后的值超出了堆栈的长度。

    ·EQ:当S的内容为0时置ON,否则置OFF