300基本数据类型

合集下载

PLCS7-300课后习题答案

PLCS7-300课后习题答案

课后题:第一章:1.什么是可编程控制器?答:可编程序控制器(Programmable Controller):可通过编程或软件配置改变控制对策的控制器。

是一台专业环境应用而设计制造的计算机。

它具有丰富的输入输出接口,并且具有较强的驱动能力。

2.可编程控制器是如何分类的?简述其特点。

答:一体化紧凑型PLC:电源,CPU中央处理系统,I/O接口都集成在一个机壳内。

标准模块式结构化PLC:各种模块相互独立,并安装在固定的机架上,构成一个完整的PLC应用系统。

3.简述可编程控制器的工作原理,如何理解PLC的循环扫描工作过程?答:当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。

完成上述三个阶段称作一个扫描周期。

在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。

PLC采用循环扫描的工作方式,对输入信号进行的是一次性“采样”。

采用这种工作方式,在一个PLC 程序循环周期内,即使实际输入信号状态发生变化,也不会影响到PLC程序的正确执行,从而提高了程序执行的可靠性。

用户程序通过编程器或其他输入设备存放在PLC的用户存储器中。

当PLC开始运行时,CPU根据系统监控程序的规定顺序,通过扫描,可完成各输入点状态采集或输入数据采集,用户程序的执行,各输出点状态的更新,编程器键入响应和显示器更新及CPU自检等功能。

PLC的扫描可按固定顺序进行,也可按用户程序规定的顺序执行。

4.简述PLC与继电接触器控制在工作方式上各有什么特点。

在继电器控制电路中,当电源接通时,电路中所有继电器都处于受制约状态,即该吸合的继电器都同时吸合,不该吸合的继电器受某种条件限制而不能吸合,这种工作方式称为并行工作方式。

而PLC的用户程序是按一定顺序循环执行,所以各软继电器都处于周期性循环扫描接通中,受同一条件制约的各个继电器的动作次序决定于程序扫描顺序,同他们在梯形图中的位置有关,这种工作方式称为串行工作方式。

S7-300PLC数据及软件安装方法

S7-300PLC数据及软件安装方法

S7-300PLC数据及软件安装⽅法⼀、S7-300PLC基本数据类型1、位(bit)位数据的数据类型为BOOL型,其值为1或0。

例如I0.0这⼀位的值要么为0,要么为1。

2、字节(byte)8位⼆进制数组成⼀个字节。

例如MB0。

3、字(Word)相邻⼆个字节组成⼀个字,字只能表⽰⽆符号数。

例如MW0是由MB0和MB1⼆个字节组成。

注意⼆点:1)⽤组成字最⼩的字节MB0的编号作为字MW0的编号。

2)组成字的编号最⼩的字节MB0为字的⾼位字节,编号最⼤的字节MB1为低位字节。

字的取值范围为W#16#0000~W#16#FFFF4、双字(Double Word)⼆个字(或四个字节)组成⼀个双字,双字也只能表⽰⽆符号数。

双字MD0由MB0~MB3组成,D表⽰双字,0为双字的起始字节MB0 的编号,MB0是双字的最⾼位,MB3是双字的最低位。

双字的取值范围为DW#16#0000_0000~DW#16#FFFF FFFF5、16位整数(INT, Integer)整数是有符号数,最⾼位为符号位,最⾼位为0时为正数,为1时为负数。

16位整数的取值范围为-32768~+32767,整数⽤补码表⽰。

6、32 位整数(DINT , Doubel Integer)和16位整数⼀样,最⾼位也为符号位32位整数的取值范围为-2147483648~+214748364Z7、32位浮点数实数(REAL)⼜称为浮点数。

8、常数的表⽰⽅法1)B#16#、W#16#、D#16#分别⽤来表⽰⼗六进制字节、字和双字常数。

2)2#⽤来表⽰⼆进制常数,例如2#1001_ 00103)L#表⽰32位双整数常数,例如L#+128⼆、S7-300PLC的系统存储器1、过程映像输⼊输出(I\O)I和Q均可按位、字节、字和双字访问,例如I0.0、IB0、IW0、ID0。

2、位存储器(M)M可按位、字节、字和双字访问,例如M0.0、MB0、MW0、MD0。

S7-300PLC编程技术及基本指令

S7-300PLC编程技术及基本指令

