相比于FX 2N PLC,FX 3U PLC新增加了两个与定位控制有关的编程软元件,说明如下。
这是一个针对数据寄存器的二进制位进行直接操作的编程位元件,其内容与取值见表3-1。
表3-1 位元件D□.b的内容与取值
数据寄存器D是一个16位的寄存器,其二进制位由低位到高位分别编号为0~F,如图3-1所示。
图3-1 编号
【 例3-1 】试说明位元件D□.b的含义。
(1)D0.3 数据寄存器D0的b3位,即第4个二进制位。
(2)D100.0 数据寄存器D100的b0位,最低位。
(3)D350.F 数据寄存器D350的b15位,最高位。
(4)D1002.7 数据寄存器D1002的b7位,即低8位的最高位。
D□.b是一个位元件,在应用上和辅助继电器M一样,有无数个常开/常闭触点,本身也可以作为线圈进行驱动。图3-2为其应用的简单说明程序。当把H8421送入D0后,其最高位为1。位开关D0.F常开触点闭合,驱动位元件D0.3。位元件D0.3的常开触点闭合,驱动Y0输出,常闭触点D0.3断开,Y1无输出。同时,当D0.3被驱动后,D0中的b3位由0变为1,这时D0所表示的数也发生了变化,原来是H8421,现在变成H8429,软件中显示的是带符号的十进制K-31703。
图3-2 D□.b简单说明程序
位元件D□.b也可做某些功能指令的操作数,如CMP D0 D1 D2.0,当(D0)>(D1)时,D2.0为1,当(D0)=(D1)时,D2.1为1,而当(D0)<(D1)时,D2.2为1。
为方便操作特殊功能模块的缓冲存储器BFM,特为FX 3U 系列PLC开发了一个专门用于特殊功能模块缓冲存储器BFM操作的编程软元件U□/G□,其内容与取值见表3-2。
表3-2 字元件U□/G□的内容与取值
由于缓冲存储器BFM是一个16位的寄存器,所以U□/G□和数据寄存器D、V、Z一样是一个字元件。
在功能指令中,字元件U□/G□是作为操作数出现的,因此,给特殊功能模块的缓冲存储器BFM的操作带来了很大方便。
对于FX 1S /FX 1N 和FX 2N 来说,如果想对缓冲存储器BFM的内容进行各种数据处理操作,必须先通过指令FROM将BFM的内容读到某个数据寄存器D中,然后通过D进行各种数据处理操作。FROM指令运算周期较长,多个FROM指令执行会引起看门狗定时器出错,而FX 3U 有了特殊模块专用字元件U□/G□后,功能指令可以直接对BFM进行操作,不再需要通过FROM/TO指令读写,这给程序设计带来很大改进。
U□/G□的使用和数据寄存器D一样,只不过它是特殊模块的缓冲存储器BFM的内容而已。现举几例加以说明。
【 例3-2 】试说明指令执行功能含义。
(1)MOVP H3310 U0\G0
这是一个向BFM#写入数据的指令,其执行功能是把十六进制数H3310传送到0#模块的BFM#0的单元中,其完成功能和指令TOP K0 K0 H3310 K1 一样。
(2)MOV U1\G4 D10
这是一个从BFM读出数据的指令,其执行功能是把1#模块的BFM#4单元的内容传送到PLC的数据寄存器D10中,其完成的功能和指令FROM K1 K4 D10 K1一样。
(3)DMOV U2\G4 D10
这是一个32位的读出指令,其执行功能是把2#模块的BFM#4和BFM#5两个单元的内容传送到PLC的数据寄存器D10、D11中,其对应关系是:
(BFM#4)→(D10),(BFM#5)→(D11),
如果传送点数超过两点,则可用BMOV指令来完成多点传送的任务。
【 例3-3 】试说明指令执行功能含义。
BMOVP U4\G5 D10 K4
指令的执行功能是把4#模块的(BFM#5~BFM#8)4个单元内容传送到PLC的数据寄存器(D10~D13)中,其对应关系是:
(BFM#5)→(D10),(BFM#6)→(D11),
(BFM#7)→(D12),(BFM#8)→(D13)。
其完成功能和指令FROM K4 K5 D10 K4一样。
【 例3-4 】试说明指令执行功能含义。
(1)ADD H3310 U0\G8 D20
指令的执行功能是把十六进制数H3310和0#模块内BFM#8单元的内容相加,结果送到D20中。
(2)ZCP D10 D20 U1\G5 M0
指令的执行功能是将1#模块的BFM#5单元的数与D10、D20的数进行比较,如果(BFM#5)<(D10),则置M0为ON,如果(D10)≤(BFM#5)≤(D20),则置M1为ON,如果(BFM#5)>(D20),则置M2为ON。
(3)DECO D10 U2\G4 K4
指令的执行功能是使D10的低4位b3b2b1b0所组成的二进制编码值m,将2#模块的BFM#4单元的bm位置ON,其余全部置0。
由上面3例可以看出,在功能指令中,字元件U□/G□仅被看为一个16位的字元件参与操作。在使用中,U不能进行变址操作,而G可以进行变址操作。例如,G10V0,(V0)=K3,则变址地址为G(10+3)=G13,表示BFM#13单元。