D区全称是数据寄存器。其中有一般使用的(停电不保持,但可设为停电保持),停电保持用的(也可设为停电不保持的)、停电保持专用(含文件用)的、特殊用的及指定用的多种区域。表5-1为FX2N的D区编号及使用情况。
表5-1 FX2N的D区编号及使用
①非停电保持领域。通过设定参数可变更停电保持领域。
②停电保持领域。通过设定参数可变更非停电保持领域。
③通过设定参数无法变更停电保持的特性。
指定用的数据寄存器V,Z也是16位可读、写数据寄存器。但可同其他软器件组合,以改变软器件的实际地址。这时V成了变址器,并曾在第2章第8节的几个程序实例中使用过。只是对FX机,在LD、AND、OUT等基本顺控指令及步进梯形图指令中,不能这么使用。
在处理16位以内的地址偏移时,用V数据寄存器就够用了,但若超出此范围,则V要与Z组合使用。组成32位的变址器,并以Z代表此变址器。以下再对一些应用做些说明。
对十进制编址的软器件,如M、S、T、D、KnM、KnS、P、K,若V0=K5,则D20V0为D25,因为D的编号是20+5。再若V0=K5,则K20V0为K25,因为K的值是20+5。
对八进制编址的软器件,如X、KnX、KnY,若Z0=K8,则X0Z0为X20,因为X的编号是八进制加,即0+8=10。
对十六进制的数值H,若V5=K30,则H30V5为H4E,因为H的值应是30H+K30即30H+1EH=4EH。再若V5=H30,则H30V5为H60,因为H为30H+30H。
图5-14所示为其使用例子。(www.daowen.com)
从图知,当M0 ON时,先把十进制数0传送给V0,再把十进制数2传送给Z1,然后再把常数2与Z1中的值2相加,即4,传送给Z0,最后执行ALT指令。ALT指令每执行一次,操作数的状态如ON将变为OFF,如OFF将变为ON。这里执行指令都是微分执行,所以Y4(Y的地址为0加V0Z0的值,此值为4)只在M0 OFF后,再ON才会改变。
图5-14 编址器使用例子
Q型机的X、KnX、KnY为十六进制编址,故也应按十六进制原则处理。此外,Q型机的没有V寄存器,而称V为边沿继电器。故它的编址器仅使用Z寄存器。如组成32位的变址器,并以双字Z代表此变址器。如双字编址器Z2,则Z3存高位地址、Z2存低位地址。
边沿继电器用于暂存从电路块开始到它之前的输入逻辑条件的状态,并予以微分(上升或下降)处理。图5-15所示为它的应用。
图中程序先是使常数0传给Z1(SM400为Q型机的常ON特殊继电器),再就是用了FOR、NEXT循环处理指令。在这两条指令间的指令要执行20次(FOR的操作数为20)。其间先是检测X0Z1状态,并经上升微分处理后存于V0Z1中,最后把V0Z1的状态输出给M0Z1(注意,这里都是变址处理的)。这样,如果X0Z1从OFF到ON,则V0Z1 ON一个扫描周期,同时也使M0Z1 ON一个扫描周期。其次是使Z1加1(变址的值改变)。可知,在X0~X13(注意X为十六进制编号)之间,任何一位从OFF到ON,都将使对应的M0~M19(M为十进制编号)ON一个扫描周期。NEXT指令后的程序是,对这个结果的测试。这里C0记录X0从OFF到ON的次数。这里C1记录X13从OFF到ON的次数。
图5-15 变址器及边沿继电器应用
提示:按常规,这里的上升沿处理(向上前头)指令,可以不必指定操作数。但对本例,如不用边沿继电器V0与变址器Z1,或不用边沿继电器V0,都将不能达到这个效果。因为这里有多个输入状态,须用多个边沿继电器予以记录。
从以上介绍及以前曾使用过的实例可知,有了D区及相关变址器,为逻辑与数据处理都提供方便。此外,三菱数据寄存器还可当文件寄存器使用,其目的是为了实现与内存选件交换数据,以保证数据安全。这些就不再介绍了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。