Step7-数据类型详细说明总结汇总

合集下载

STEP7-功能块全中文说明资料

STEP7-功能块全中文说明资料
34. S_PEXT 扩展脉冲 S5定
18
35. S_ODT接通延时 S5定时器 36. S_ODTS保持接通延时 S5定时器 37. S_OFFDT断开延时 S5定时器
19
38. ---( SP ) 脉冲定时器线圈
---( SP )
39. ---( SE ) 扩展脉冲定时器线圈
---( SE ) 20
12
? 调用多重背景 ? 调用来自库的块 ? 使用 MCR 功能的重要注意事项 ? ---(MCR<) 主控制继电器打开 ? ---(MCR>) 主控制继电器关闭 ? ---(MCRA) 主控制继电器激活 ? ---(MCRD) 主控制继电器取消激活 ? RET 返回
移位和循环移位指令
? SHR_I 整数右移 ? SHR_DI 长整数右移 ? SHL_W 左移字 ? SHR_W 右移字 ? SHL_DW 双字左移 ? SHR_DW 右移双字 35. SHR_I 整数右移
两个 32 位 IEEE 浮点数
使用浮点运算指令,可对 一个 32 位 IEEE 浮点数 执行下列操作: ? 求绝对值 (ABS) ? 求平方 (SQR) 和平方根 (SQRT) ? 求自然对数 (LN) ? 求指数值 (EXP) 以 e (= 2,71828) 为底
8
? 求下列 32 位 IEEE 浮点数表示的角度的三角函数 - 正弦 (SIN) 和反正弦 (ASIN) - 余弦 (COS) 和反余弦 (ACOS) - 正切 (TAN) 和反正切 (ATAN)
11
32. ATAN 得到反正切值
33. MOVE分配值
34. 程序控制指令概述 说明 可使用下列程序控制指令: ? ---(CALL) 调用来自线圈的 FC SFC( 不带参数 ) ? CALL_FB 调用来自框的 FB ? CALL_FC 调用来自框的 FC ? CALL_SFB 调用来自框的系统 FB ? CALL_SFC 调用来自框的系统 FC

STEP7-功能块全中文说明资料

STEP7-功能块全中文说明资料

