西门子S7-1200的数据类型及数据存取方式

简介: 数据类型用于指定数据元素的大小,以及如何解释数据。西门子S7-1200支持的基本数据类型包括以下几类:布尔型数据为一位二进制数,其取值为0或1,常数举例如图,取值为TRUE、FALSE或0、1等;字节型数据为八位二进制数,取值范围为16进制00到16进制FF,例如16进制12、16进制AB等;字型数据为十六位二进制数,取值范围为十六进制四个0到十六进制四个F,常数举例如16进制0012、16进制ABCD等。

数据类型用于指定数据元素的大小,以及如何解释数据。西门子S7-1200支持的基本数据类型包括以下几类:布尔型数据为一位二进制数,其取值为0或1,常数举例如图,取值为TRUE、FALSE或0、1等;字节型数据为八位二进制数,取值范围为16进制00到16进制FF,例如16进制12、16进制AB等;字型数据为十六位二进制数,取值范围为十六进制四个0到十六进制四个F,常数举例如16进制0012、16进制ABCD等。


640.jpg


双字型数据为32位二进制数,取值范围为十六进制八个0到十六进制八个F,举例如图所示;字符型数据为八位二进制数据,取值范围为十六进制00到十六进制FF举例如图所示;短整型数据为八位有符号数据,取值范围为-128到127,举例如图所示;整形数据为16位有符号数据,取值范围为-32768到32767,举例如图所示;双整型数据为32位有符号数据,取值范围为-2的31次方到2的31次方减1,举例如图所示。


640.jpg


无符号短整型数据为八位数据,取值范围为0到255,举例如图所示;无符号整型数据为16位数据,取值范围为0到65535,举例如图所示;无符号双整型数据为32位数据,取值范围为0到2的32次方减1,举例如图所示;实数为32位数据带小数点的数据, 举例如图所示;长实数为64位数据,比32位实数有更大的取值范围;时间型数据为32位数据,其格式为T#、天、小时、分钟、秒、毫秒。


640.jpg


字符串型数据为0到254个字节的字符串数据,其位数可变,举例如图所示;DTL数据是一种12个字节的结构,以预定义的结构保存日期和时间信息。此外还会用到的BCD码数字格式,不能用作数据类型,但他们支持转换指令;十六位BCD码,数字范围为-999到999,举例如图所示,32位BCD码数字范围为-9999999到9999999。


640.jpg


S7-1200的数据存取方式。西门子S7-1200 CPU中可以按照位、字节、字和双字,对存储单元进行寻址。二进制数的一位只有0或1两种不同的取值,可以用来表示数字量或称开关量的两种不同的状态,如触点的断开和接通线圈的通电和断电等。


640.jpg


八位二进制数组成一个字节,其中的第0位为最低位,第七位为最高位。


640.jpg


两个字节组成一个字,其中的第0位为最低位,第15位为最高位。


640.jpg


两个字组成一个双字,其中的第0位为最低位,第31位为最高位。


640.jpg


西门子S7-1200 CPU,不同的存储单元都是以字节为单位, 如图所示:

640.jpg


对位数据的寻址由字节地址和位地址组成,如I3.2,其中的区域标识符I表示输入映像区,字节地址为3,位地址为2,这种存取方式称为字节位寻址方式。


640.jpg


对字节的寻址,如MB2,其中的区域标识符M表示为存储区,2表示寻址单元的起始字节地址,B表示寻址长度为一个字节,即寻址为存储区中的第二个字节。


640.jpg


对字的寻址,如MW2,其中的区域标识符M表示为存储区,2表示寻址单元的起始字节地址,W表示寻址长度为一个字,即两个字节,寻址为存储区中从第二个字节开始的一个字,即字节2和字节3。请注意,两个字节组成一个字,遵循的是低地址、高字节的原则。以MW2为例,MB2为MW2的高字节,MB3为MW2的低字节。


640.jpg


