双字、字、字节和位的关系总结
4.位 字节 字 双字寻址概念

位字节字双字寻址概念
现在把存储区比作一个大房间,存储分区比作柜子,柜子编号有V柜,I柜,Q 柜,M柜;每个柜子都有256个(0-255)抽屉,每个抽屉相当于一个字节B,每个抽屉有8个格子(0-7),相当于位,每个抽屉的状态有两种状态,有(1)和无(0)。
寻址:I0.0表示位寻址;IB0 表示字节寻址;IW0表示字寻址;ID0表示双字寻址。
I0.0代表一个位,最小的单元格;IB0代表一个字节,由8个字节组成;IW0代表字寻址,由2个字节组成,16个为组成;ID0代表双字寻址,由2个字组成,4个字节组成,32个位组成。
IB0=2 I柜子0号抽屉的状态是:00000010 相当于I0.1=1状态,其他都为0.
IB0=3 I柜子0号抽屉的状态是:00000011 相当于I0.0=1 I0.1=1状态,其他都为0.
以字节为例:
假如VB100等于2,那VW100等于512,VD100等于33554432(都是十进制表示)
因为在PLC内部,字和双字分别是以2个和4个字节组成,而且地址低的字节为字或双字的高位字节。
以二进制的形式表示
VB100=00000010=2
VB100=1111111=255
VW100=00000010(VB101) 00000000(VB100)=512
VD100=00000010(VB103)00000000(VB102)00000000(VB101)00000000(VB100)=33554432。
西门子基本数据类型

基本数据类型
基本数据类型:包括位、位序列、整数、浮点数、日期时间。
(常见的)
1、位字节字双字
2、数据类型
3 浮点数
实(或浮点)数以32 位单精度数(Real) 或64 位双精度数(LReal) 表示。
比如模拟量模块采集的温度压力等
4 时间日期数据类型
TIME 数据作为有符号双整数存储,基本单位为毫秒。
存储的数值是多少,就代表有多少ms。
编辑时可以选择性使用日期(d)、小时(h)、分钟(m)、秒(s) 和毫秒(ms) 作为单位
DATE 数据作为无符号整数值存储,被解释为添加到基础日期1990 年1 月1 日的天数,用以获取指定日期。
编辑器格式必须指定年、月和日。
TOD (TIME_OF_DAY) 数据作为无符号双整数值存储,被解释为自指定日期的凌晨算起的毫秒数(凌晨= 0 ms)。
必须指定小时(24 小时/天)、分钟和秒。
西门子PLC的寻址方式

按位寻址:首先有一个存储器标识符用来区分当前使用PLC哪一种类型软元件,往下一位代表具体用的是哪个字节,一个字节有8个位,最后一位数字表示具体的哪个位,举例说明,I0.0首先I代表是用的PLC I 存储区,0代表是0字节,再往下的0代表的就是0字节具体第0个位;一个字节8个位,最大的位数就是0.7,没有0.8和0.9,下一个字节就是从1.0开始。
接下来再看一下按字节,字,双字寻址:如下图所示:学会按位寻址以后,对于按字节、按字以及双字寻址都是一样,首先:一个字节其实就是8个位,一个字就是16个位,一个双字就是32个位,可以理解为谁包含了谁;再看格式书写,第一位是存储器的标识符,第二位变为寻址方式的标识符,如B代表是按字节寻址,W代表的是按字寻址,D代表的是按双字寻址,最后一位代表的就是字节起始地址;举例说明VD0,V代表当前用的是PLC的V存储器,D代表的是按双字寻址,最后一位0代表被占用的起始字节,双字包含32个位,它共占用了从VB0开始到VB3这四个存储字节。
假设写的是VD1,那么它占用的起始字节就是从1开始,一共占用了VB1 VB2 VB3 VB4四个存储区。
1中VD0由VBO、VB1、VB2、VB3组成,它包括VWO、VBO、V0.0;而VW0由VB0和VB1组成,它包括了VB0和V0.0;而VB0由VB0.0~VB0.7这八个位组成,它包括V0.0。
建议您把西门子的200基础知识好好看看,这些都是很有用的2、四者的寻址方式不同,V0.0是按位寻址,VB0是按字节寻址,VW0是按字寻址,VD0是按双字寻址。
VD0由VBO、VB1、VB2、VB3组成,它包括VWO、VBO、V0.0; VW0由VB0和VB1组成,它包括了VB0和V0.0;VB0由VB0.0~VB0.7这八个位组成,它包括V0.0。
3、1字节=8个二进制位(简称位) 1字=2字节=16位 1双字=2字=4字节=32位4、字由一串字节组成,字节由8个位组成,双字节就是连续的16个位了如有侵权请联系告知删除,感谢你们的配合!。
字和字节和位的关系