parator== IN1等于IN2<> IN1不等于IN2> IN1大于IN2< IN1小于IN2>= IN1大于或等于IN2<= IN1小于或等于IN22.整数就是没有小数位都是零的数,即能被1整除的数(如-1,-2,0,1,……)CMP ?I(INT)整数比较CMP ?D (DINT)比较双精度整数CMP ?R (REAL)比较实数3.转换指令概述BCD_I BCD码转换为整数I_BCD 整型转换为BCD码BCD_DI BCD码转换为双精度整数I_DINT 整型转换为长整型DI_BCD 长整型转换为BCD码DI_REAL 长整型转换为浮点型4 计数器指令S_CUD 双向计数器S_CD 降值计数器S_CU 升值计数器---( SC ) 设置计数器线圈•---( CU ) 升值计数器线圈•---( CD ) 降值计数器线圈5.S_CUD 双向计数器`6. S_CU 升值计数器7. S_CD 降值计数器8. ---( SC ) 设置计数器值9. ---( CU ) 升值计数器线圈10. ---( CD ) 降值计数器线圈11. ---(OPN)打开数据块:DB或DI如果想将数据块中的数据读出(如DB和DI),需要通过(OPN)打开数据块后才可读出。

12. ---(JMP)--- 无条件跳转13. ---(JMPN) 若“否”则跳转14. LABEL标号【整型数学运算指令】整型数学运算指令概述说明使用整数运算,您可以对两个整数(16和32位)执行以下运算:•ADD_I 加整数•SUB_I 减整型•MUL_I 乘整型•DIV_I 除整型•ADD_DI 加双精度整数•SUB_DI 减长整型•MUL_DI 乘长整型•DIV_DI 除长整型•MOD_DI 返回分数长整型15. ADD_I 整数加16. SUB_I 整数减17. MUL_I 整数乘18. DIV_I 整数除19. MOD_DI 返回长整数余数20. 浮点运算指令概述IEEE32位浮点数属于REAL数据类型。

STEP7 程序块的类型及区别(总结)

STEP7 程序块的类型及区别(总结)

STEP7 程序块的类型及区别(总结)在SIEMENS S7-300/400系列PLC中有多种程序块,如下图(在管理器右边的空白区域点击右键),主要有:组织块(OB),功能块(FB),功能(FC),数据块(DB)及系统功能(SFC)和系统功能块(SFB)等。

注:快捷菜单中的其它两项:数据类型和变量表。

数据类型(UDT)用于指定程序中数据元素的大小与格式;变量表(VAT)用来在程序调试和运行时修改和监视变量的内容(在地址栏中输入地址后,符号栏中会自动显示在符号表中定义的符号)。

这几种程序块的功能简要说明如下:说明:调用程序块:OB,FB,FC(可以调用除OB块外的其它程序块);被调用程序块:FB,FC,SFB,SFC。

1、组织块OBOB由系统自动调用,并执行用户在OB块中编写的程序,所以OB的基本作用是调用用户程序。

在OB块中编写程序的最大容量,S7-300是16KB,S7-400是64KB。

除主程序循环OB1外,其它OB均是由事件触发的中断。

2、函数FC函数FC有两个作用:(1)作为子程序用;(2)作为函数用,函数中通常带形参。

函数中程序的最大容量,S7-300是16KB,S7-400是64KB。

F C的形参通常也称为接口区,参数类型分为输入参数,输出参数,输入/输出参数和临时数据区。

在编写函数F C的输出参数时,应避免没有直接输出(否则,可能输出一个随机值,影响程序的判断)。

可以在函数的开始,将字输出参数清0,位输出参数复位。

3、函数块FBFB与FC相比,FB每次调用都必须分配一个背景数据块,用来存储接口数据区(TEMP 类型除外)和运算的中间数据。

其它程序可以直接使用背景数据区中的数据。

FB中程序的最大容量,S7-300是16KB,S7-400是64KB。

FB的接口区比FC多了一个静态数据区(STAT),用来存储中间变量。

程序调用FB时,形参不像FC那样必须赋值,可以通过背景数据块直接赋值。

STEP7中的基本数据类型-重要

STEP7中的基本数据类型-重要

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

《step7数据类型》课件

《step7数据类型》课件
数据类型的扩展和发展趋势
随着计算机技术的进步和应用需求的不断增加,各种复杂数据类型已经被引入编程语言和应 用程序中。未来,我们可以期待更多强大和灵活的数据类型出现。
多种数据类型之间可以进行各种基本 操作和一些高级操作。这帮助我们更 好地理解和使用各种数据类型。
总结与展望
数据类型的重要性和应用场景
数据类型是编程语言中一个重要的构成部分,它可以帮助我们更好地理解程序代码以及处理 复杂数据。数据类型的应用非常广泛,除了编程之外,数据类型还在数据库和其他应用领域 中发挥着重要的作用。
结构体类型是一种复合数据类型,它可以组合多个不同类型的数据项。这使得它 成为存储和处理复杂数据的理想选择。
3
枚举类型
枚举类型是一种复合数据类型,它可以定义一组命名的常量值。这为代码编写和 维护带来了很多便利。
数据类型转换
隐式类型转换
隐式类型转换是自动进行的类型转换,例如将一个整数转换为浮点数。
显式类型转换
显式类型转换是手动进行的类型转换,例如将一个浮点数转换为整数。
强制类型转换
强制类型转换是一种特殊的显式类型转换,会忽略数据精度或导致数据的丢失。
数据类型的存储
பைடு நூலகம்
数据类型在内存中的表示
不同的数据类型在内存中的表示不同,这主要涉 及到计算机中的二进制数表示。
数据类型的大小和对齐规则
不同的数据类型在内存中占用的大小不同,这取 决于它们的位数和精度。对齐规则是为了方便计 算机读取数据而设计的。
字符类型是一种基本数据类型,用于表示单个 字符。它们可以代表任何人类可读的字符。
布尔类型
布尔类型是一种基本数据类型,用于表示真或 假。它们通常用于控制结构和条件语句。

Step7-数据类型详细说明总结汇总

Step7-数据类型详细说明总结汇总

Step7-数据类型详细说明总结汇总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位的二进制数,无论你使用哪种方式都可以。

05_STEP 7数据类型和变量

05_STEP 7数据类型和变量

月 (01 ... 12) 小时 (00 ... 23) 秒 (00 ... 59)
Byte n+1
Byte n+3
Byte n+4
Byte n+5
Byte n+6
毫秒 (000 ... 999)
星期 (1..7) Byte n+7
1=星期日 2=星期一 3=星期二 4=星期三 5=星期四 6=星期五 7=星期六
Actual_speed: REAL Set_speed: REAL
变量可以保存并在以后继续处理数值
扰动: BOOL 使能: BOOL
变量特性及变量的声明
变量声明确定变量的如下特性: 符号名 数据类型 有效范围

声明类型变量可以: 在全局符号表中声明 (基本数据类型) 在全局数据块的声明表中进行声明 (所有数据类型) 在逻辑块的声明表中进行声明 (OB,FB和FC)
Word limit 基本数据类型 元素
Word limit ARRAY类型 元素
6 5 4 3 2 1
Filler byte Word 1 Byte 3 Word 2 Word limit STRUCT类型 元素
. . .
. . .
1) n
. . .
= even
用户自定义数据类型:UDT
UDT用户自定义数据类型:
复杂数据类型 (长度大于32位)
•时间型 (DATE_AND_TIME) •数组型 (ARRAY) •结构型 (STRUCT) •字符串型(STRING)
用户自定义数据类型 (长度大于32位)
UDT数据类型 (用户自定义型)
STEP 7中的基本数据类型

step7 数据类型

step7 数据类型

2.循环执行的程序组织块
OB1是循环执行的组织块。其优先级为最 低。PLC在运行时将反复循环执行OB1中 的程序,当有优先级较高的事件发生时, CPU将中断当前的任务,去执行优先级较 高的组织块,执行完成以后,CPU将回到 断点处继续执行OB1中的程序,并反复循 环下去,直到停机或者是下一个中断发生。 一般用户主程序写在OB1中。
存储区关键字+字的关键字(W)+第一字 节地址
例如:IW10 I:表示输入过程暂存区 W:表示字word 10:表示从第10个字节开始,包括
两个字节的存储空间,即IB10和IB11。
字寻址
双字寻址
双字寻址时,访问一个32位的存储区域,包含4个 字节。寻址时采用以下结构:存储区关键字+字 的关键字(D)+第一字节地址
位逻辑指令 以上程序的时序图
3.6实训四:PLC控制一台电机正反转
使用S7-300PLC实现一台电动机的正反 转控制。控制要求如下:要求能实现电 机的正转和反转控制,并能进行正反转 的直接切换。另外,还可进行正反向的 点动控制,当电机处于正常运行时,点 动按钮不起作用。
3.6.1实训目的:
掌握S7-300PLC输入输出模块接线方法; 掌握西门子S7-300PLC编程软件的使用
Any指针类型 10字节指针类型,传递数据块号、数据地 址、数据数量以及数据类型
3.4S7的系统存储区和寻址方式
S7的系统存储区集成在CPU中,不能被扩 展。系统存储区根据功能分为不同的区域 供用户使用。
S7的寻址方式为: 符号地址寻址 绝对地址寻址
3.4.1系统存储区
输入过程暂存区(I) 输出过程暂存区(Q) 位存储区(M) 外部输入输出(PI/PQ) 计时器(T) 计数器(C) 数据块(DB) 局部数据(L)
  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
12 254
上面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为负值
规定尾数的整数部分总是为1,只保留尾数的小数部分m(0~22位)
S=0
指数:30位=1 27
29位=0 26
28位=0 25
27位=0 24
26位=0 23
25位=0 22
24位=1 21
23位=0 20
e=27+21=128+2=130
E=e-127=130-127=3
尾数m:22位=1 2-1
21位=0 2-2
20位=0 2-3
19位=0 2-4
18位=1 2-5
m=2-1+2-5=0.5+0.03125=0.53125
浮点数值=(1+0.53125)×23=1.53125×8=12.25
用很小的存储空间(4个字节),可以表示非常大或非常小的数,PLC的输入和输出的数值大多是整数,实数的运算速度比整数的慢。

(8)S5TIME(SIMATIC时间)
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码的存储方式。

复式数据类型
参数类型
用于向FB和FC传送参数。

相关文档
最新文档