理论教育 数据区域的结构设计

数据区域的结构设计

时间:2023-06-17 理论教育 版权反馈
【摘要】:6.不同数制的数据转换二进制数与十六进制数的转换很简单,每4位二进制数等于一位十六进制数。

数据区域的结构设计

1.工作位和工作字

数据区域中的某些字和位无固有用途时,在编程中可以用它们控制其他位。用于这种功能的字或位称为工作字或工作位。大多数(不是全部)未占用的位都可用作工作位。

2.标志位和控制位

一些数据区域包括标志位和(或)控制位。当PLC的某些操作状态发生改变时,PLC会自动地将对应的标志位置为“ON”或“OFF”。少数标志位可由用户设置为“ON”和“OFF”,但大多数标志位只能读,而不能直接控制。

控制位是由用户设置“ON”和“OFF”来控制特定操作的位。用“位”而非“标志”命名的位统称作控制位,例如重起动位就是控制位。

每个数据区域的数据位置都通过地址确定,地址指定了所需数据在区域中的字或位。如CIO、W、H、A和D区域等是由字组成的,每个字由16位组成,依次从右到左编号为00~15。下面列出了字W000和W001,每个字的内容都为0,00位称为最右位,15位称为最左位:

978-7-111-48236-9-Chapter02-61.jpg

术语“最高位”通常指最左位,“最低位”通常指最右位。但是在某些情况下不能如此简单定义,因为数据的字常分成几部分,每部分用作不同的参数或操作数,如果将不同字上的位连起来组成新字时,最右位就有可能成为实际上的最高位。

DM区和DR区只能读取字,不能定义其中的某一位。而在CIO、H、A和W区中可以存取数据的字或位,这取决于操作数据的指令。

按字指定存储区域时,应包括存储区域简称(如有必要)和3~5位的字地址。若按位指定存储区域时,字地址加上位序号一同组成某个4或5位数的地址,见表2-14。最右的两位数在00~15之间。

表2-14 数据区字/位指定表

978-7-111-48236-9-Chapter02-62.jpg

注:相同的T字号(或C字号)可以用来指定定时器(或计数器)的当前值及完成标志位。

3.数据结构

十进制形式输入的数据用BCD码形式存储,以十六进制形式输入的数据用二进制形式存储。字中每4位代表一位数,每一个十进制数或十六进制数都可以等价地表示成4位二进制。这样,一个字就能表示4位数字,这4位数依次从右向左编号,与二进制位号的对应关系如下:(www.daowen.com)

978-7-111-48236-9-Chapter02-63.jpg

对于整个字,数字序号为0的数称为最右位数字,数字序号为3的数称为最左位数字。输入数据时,应按要求输入适当的形式。特别是按字输入数据时,究竟是用十进制还是用十六进制输入就要视所用的指令而定了,因此,用户编程时需要认真判断。

4.无符号的二进制数据

无符号二进制数在CP1H中是标准格式,本书中无特别声明都是指无符号数。无符号数总是表示正的,范围是0(0000H)~65535(FFFFH),8位数字的值范围从0(0000 0000H)~4294967295(FFFF FFFFH),对应关系如下:

978-7-111-48236-9-Chapter02-64.jpg

5.带符号的二进制数据

带符号的二进制数可正可负,15位为符号位,15位为“OFF”时表示正;15位为“ON”时表示负。正数范围从0(0000H)~32767(7FFFH),负数范围从−32768(8000H)~-1(FFFFH),对应关系如下:

978-7-111-48236-9-Chapter02-65.jpg

8位数字的正值范围从0(0000 0000H)~2147483647(7FFF FFFFH),8位数字的负值范围从−2147483648(8000 0000H)~−1(FFFF FFFFH)。

6.不同数制的数据转换

二进制数与十六进制数的转换很简单,每4位二进制数等于一位十六进制数。按从右至左的次序进行转换。

十进制数与BCD码也很容易转换。每一个BCD码数字(即4个BCD位的组)等于一个十进制数字,例如BCD位0101011001010110以每4位为一组从右向左开始转换,二进制数0110对应十进制数6,二进制数0101对应十进制数5,因此对应的十进制数为5656。注意,这与二进制数0101011001010110在数值上是不同的。因为每4位BCD码对应一个十进制数,所以大于9的4位二进制数不能用。例如,二进制数1011不允许出现,因为它对应十进制数的11,不能用一位十进制数字表示;但在十六进制中允许用1011,它等价于十六进制数B。

BCD码与十六进制数之间互相转换的指令,详见第3章。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