1、位(bit)来自英文bit,音译为“比特”,表示二进制位。
位是计算机内部数据储存的最小单位,是一个8位二进制数。
一个二进制位只可以表示0和1两种状态(21);两个二进制位可以表示00、01、10、11四种(22)状态;三位二进制数可表示八种状态(23)……。
2、字节(byte)字节来自英文Byte,音译为“拜特”,习惯上用大写的“B”表示。
字节是计算机中数据处理的基本单位。
计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。
八位二进制数最小为00000000,最大为;通常1个字节可以存入一个ASCII码,2个字节可以存放一个汉字国标码。
3、字计算机进行数据处理时,一次存取、加工和传送的数据长度称为字(word)。
一个字通常由一个或多个(一般是字节的整数位)字节构成。
例如286微机的字由2个字节组成,它的字长为16;486微机的字由4个字节组成,它的字长为32位机。
计算机的字长决定了其CPU一次操作处理实际位数的多少,由此可见计算机的字长越大,其性能越优越。
另一种说法:字在计算机中,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称宇。
字通常分为若干个字节(每个字节一般是8位)。
在存储器中,通常每个单元存储一个字,因此每个字都是可以寻址的。
字的长度用位数来表示。
在计算机的运算器、控制器中,通常都是以字为单位进行传送的。
宇出现在不问的地址其含义是不相同。
例如,送往控制器去的字是指令,而送往运算器去的字就是一个数。
在计算机中作为一个整体被存取、传送、处理的二进制数字符串叫做一个字或单元,每个字中二进制位数的长度,称为字长。
一个字由若干个字节组成,不同的计算机系统的字长是不同的,常见的有8位、16位、32位、64位等,字长越长,计算机一次处理的信息位就越多,精度就越高,字长是计算机性能的一个重要指标。
目前主流微机都是32位机。
注意字与字长的区别,字是单位,而字长是指标,指标需要用单位去衡量。
1.2位、字节、半字、字的概念和内存位宽