S5T#是16位S5时间常数,格式为S5T#
aD_bH_cM_dS_eMS。其中a,b,c,d,e分别是日、
小时、分、秒和毫秒的数值。输入时可以省掉下划线,
例如S5T#4S30MS=4s30ms,S5T#2H15M30S=2小 时15分30秒。 • C#为计数器常数(BCD码),例如C#250。
状态字Biblioteka 7 边沿检测指令当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升 跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把 当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表 明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以 便能和新的信号状态相比较。 S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作 结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的 指令。
包含在指令中,或者指令的操作数是惟一的。例如: SET AW W#16#117 // 将RLO置1 辑运算
//将常数W#16#117与累加器1进行“与”逻
L 43
//将整数43装入累加器1中
2 存储器直接寻址
存储器直接寻址的特点是直接给出操作数的存储
单元地址。例如
O I0.2
//对输入位I0.2进行“或”逻辑运
• 状态字用于表示CPU执行指令时所具有的状态。某些指令 可否执行或以何种方式执行可能取决于状态字中的某些位,指 令执行时也可能改变状态字中的某些位,可以用位逻辑指令或
字逻辑指令访问并检测状态字。状态字的结构如图所示。
•逻辑操作结果(RLO) 状态字的第1位称为逻辑操作结果(Result of Logic Operation, RLO)。该位存储逻辑操作指令或比较指令的结果。在逻辑串 中,RLO位的状态表示有关信号流的信息,RLO的状态为1,

PLC字节基础

PLC字节基础
用于存储年、月、日、时、分、秒、毫秒和星期的数据。占用8个字节,BCD编码。星期天代码为1,星期一~星期六代码分别是2~7。
如:DT#2004_07_15_12:30:15.200为2004年7月15日12时30分15.2秒。 5、用户定义的数据类型(UDT,User-Defined Data Types)
一、基本数据类型 1、位(bit)
常称为BOOL(布尔型),只有两个值:0或1。如:I0.0,Q0.1,M0.0,V0.1等。 2、字节(Byte)
一个字节(Byte)等于8位(Bit),其中0位为最低位,7位为最高位。如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。范围:00~FF(十进制的0~255)。
bool 布尔量 就是开关量 只有 0,1
byte 字节
word 字 16位整数
dword 双字 32位整数
int 带符号16位整数
dint 带符号32位整数
real 浮点数 实数 32位
适配器 就是plc 和电脑的 连接线 例如 MPI电缆
以s7300为例:S7-300的数据类型分以下三种:基本数据类型、复合数据类型和参数类型。
3、字(Word)
相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。字的范围为十六进制的0000~FFFF(即十进制的0~65536)。在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心。 4、双字(Double Word)

西门子S7-300 400高级编程培训教材 STEP_7中的数据类型和变量

西门子S7-300 400高级编程培训教材 STEP_7中的数据类型和变量

Byte n1)
Byte 1
Byte n+1
Byte 2
Byte n+2
Byte 3
...
l WORD, DWORD,...数据类型
Byte n1) Byte n+1
Word 1
Byte n+2
Byte n+2 1) n = 偶数
Byte 3 Word 2
...
多维数组
l 示例 ARRAY[1..2,1..3,1..2] OF BYTE
...
in Motor
UDT1
out
...
... .
.
A
#Motor.Enable
.
.
. .
STEP 7中的复杂数据类型
关键字
长度(位) 示DT例#99-06-14-12:14:55.0
DATE_AND_TIME
(日期和时间)
64
´This is a string´
STRING
8 * (字符数 +2) ´SIEMENS´
...
结构(STRUCT)的声明
示例: 数组 – 结构 – 数组的声明
DB6 "Declaration view"
DB6 "Data view"
存储器中STRUCT变量的存
储基本数据类型结构
复杂数据类型结构
7 1
Byte n1) Byte n+1 Byte n+2 Byte n+3 Byte n+4 Byte n+5 Byte n+6 Byte n+7 Byte n+8 Byte n+9

西门子S7-300系列PLC数据类型

西门子S7-300系列PLC数据类型

一、基本数据类型
基本数据类型的长度不超过32位。

位(BOOL),字节(BYTE),字(WORD),双字(DOUBLE WORD),整数(INT),
双整数(DOUBLE INT),浮点数(REAL),S5TIME(SIMATIC时间),IEC时间(TIME),IEC日期(date),日计时(TIME_OF_DAY),字符(CHAR),
重点:S5TIME和IEC时间数据类型结构,二者区别
二、复杂数据类型
复杂数据类型是由其他基本数据类型组合而成的,长度超过32位的数据类型。

