工控智汇

工控智汇

数据寄存器D

admin 90 41

数据寄存器就是保存数值数据用的软元件,全都是16位数据(最高位为正负符号),将2个数据寄存器、文件寄存器组合后可以保存32位(最高位为正负符号)的数值数据。


FX3G数据寄存器D

1个(16位)数据寄存器、文件寄存器可以处理-32768~+32767(215)的数值。一般情况下,使用应用指令对数据寄存器的数值进行读出/写入,此外,也可以用人机界面、显示模块、编程工具直接进行读出/写入。


16位数据

使用2个相邻的数据寄存器、文件寄存器,显示32位数据,数据寄存器的高位编号大,低位编号小,据此,可以处理-2,147,483,648~+2,147,483,647(231)的数值.


32位数据

指定32位时,如指定了低位侧(例如:D0),高位侧就自动占有紧接的号码(例如:D1),低位侧既可指定奇数,也可指定偶数的软元件编号,但是考虑到人机界面、显示模块、编程工具的监控功能等,建议低位侧取偶数的软元件编号。

举例说明数据传送需要注意的问题和在HMI显示可能出现的问题,数据较多,我们在触目屏完成。

HMI中D0、D1、D200、D201、是16位显示,

D10、D11、D20、D50、D210、D211、D220、D250是32位显示。

意思就是32位数据D10在触摸屏上会显示D11D10,而16D0位数据在触摸屏只显示D10

D0、D1、D10、D11、D20、D50是一般寄存器,D200、D201、D210、D211、D220、D250是停电保持寄存器。

D50和D250采用DMOV指令传送,其余采用MOV指令传送。

现在将D100中的数据分别传送到以上寄存器中显示看看有什么变化:

(1)我们先发送一个16位的数据2


数据传送结果

我们发现只有传送到D11时与D211时候,D10和D210变成了131074,这是怎么回事呢?我们分析下,D10是一个32位显示,显示的D11D11两个16位的,D11高16位和D10低16位。在没有传送D11数据的时候,D11=0,D10正常显示2,D11数据传送2,D11=2,换成二进制就是10而且是高16位的,D10=2,换成二进制就是10是低16位的,此时D10现实的数据D11D10就是2^17+2=131074.在PLC监控中也能发现。


PLC监控

(2)我们先发送一个32位的数据262148


传送结果

传送2^18+4=262148数据,发现只有D10和D50能正确显示,分析下,D100数据32数据是262148,高16位D101自动占据,此时D101=4,D100=4,D0、D1是16显示只传送了低16数据4,D20虽然是32显示,但采用MOV指令16位传送指令,D50采用DMOV指令32位传送指令,D10为什么能显示262148是因为D101D100传送给了D11D10,D1032位显示就自动显示D11D10.

(3)我们先发送一个32位的数据70000


传送结果

再传送一个32位数据2^16+4464=70000,只有D50成功显示,此时D101=1,D100=4464,所以D0、D1、D11、D20=4464;D10为***表示超过了D10(8位十进制)此时设置的显示位数,通过PLC监控发现D10=292557168,为什么呢,因为此时D10的高16位D11和低16位D10都是4464,4464转换成二进制是0001000101110000,32位数据D11D10=000010001011100000001000101110000转换成十进制就是292557168。


转换结果


PLC监控


停电保持

将PLC关闭后发现HMI左边的数据都编程了0,右边数据依然保存着,这就是停电保持和一般数据寄存器的区别,