在所有的计算机、所有的机器中(不管是32位系统还是16位系统还是以后的64位系统),位永远都是1bit
ห้องสมุดไป่ตู้ 字节永远都是8bit
1.2.5.字和半字
出现过很多16位、32位、64位的系统,被混乱的定义过的。
1.2.2.内存的逻辑抽象图
从逻辑角度来将,内存实际上是由无限多个内存单元格组成的,每个单元格有一个固定的地址
叫内存地址,这个内存地址和这个内存单元格唯一对应且永久绑定。
大楼类比,房间号是地址,内存中存储的内容就好像住在房间中的人一样。
逻辑上来说,内存可以无限大,但是现实中实际的内存大小是有限制的,譬如32位的
1.2位、字节、半字、字的概念和内存位宽
从逻辑上对内存有一个认识,有一个模型的概念
1.2.1.什么是内存
硬件:内存条(SRAM和DRAM——DRAM有好多代,譬如SDRAM,后来的DDR1、DDR2、DDR3。。。LPDDR--工作电压不一样
DRAM(Dynamic Random Access Memory)动态随机访问内存
并联后即使8位内存芯片也可以做出16位或32位的硬件内存。
我们默认的内存都是32位的
逻辑:内存位宽在逻辑上是任意的,从逻辑角度来讲内存位宽是多少,我们直接操作就好。但是操作不是纯逻辑而是需要硬件去执行
的,所以我们的操作都是受限于硬件的特性的。
1.2.4.位和字节
建议大家对字、半字、双字的概念不要详细区分,依赖于平台
编程的时候基本上用不到这个概念,但是在文档中还是存在的,如果不区分容易造成误解。
S7200PLC软元件

本节课你将会学习到以下内容:
1、西门子S7-200 有哪些数据存储类型? 2、内部元件是怎么样编址和寻址的? 3、常见元件有哪些,有什么功能?
一. 数据存储类型
1. 数据的长度
在计算机中使用的都是二进制数,其最基本的存储 单位是位(bit)。常用的存储单位还有字节(Byte),字 (Word),双字(Double word)把位、字节、字和 双字占用的连续位数称为长度。换算关系如下:
④输入继电器的特点
与数字量输入点对应的输入映象寄存器可称为输入继 电器。其特点是:
1)输入继电器是PLC用来接收用户输入设备发来的输 入信号。
2)输入继电器线圈由外部输入信号所驱动,只有当外 部信号接通时,对应的输入继电器才得电,不能用 指令来驱动。
3)在程序中不能出现输入继电器的线圈,只能出现输 入继电器的触点。
4. 双字编址
双字编址的指定方式为: (区域标志符)D(起始字节号)
且最高有效字节为起始字节。 例如VD0表示由VB0到VB3这4字节组成的双字。
三. 寻址方式
1. 直接寻址
直接寻址是在指令中直接使用存储器或寄存器的 元件名称(区域标志)和地址编号,直接到指定 的区域读取或写入数据。有按位、字节、字、双 字的寻址方式。
①符号表示 ②编址方式 按位编址 按字节编址 按字编址 按双字编址
字母 I
I0.0~I15.7 IB0~IB15 IW0~IW14 ID0~ID12
③使用方法
每一个数字量的输入点,对应着输入映象寄存器的 一位。 比如S7-200CPU224型PLC输入点数是14点。则对应 的输入映象寄存器的地址范围是I0.0~I1.5 I1.6 I1.7不使用。 若用整个字节未使用则可充当内部标志位。 如:IB3~IB15
S7-1200 PLC的基本数据类型,你了解多少?

S7-1200 PLC的基本数据类型,你了解多少?如果有了解过S7-1200 PLC的学员,相信应该知道S7-1200 PLC所支持的数据类型是远远多于S7-200/200 SMART PLC的吧?今天就给大家介绍一下S7-1200 PLC的数据类型。
除了基本数据类型之外,还支持一些复杂的数据类型,包括结构数据类型Struct、PLC数据类型UDT、数组Array、系统数据类型SDT、硬件数据类型DB_ANY、参数数据类型Variant、String和Char数据类型、WString和WChar数据类型、DTL数据类型等。
就基本数据类型而言,S7-1200 PLC与S7-200/200 SMART PLC的也有不同,这篇文件中我们先介绍基本数据类型(复杂数据类型下一篇中介绍),基本数据类型包括位、字节、字、双字、整数、浮点数、日期时间,此外字符(String和Char 数据类型、WString和WChar数据类型)也属于基本数据类型。
1、位、字节、字和双字位为Bool,字节为Byte,字为Word,双字为DWord。
这些数据类型与S7-200/200 SMART PLC都是一样的。
这里便不再多说,具体可看下表。
2、整数数据类型对于S7-200/200 SMART PLC整数数据类型只有INT整数和DINT双整数这两种,而S7-1200 PLC支持6种,USInt、UInt、UDInt是无符号数,SInt、Int、DInt是有符号数,他们的数值范围有所不同。
3、浮点数数据类型在S7-1200PLC中,浮点数以32 位单精度数(Real) 或64 位双精度数(LReal) 表示。
但是像S7-200/200 SMART PLC中就没有LReal的数据类型。
4、时间和日期数据类型时间和日期数据类型包括Time、Date、Time_of_Day这三种。
S7-200/200 SMART PLC是不支持这几种数据类型的,但是S7-1200PLC可以支持这几种数据类型。
字节、字、双字,整数,双整数和浮点数详解