1.日期时间数据类型(Data_And_Time ):
2.字符串类型(String):
3.数组类型Array
4.结构(STRUCT):
5.用户定义类型(UDT):
三、参数数据类型
用于功能FC或功能块FB的数据类型
1. Pointe指针类型,6字节指针类型,传递数据块号和数据地址
2. Any指针类型,10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保
用品等一系列自动化的工控产品。

如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。

最新西门子S7-300的基本数据类型

最新西门子S7-300的基本数据类型

STEP7中的基本数据类型⑴位(BOOL)位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。

⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。

⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。

二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。

十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W #16#FFFF。

BCD码:BCD码的格式为C#,取值范围为C#0~C#999。

BCD 码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。

BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。

在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。

无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:B#(12,254)=2#0000_1100_1111_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。

例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C #987或者B#(9,135)。

西门子PLC编程举例

西门子PLC编程举例


如果I0.0 = “1”,则ADD_R 方块激活。MD0 + MD4 相加的结果放入MD10 中。如果结果在浮点数的允 许范围之外或程序语句没有执行(I0.0 =“0”),则 输出Q4.0 置位。
六、 数据块指令
---(OPN) 打开数据块:DB 或DI

数据块10(DB10)被打开。接点地址(DBX0.0) 指的是数据块DB10 中包含的当前数据记录的数据 字节 0 的 0 位。该位的信号状态被赋值给输出 Q4.0。
七、 赋值指令P197
MOVE 赋值 例
如果 I0.0 = “1”,则执行指令。MW10 的内容被复 制到当前打开的数据块的数据字12中。 如果执行指令,则 Q4.0 为“1”。
参数 数据类型
EN
BOOL
ENO IN
BOOL 所有数据类型, 长度可为 8位、 16 位或 32 位
OUT
所有数据类型, 长度可为 8位、 16 位或 32 位
0 0 0 0CAFE
XXXXXXXX
L W#16#AFFE : : :
0 0 0 0AFFE
0 0 0 0CAFE
数据装入和传递(3)
程序
L MB 0
ACCU1内容
31
23
15
7
0
000000000000000000000000
MB0
装载
L MW 0
31
23
15
0000000000000000
MB0
第四章 S7-300指令系统 ——数字指令
要求: 1、了解S7-300编程软件STEP7的基本数据 类型。 2、了解S7-300系列PLC的各种数字指令 3、能编写简单程序。

西门子S7-300全教程第三章

西门子S7-300全教程第三章

第三章西门子PLC的指令系统3.1 S7-300/400的编程语言3.1.1 PLC编程语言的国际标准IEC 61131是PLC的国际标准,1992~1995年发布了IEC 61131标准中的1~4部分,我国在1995年11月发布了GB/T 15969-1/2/3/4(等同于IEC 61131-1/2/3/4)。

IEC 61131-3广泛地应用PLC、DCS和工控机、―软件PLC‖、数控系统、RTU等产品。

定义了5种编程语言1) 指令表IL(Instruction list):西门子称为语句表STL。

2) 结构文本ST(Structured text):西门子称为结构化控制语言(SCL)。

3) 梯形图LD(Ladder diagram):西门子简称为LAD。

4) 功能块图FBD (Function block diagram):标准中称为功能方框图语言。

5) 顺序功能图SFC(Sequential function chart):对应于西门子的S7 Graph。

3.1.2 STEP 7中的编程语言梯形图、语句表和功能块图是3种基本编程语言,可以相互转换。

1.顺序功能图(SFC) :STEP 7中的S7 Graph2.梯形图(LAD):直观易懂,适合于数字量逻辑控制。

―能流‖(Power flow)与程序执行的方向。

3. 语句表(STL):功能比梯形图或功能块图强。

4.功能块图(FBD):―LOGO!‖系列微型PLC使用功能块图编程。

5.结构文本(ST):STEP 7的S7 SCL(结构化控制语言)符合EN 61131-3标准。

SCL适合于复杂的公式计算、复杂的计算任务和最优化算法,或管理大量的数据等。

6.S7 HiGraph 编程语言图形编程语言S7 HiGraph 属于可选软件包,它用状态图(state graphs)来描述异步、非顺序过程的编程语言。

