数字寄存器地址(数据寄存器D)

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

数字寄存器地址(数据寄存器D)(1)

FX3G数据寄存器D

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

数字寄存器地址(数据寄存器D)(2)

16位数据

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

数字寄存器地址(数据寄存器D)(3)

数据传送结果

我们发现只有传送到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监控中也能发现。

数字寄存器地址(数据寄存器D)(4)

PLC监控

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

数字寄存器地址(数据寄存器D)(5)

传送结果

传送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,D10 32位显示就自动显示D11D10.

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

数字寄存器地址(数据寄存器D)(6)

传送结果

再传送一个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。

数字寄存器地址(数据寄存器D)(7)

转换结果

数字寄存器地址(数据寄存器D)(8)

PLC监控

数字寄存器地址(数据寄存器D)(9)

停电保持

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

以上问题在PLC编程时候和HMI显示的时候一定要注意。演示视频:

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页