【KEWEI】科威经济型六轴运动控制器数据寄存器介绍 点击:148 | 回复:0



hs科威自控

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:315帖 | 8回
  • 年度积分:332
  • 历史总积分:950
  • 注册:2015年5月21日
发表于:2021-12-08 15:40:00
楼主

一、 数据寄存器[D]

数据寄存器D的作用是存储数据,在数据运算、网络通讯等方面尤显重要。其可为16位或32位数据寄存器使用(最高位为正、负号位),当作为32位寄存器使用时,将连续占用两个相邻地址的D寄存器序号。数据寄存器D的表现形式多种,可表示整数、二进制浮点数及BCD码,作为二进制浮点数使用时将指定为32位寄存器使用。

1、 数据寄存器[D]编号

具体作用如下

● D0~D999为系统参数区,一般不允许做中间变量和工艺变量使用。其空间分配如下:

◆ D0~D79为系统保留区。

◆ D80~D97为输出轴脉冲显示区域。

◆ D98~D199为系统保留区。

◆ D200~D299为软件虚拟输入轴参数区域。

◆ D300~D599为软件虚拟输出轴参数区域。

◆ D600~D999为系统保留区。

● D1000~D1999为停电保持使用区。

● D2000~D7999为一般使用区。

● D8000~D8255为系统寄存器使用区,此区域寄存器数值被系统赋予了特殊的含义,比如D8255为内核版本编号。

● 掉电保持功能可设置使能或禁止,有掉电保持的前提是使了掉电保持功能。

● 系统寄存器在一般情况下应尽量避免修改,以免影响系统正常运行。

2、 数据寄存器构造

数据寄存器存储数值数据的软元件,其种类如下所示。这些寄存器都是16位(最高位为正负符号),将两个数据寄存器组合,可存储32位(最高位为正负符号)的数值数据。

● 处理数值的范围(10进制)16位:-32768~32767



32位:-2147483648~2147483647

以两个相邻数据寄存器表现32位的数据。对于D1000作为32位寄存器的结构如下(占用D1001寄存器):

数据寄存器D在指定32位时,如果指定了低位(例如:D1000),则高位为继其之后的编号(例如:D1001)被自动占有。低位可用奇数或偶数的任意一种软元件编号指定。考虑到外围设备的监视功能,建议低位采用偶数软元件编号。

3、功能和动作说明

数据寄存器就是保存数值数据用的软元件。

该软元件为16位数据(最高位为正负符号),但是组合2个软元件后可以保存32位(最高位为正负符号)的数值数据。

1. 一般用/停电保持用

• 数据寄存器中的数据一旦被写入,在其他数据未被写入之前都不变化

在STOP→RUN时以及停电时,一般用数据寄存器D的所有数据都被清除为0,从RUN→STOP时保持运行时的值。

• 停电保持(保持)用数据寄存器,在RUN/STOP以及停电时都保持其内容。

D1999~D2999的数据清零

2. 特殊用

•  写入特定目的的数据,预先写入特定的内容的数据寄存器。该内容在每次上电时会被设置为初始值。

(一般被清零,带初始值通过系统写入。)

•  例如,系统对D8000中的WDT时间进行初始设定,但如果要更改,使用传送指令MOV可以向D8000中写入目的时间。



WDT被设定为250ms WDT刷新

3.动作举例

数据寄存器可以处理数值数据,用于各种控制。

在本项中,从这些用途中选取了基本指令和应用指令的代表例说明动作。

此外,为了能够更有效使用数据寄存器,请阅读后面的应用指令说明。

1) 基本指令中的数据寄存器

指定为计数器的设定值。


指定的数据寄存器中的内容作为计数器 和定时器的设定值进行动作。

2) 应用指令中的数据寄存器

3) 将未使用的定时器及计数器作为数据寄存器使用

MOV指令的动作实例

程序中使用的定时器和计数器可作为16位或是32位的数值保存软元件(数据寄存器)使用。

将300 (10进制数)传送至T10。将T10的内容传送至C20的当前值寄存器中。此时,T10不起到定时器的作用,而是作为数据寄存器工作。

作为32位使用时,与数据寄存器相同,用2个16位软元件(例如: C1、C0等),显示32位数值。

此外,1个32位计数器(例如: C200等)能够处理32位的数值。

4、程序应用

计算圆的周长,先将圆周率及直径转换为浮点数,然后将浮点数的运算结果转换为整数供后续程序使用。

1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师