7.S7 CFC 编程语言可选软件包CFC(Continuous Function Chart,连续功能图)用图形方式连接程序库中以块的形式提供的各种功能。

西门子300程序结构及程序设计说明书模板

西门子300程序结构及程序设计说明书模板

结构化程序的特点是每个块(FC或FB)在OB1中可能会 被多次调用,以完成具有相同过程工艺要求的不同控制对 象。这种结构可简化程序设计过程、减小代码长度、提高 编程效率,比较适合于较复杂自动化控制任务的设计。
Date: 2019/3/31 Page: 8
返回上级
§5.1.3
I/O过程映像
Date: 2019/3/31
§5.8 §5.9
使用多重背景——结构化程序设计 思考与练习
Date: 2019/3/31
Page: 2
返回首页
§5.1 S7 CPU中的程序
§5.1.1 用户程序中的块结构
§5.1.2 用户程序结构 §5.1.3 I/O过程映像 §5.1.4 程序循环执行
Date: 2019/3/31
Page: 3
逻辑块的调用过程及内存分配先前块的数据仍是激活的db寄存器db和di临时数据指针返回地址先前块的数据仍是激活的db寄存器db和di临时数据指针返回地址块堆栈b堆栈可执行的用户程序逻辑块数据块工作内存仍是激活的先前块的临时数据l堆栈数据块寄存器打开的数据块号当前块的临时数据打开的背景数据块号被中断块的数据db寄存器db和di临时数据指针返回地址返回上级date
返回本章
§5.2.1
数据存储区
数据以用户程序变量的形式存储,且具有唯一性。数 据可以存储在输入过程映像存储器(PII)、输出过程映像 存储器(PIQ)、位存储器(M)、局部数据堆栈(L堆栈) 及数据块( DB )中。可以采用基本数据类型、复杂数据类 型或参数类型。 根据访问方式的不同,这些数据可以在全局符号表或 共享数据块中声明,称为全局变量;也可以在 OB 、 FC 和 FB 的变量声明表中声明,称为局部变量。当块被执行时,变 量将固定地存储在过程映像区( PII 或 PIQ )、位存储器区 (M)、数据块(DB)或局部堆栈(L)中。

S7-300中UDT与STRUCT型数据总结

S7-300中UDT与STRUCT型数据总结

UDT型说明:从数据类型的意义上说UDT并不被CPU所识别,而是在离线程序中自定义(组合)的数据类型。

S7程序的自定义数据类型并不能装载到S7 CPU中。

UDT是由递增的编辑器创建并编辑或由源文件的编译而生成。

当在块调用中进行变量传递时是不能将UDT作为内存地址区域来传递的。

因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用UDT 的符号名来定义IN, OUT 和IN_OUT参数,因为系统将自动生成相对应的地址。

下表介绍了如何创建和参数化UDT类型变量的过程。

我们将以两组各十台相同的电机为例。

UDT1对应这些电机的所有输入变量。

步骤在STEP 7项目中插入自定义数据类型。

如图01鼠标选中"block”文件夹并点击右键,再弹出菜单中选择命令〕nsert New Object > Data Type”。