字节、字、双字,整数,双整数和浮点数详解1.引言1.1 概述在计算机科学和编程领域,字节、字、双字、整数、双整数和浮点数是非常重要的概念和数据类型。
它们在存储和处理数据时起着关键作用。
本文将对这些概念和数据类型进行详细解释和讨论。
首先,字节是计算机存储和处理数据的基本单位之一。
一个字节由8位二进制数字组成,可以表示256种不同的值。
字节一般用于存储和表示字符,例如ASCII码中的每个字符都用一个字节表示。
接下来,字是字节的扩展,通常由两个字节组成。
字是更大的数据单元,可以表示更多的不同值。
字通常用于存储和表示较大的字符集,如Unicode编码中的字符。
双字是对字的一种拓展,由四个字节组成。
双字可以表示更大范围的数据,通常用于存储和处理较大的整数和浮点数。
然后,整数是一种完整的数值数据类型,用于表示不带小数部分的数值。
整数可以是负数、零或正数,其取值范围取决于所使用的字节数。
整数常用于计算、逻辑运算和数据存储。
双整数是对整数的一种拓展,由两个整数组成。
双整数可以表示更大范围的整数值,通常用于需要更精确的计算和表示的情况。
最后,浮点数是一种带有小数部分的数值数据类型。
浮点数通常由双字表示,其中一部分用于存储小数部分,另一部分用于存储指数部分。
浮点数常用于科学计算、图形处理和物理模拟等领域。
本文将详细探讨字节、字、双字、整数、双整数和浮点数的定义、特点、应用、表示方式、运算规则和数据范围等方面内容。
通过深入理解这些概念和数据类型,我们可以更好地理解计算机的内部处理和存储方式,并在编程中更加灵活和高效地处理数据。
1.2文章结构文章结构部分的内容可以写成以下方式:1.2 文章结构本文将详细介绍字节、字、双字、整数、双整数和浮点数的概念以及其应用。
文章结构如下:2.正文2.1 字节2.1.1 定义本节将介绍字节的定义,以及字节在计算机中的作用和意义。
2.1.2 应用本节将探讨字节在不同应用场景下的具体应用,例如在存储和传输数据中的作用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双字、字、字节和位的关系总结
一、资料查询:
相信从网上搜一下西门子数据类型方面的资料,会有一大堆,最常见的就是解释双字和字节之间的组成关系,如下图:
就以这个资料为基础,进行试验验证;
二、程序准备
由于资料上大部分都是以M区介绍双字和字节等关系,但是实际情况是DB块中的数据居多,故在此实验中,将M区和DB区的内容进行对比,以方便观察,进行如下准备:
1、新建DB块,里面创建需要的变量:
2、创建M区变量,以方便做比较,这里取MD24,然后将其拆成字、字节、位,以方便观察:
3、创建FC程序:主要是将双字拆成字、双字,并将双字传送给单字、单字传送给双字,为了方便置位双字中的位,特意用数组逐位传送给双字中的位:
三、程序验证:
省略掉程序的下载啊、仿真啊的操作步骤,因为那个不是重点,直接展示测试结果:从数组中,分别置位不同的位,则相当于分别对双字中的位进行置位,可以分别观察结果,现在取比较有代表性的两个位,即将第0位和第16位置1,结果如下两图所示:
通过测试可以发现如下规律:
1、西门子双字中位的排列,是从右向左排的,这点和平时写字顺序正好相反,但是我觉得可以从进制的位数去记忆一下,比如我们十进制,从右往左分别是个、十、百、千、万等位,这个正好类似于那个;
2、可以看下双字传给单字的情况,对于截取数据时候比较有帮助,具体不总结,可以体会一下;
3、第三条也是我一开始比较迷糊的地方,观察双字的四个字节,和位的排序是一样的,即0位在右,依次往左增大,但是M区其实按照这个方向排列,但是让人很迷糊,上图为例,我们置位0位的时候,在DB中是第0个字节有变化,但是在M区中对应的是MB27变化,虽然按照一开始资料所示,MB27是在
最右边,但是MB27是第0字节,MB26是第1字节,依次类推,大小和字节顺序又反了一次,虽然仔细想一下就明白怎么回事,但是依然有点小别扭;。