对双字的寻址,如MD0,其中的区域标识符M表示为存储区,0表示寻址单元的起始字节地址,D表示寻址长度为一个双字,即两个字四个字节,寻址为存储区中从第0个字节开始的一个双字,即字节0、字节1、字节2和字节3。


640.jpg


本篇关于西门子S7-1200的数据类型及数据存取方式的内容就介绍到这里,下篇我们继续学习S7-1200的其他知识点,欢迎大家持续关注!如需PLC书籍,可点击“阅读原文”挑选!


相关文章
西门子S7-1200的转换指令、取整和截取指令、上取整和下取整指令、标定和标准化指令,各参数的含义是什么?
西门子S7-1200中的转换指令包括转换指令、取整和截取指令、上取整和下取整指令、标定和标准化指令。
西门子S7-1200的转换指令、取整和截取指令、上取整和下取整指令、标定和标准化指令,各参数的含义是什么?
西门子S7-1200编程实例,比较指令如何使用?
西门子S7-1200中的比较指令包括了值大小比较指令、是否在范围内指令以及有效性无效性检查指令。使用值大小比较指令,可以比较两个数据类型相同的数值的大小。
西门子S7-1200编程实例,比较指令如何使用?
|
存储 监控 C语言
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
在西门子S7-1200中有四种类型的定时器:TON接通延迟定时器、TONR保持型接通延迟定时器、TOF关断延迟定时器、TP脉冲定时器。
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
|
C语言 Perl
西门子S7-1200编程实例,电动机起保停控制梯形图如何编写?
本篇我们通过一个电动机起保停控制的实例,介绍S7-1200的使用方法,按下瞬时启动按钮I0.6,电动机Q0.0启动,按下瞬时停止按钮I0.7,电动机Q0.0停止。
西门子S7-1200编程实例,电动机起保停控制梯形图如何编写?
|
缓存 负载均衡 应用服务中间件
如何配置 NGINX 反向代理
【8月更文挑战第21天】
3944 0
如何配置 NGINX 反向代理
|
存储 C语言 Perl
西门子S7-1200的变量如何使用?什么是局部变量和全局变量?临时变量和静态变量有什么区别?
今天给大家讲一下什么是局部变量、全局变量、临时变量、静态变量,这些变量都有什么区别,以及在西门子S7-1200中这些变量如何来使用。
西门子S7-1200的变量如何使用?什么是局部变量和全局变量?临时变量和静态变量有什么区别?
西门子S7-1200的程序结构,块,组织块OB,功能块FB,功能FC
在S7-1200的编程中采用了块的概念,即将程序分解为独立的自成体系的各个部件,块类似于子程序的功能,但类型更多,功能更强大。在工业控制中,程序往往是非常庞大和复杂的,采用块的概念,便于大规模的程序设计和理解,也可以设计标准化的块程序进行重复调用。在S7-1200中支持以下类型的代码块,使用他们可以创建有效的用户程序结构,组织块OB、功能FC、功能块FB、数据块DB。
西门子S7-1200的程序结构,块,组织块OB,功能块FB,功能FC
|
Java Python Windows
Python pip 源设置成国内源,阿里云源,清华大学源,最方便的方式,都在这里了
Python pip 源设置成国内源,阿里云源,清华大学源,最方便的方式,都在这里了
82889 1
西门子S7-1200PLC变量表如何使用?如何声明、选用、显示、定义、更改变量?变量保持性如何设置?
在S7-1200 CPU的编程理念中,特别强调符号寻址的使用,在开始编写程序之前,用户应当为输入、输出、中间变量定义相应的符号名,也就是标签。具体步骤如下:
西门子S7-1200PLC变量表如何使用?如何声明、选用、显示、定义、更改变量?变量保持性如何设置?
|
监控 C语言 Perl
西门子S7-1200编程实例,置位/复位指令如何使用?
本节我们来学习置位/复位指令,并通过一个电机起保停控制的实例来学习置位/复位指令如何使用。
西门子S7-1200编程实例,置位/复位指令如何使用?