打开DB1将变量数据类型定义为UDT1 (符号名"Motor”)。

例如图05所示:两个数组(ARRAY )变量,每组包括 10个以UDT1为数据类型的变量(编号1到10)。

口 File Edit Insert PLC Debug Vie 1/'-.1 Options Wind 二叫,Help □I 谢明卬 副 总|电|包| 加通15 \|例!《忸| 凶图05由于此例两组电机是独立的,所以在DB1中要为每一组电机创建数据结构。

例如第一组的数据结构定义为数据类型为UDT1的数 组“Array[1..10] ”,符号名为“Halle 1 Motor”。

6选择菜单命令"View > Data View”可显示所有DB1数据。

IFile Edit Insert PLC Debug ”1 日闷 Options Windn'.'\' Help口|⑪然圜副星[电| c|c|阿曲|曰、同| [□面里]图注意事项:在数据块中变量定义为UDT情况下只能对实际值进行编辑。

plc课件 plc-3 第三章 s7-300plc的编程基础及指令系统

plc课件 plc-3 第三章 s7-300plc的编程基础及指令系统

2021/7/13
19
7、数据块DB
(1)共享数据块(Shared DB)
共享数据块为系统或用户自定义的数据结构(与 C语言中的结构类似),可供所有逻辑块使用。名 称为DBn,n为编号(一般为1~2047,具体可定义 的个数,视CPU型号而定),其属性Shared 。在 DB中可定义各种类型的数据变量,且可对变量赋初 值。支持DB绝对地址访问及变量形式访问。
本地数据
13
二、S7-300系列PLC的寻址(地址分配)
1、基于槽位的寻址
基于槽位的寻址为默认设置。
机架号为0~3,0号机架为CPU机架,其余 为扩展机架。
CPU机架上的槽号为1~11,槽号1放置电源 模块(PS),槽号2放置CPU模块(CPU), 槽号3放置接口模块(IM),槽号4~11放置其 它模块(SM、FM、CP)
依CPU型号,存储器大小为128~2048B不等, 支持位寻址、字节寻址、字寻址和双字寻址。
位 存 储 区 以 M 标 识 , 如 : M0.0 、 MB0 、 MW0、MD0 (字地址为偶数地址0、2、4…, 双字地址为0、4、8…)等。
6、定时、计数器存储区寻址
依CPU型号不同,可有64~256个定时器, 32~256个计数器。定时器标识符为T,计数器 标识符为C。如:T0,C0等。
2021ቤተ መጻሕፍቲ ባይዱ7/13
9
第6位和第7位(CC0、CC1):条件码0和条件 码1。两位结合用于表示算术运算或逻辑运算的结 果与0的大小关系,以及比较指令的执行结果或移 位指令的移出状态。
第8位(BR):二进制结果位。用于表示字操作 的结果是否正确。1—正确,0 — 错误。
3. 地址寄存器(AR1和AR2)

S7-300 PLC第3章 习题答案

S7-300 PLC第3章   习题答案

第3章习题答案1.填空题1)理解或者访问CPU存储区、数据类型、数据大小、数据的位结构2)基本数据类型、复杂数据类型和参数类型。

3)不超过32位的数据(符合IEC1133-3的规定)、S7处理器的累加器中4)超过32位的数据类型、用户通过组合和复合基本数据类型生成的、一个变量中5)系统存储区、装载存储区、装载存储区6)32位累加器、16位状态字寄存器、32位地址寄存器、32位数据块寄存器、诊断缓冲区等。

7)最小独立单位、若干条顺序排列的指令、操作码、操作数8)指令执行时获取操作数、直接或间接方式给出、立即寻址、存储器直接寻址、存储器间接寻址和寄存器间接寻址。

9)时基、定时值、时基与定时值、减计时、动作10)加计数器(CU)、减计数器(CD)和加减计数器(CUD)2. S7-300 PLC有哪些内部元器件?各元件地址分配和操作数范围怎么确定?S7-300 PLC内部元器件:输入过程映像寄存器,输出过程映像寄存器,位存储器,外部输入寄存器,外部输出寄存器,定时器(T),计数器(C),数据块寄存器(DB),本地数据寄存器(又称本地数据)3. 在RS触发器中何谓“置位优先”和“复位优先”,如何运用?置位、复位指令与RS触发器指令有何区别?1)复位优先型SR触发器:如果S输入端的信号状态为“1”,R输入端的信号状态为“0”,则触发器置位;如果S输入端的信号状态为“0”,R输入端的信号状态为“1”,则复位触发器;如果两个输入端RLO均为“1”,复位输入端最终有效,即复位输入优先,触发器被复位。

2)置位优先型RS触发器:如果R输入端的信号状态为“1”,S输入端的信号状态为“0”,则复位触发器;如果R输入端的信号状态为“0”,S输入端的信号状态为“1”,则置位触发器;如果两个输入端RLO均为“1”,置位输入端最终有效,即置位输入伏先,触发器被置位。

只有在RLO为“1”时,才会执行S(置位)和R(复位)指令,这些指令不受RL O 为“0”的影响,指令中指定的地址保持不变。

S7-300PLC时间类数据类型的转换技巧

S7-300PLC时间类数据类型的转换技巧

INT 格式转换S5TIME 格式
S5TIME 格式时间的转换,S5T#格式为xwyz ,为16位数据,其中x 为时基(BCD 码格式),00--0--10ms
\01--1--100ms\10--2--1s\11--3--10s\xyz 为BCD 码格式的时间,如W#16#2111表示时基为10S,时间值为111,最终定时时间为10*111=1110s
由此可以逆推出怎样将一个整数经过转换设定具体时间值,
先将需要设定的值转换为BCD 码格式(需注意I-BCD 输入的数据范围
为(+/-999),而S5T#最多可以设置到999),转换之后的设定值与时基
(10ms--W )进行WOR 运算,其中10ms--16#0000\100ms--16#1000\1s--16#2000\10s--16#3000
最终的到了一个值W#16#XWYZ,可以发现此时的数据与S5T#格式的数据结构是一致的,
最终放入定时器,由STEP7自动转换为时间,此方法的缺点是需要同时设定时基个时间。

S5TIME 格式数据与TIME 格式数据STEP7提供了专门的功能来进行转换,只需调用就可以
FC33将S5TIME 转换为TIME ,FC40将TIME 转换为S5TIME 格式因此
INT 格式转换S5TIME 格式也可以使用FC40
来转换
S5TIME 格式转换INT 格式
9、INT\TIME\S5TIME 数据类型的转换
2015年6月3日
17:28
INT格式转换TIME格式
TIME格式转换DINT格式。

西门子S7-300的基本数据类型

西门子S7-300的基本数据类型

STEP7中的基本数据类型⑴位(BOOL)位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。

⑵字节(BYTE)字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。

⑶字(WORD)字数据长度为16位,这种数据可采用4种方法进行描述。

二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。

十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W #16#FFFF。

BCD码:BCD码的格式为C#,取值范围为C#0~C#999。

BCD 码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。

BCD码的最高4位用来表示符号,十六位BCD码的取值范围为-999~+999。

在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。

无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:B#(12,254)=2#0000_1100_1111_111012 254上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。

例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C #987或者B#(9,135)。

S7-300 PLC第3章 S7-300PLC的基本指令及应用

S7-300 PLC第3章  S7-300PLC的基本指令及应用
3.1 S7-300PLC数据类型和指令基 础
3.1.1 S7-300PLC的数据类型 1. 基本数据类型 (1)位(BIT):位数据的数据类型为BOOL(布
尔)型,在编程软件中BOOL变量的值1和0。位存 储单元的地址由字节地址和位地址组成这种存取方 式称为“字节.位”寻址方式。 (2)字节(BYTE):8位二进制数组成1个字节 (Byte),例如字节IB9由I9.0~I9.7这8位组成,其 中第0位为最低位(LSB),第7位为最高位 (MSB)。 (3)字(WORD):相邻两个字节组成一个字, 字用来表示无符号数。
3.CPU中的寄存器
S7-300 CPU的寄存器有32位累加器、16位状 态字寄存器、32位地址寄存器、32位数据块寄 存器、诊断缓冲区等。
(1)32位累加器
32位的累加器是用来处理字节、字和双字的寄 存器。S7-300有两个累加器(ACCU1和 ACCU2)。可以把操作数装人累加器并进行运 算和处理,保存在ACCU1中的运算结果可以传 送到系统存储器。 数据放在累加器的低端 (右对齐)。
(2)结构(STRCT):结构是将一组不同类 型的数据组合在一起,形成一个单元。可以用 基本数据类型、复杂数据类型(包括数组与结 构)和用户定义数据类型(UDT)作为结构中 的元素。
(3)字符串(STRING):字符串是最多有 254个字符的一维数组,每个字节存放一个字 符。
(4)日期和时间(DAE_AND_TIME):数据 类型日期和时间用于存储年、月、日、时、分、 秒、毫秒和星期,占用8个字节,用BCD格式 保存。第0~5个字节分别存储年、月、日、时、 分和秒,毫秒存储在第6字节和第7字节的高4 位,星期存放在第7字节的低4位。星期天的代 码为1,星期一至星期六的代码为2~7。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

STEP7中的基本数据类型
⑴位(BOOL)
位数据的数据类型为BOOL(布尔)型,在软件编程中BOOL变量的值1和0常用英语单词TURE(真)和FALSE (假)来表示,对应二进制数中的“1”和“0”,常用于开关量的逻辑运算,存储空间为1位。

⑵字节(BYTE)
字节数据长度为8位,数据格式为B#16#,B代表BYTE,表示数据长度为一个字节(8位),#16#表示十六进制,取值范围为B#16#0~B#16#FF。

⑶字(WORD)
字数据长度为16位,这种数据可采用4种方法进行描述。

二进制:二进制的格式为2#,如2#101,取值范围为2#0~2#1111_1111_1111_1111,书写时每4位可用下划线隔开,也可直接表示为2#111111111111。

十六进制:十六进制的格式为W#16#,W代表WORD,表示数据长度为16位,#16#表示十六进制,数据取值范围为W#16#0~W#16#FFFF。

BCD码:BCD码的格式为C#,取值范围为C#0~C #999。

BCD码是用4位二进制表示1位十进制数,4位二进制中的0000~1001组合分别表示十进制中的0~9,4位二进制中的1010~1111组合放弃不用。

BCD码的最高4位用来
表示符号,十六位BCD码的取值范围为-999~+999。

在STEP7的数据格式中,BCD码的取值只取正值,与最高4位的符号无关。

无符号十进制数:无符号十进制数的格式为B#(×,×),取值范围为B#(0,0)~B#(255,255),无符号十进制数是用十进制的0~255对应二进制数中的
0000_0000~1111_1111(8位),16位二进制数就需要两个0~255的数来表示,例如:
B#(12,254)=2#0000_1100_1111_1110
12254
上面4种数据都是描述一个长度位16位的二进制数,无论你使用哪种方式都可以。

例如,如果想得到二进制数0000100110000111,可以使用2#0000_1001_1000_0111,也可以使用W#16#987,还可以使用C#987或者B#(9,135)。

在STEP7中,比较常用的是十六进制,即W#16#这种格式。

⑷双字(DOUBLE WORD)
数据长度为32位,双字的数据格式与字的数据格式相同,也有4种方式,分别为:
二进制:取值范围为2#0~2#
1111_1111_1111_1111_1111_1111_1111_1111。

十六进制:取值范围为DW#16#0~DW#16#
FFFF_FFFF。

BCD码:取值范围为C#0~C#9999999。

无符号十进制数:取值范围为B#(0,0,0,0)~B#(255,255,255,255)。

⑸整数(INT)
整数数据类型长度为16位,数据格式为带符号十进制数,16位中最高为符号位。

正整数是以原码格式进行存储的,如+786,对应的二进制码为2#0000_0011_0001_0010,而负整数则表示为正整数的二进制补码,即对应正整数的二进制码取反后加1,例如负整数-786,对应的二进制码为2#1111_1100_1110_1110。

将负零(1000_0000_0000_0000)定义为-32768因此取值范围为-32768~32767。

0表示正,1表示负。

⑹双整数(DOUBLE INT)
双整数的数据类型长度为32位,数据格式为带符号十进制数,用L#表示双整数。

双整数的二进制码与整数的换算方式一致,其取值范围为L#-2147483648~L#2147483647。

⑺实数(REAL也叫浮点数Float)
实数的数据类型长度为32位,是以IEEE浮点数格式转换为二进制数存储的,其取值范围为±3.402823e+38~±1.1755494e-38。

实数用1.m×2E例如123.4可表示为1.234×102。

式中:指数E=e-127(1≤e≤254)为8位整数
符号位(S):S=0为正值S=1为负值
S5TIME时间数据类型长度为16位,包括时基和时间常数两部分,时间常数采用BCD码(二~十进制格式)。

S5TIME 时间数据类型结构如下图所示:
(9)IEC时间(TIME)
IEC时间数据长度为32位,时基为固定值1ms,数据类型为双整数,所表示的时间值为整数值乘以时基。

格式为:
T#aaD_bbH_ccM_ddS_eeeMS
其中aa=天数,bb=小时数,cc=分钟,dd=秒,eee=毫秒。

根据双整数的最大值为2147483647,乘以时基1ms,可以算出,IEC时间的最大值为T#24D_20H_31M_23S_648Ms。

使用IEC时间时,时基保持不变,且精度较高,为1ms。

(10)IEC日期(DATE)
IEC日期数据长度为16位,数据类型为整数,以1日为单位,日期从1990年1月1日开始,1990年1月1日对应的整数为0,日期每增加一天,对应的整数值加1,如23,对应1990年1月22日。

IEC日期格式为D#_年_月_日,例如D#1992_12_2。

取值范围为D#1990_1_1~D#2163_12_31。

(11)日计时(TIME_OF_DAY)
日计时是表示一天中的24小时,数据长度为32位,数据类型为双整数,以1ms为时基,取值范围为TOD#0∶0∶0∶0~TOD#23∶59∶59.999。

(12)字符(CHAR)
字符数据的长度为8位,字符采用ASCII码的存储方式。

相关文档
最新文档