step7数据类型转换

合集下载

西门子STEP7编程中sfb4的用法

西门子STEP7编程中sfb4的用法

西门子STEP7编程—IEC定时器的使用2010年03月03日星期三 08:59西门子STEP7提供了10种定时器指令,用户可以根据不同的情况,很方便的选择一种适合自己的要求。

可是STEP7的定时器的时间值用了一种西门子独有的S5TIME的数据类型来表示。

某些时候使得定时器用起来不那么顺手,例如,在上位机监控软件画面上显示计时器的当前值或者需要在运行时在监控画面上修改预设值。

对此STEP7提供了FC33(S5TI_TIM)和FC40(TIM_S5TI)来实现S5TIME数据类型与TIME数据类型之间的相互转换,但是换来换去的还是很麻烦。

笔者认为在这种情况下不如直接使用STEP7的IEC 定时器。

STEP7的IEC定时器是个什么东西呢?其实就是STEP7提供的一系列系统功能块,能实现定时器同样的功能,和STEP7定时器指令不同的是它们是符合IEC1131-3标准的定时器。

具体地说就是SFB3(TP)脉冲定时器、SFB4(TON)接通延迟定时器和SFB5(TOF)关闭延迟定时器。

功能块参数说明STEP7的TIME数据类型在上位机上读写就很方便了,根据它的定义,实际上它就是一个有符号双整数,每一步长表示为1毫秒。

定时器的类型就三种。

1、接通延时定时器TON 2、记忆接通延时定时器TONR 3、断开延时定时器 TOF计时器总共有256个,其中1ms定时器4个(T0,T32,T64,T96),其中10ms 定时器16个(T1~T4,T33~T36,T65~T68,T97~T100),其余的都是100ms定时器。

1ms定时器的刷新周期为1ms,与扫描周期和程序处理无关;10ms定时器在每个扫描周期开始时进行刷新;100ms定时器在定时器指令被执行时刷新。

如有侵权请联系告知删除,感谢你们的配合!。

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数据类型。

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

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

14
•逻辑操作结果(RLO)
状态字的第1位称为逻辑操作结果(Result of Logic Operation, RLO)。该位存储逻辑操作指令或比较指令的结果。在逻辑串 中,RLO位的状态表示有关信号流的信息,RLO的状态为1, 表明有信号流 (通),RLO的状态为0,表明无信号流(断)。可
用RLO触发跳转指令。
• C#为计数器常数(BCD码),例如C#250。
整理ppt
13
状态字
• 状态字用于表示CPU执行指令时所具有的状态。某些指令 可否执行或以何种方式执行可能取决于状态字中的某些位,指 令执行时也可能改变状态字中的某些位,可以用位逻辑指令或
字逻辑指令访问并检测状态字。状态字的结构如图所示。
整理ppt
地址I0.0,这样使程序易于阅读和理解。
用户可以在网络号右边加上网络的标题,在网络号的下面 为网络加上注释。还可以选择在梯形图下面自动加上该网络中
使用的符号的信息。
在分析梯形图中的逻辑关系时,为了借用继电器电路图的
分析方法,可以想象在梯形图的左有两侧垂直“电源”之间有
一个左正右负的直流电源电压,有一个假想的“能
梯形图是使用得最多的PLC图形编程语言。梯形 图与继电器电路图很相似,具有直观易懂的优点, 特别适合于数字量逻辑控制。梯形图由触点、线圈 和用方框表示的指令框组成。触点代表逻辑输入条 件,例如外部的开关、按钮和内部条件等。线圈通 常代表逻辑运算的结果,常用来控制外部的指示灯、 交流接触器和内部的标志位等。指令框用来表示定 时器、计数器或者数学运算等附加指令。
字节MB1O0的地址。字的取值范围为 W#16#0000~W#16#FFFF。
• 4) 双字(Double Word)

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,

西门子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

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位的二进制数,无论你使用哪种方式都可以。

最新西门子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)。

STEP7——ANY指针详解

STEP7——ANY指针详解

参数类型ANY的格式STEP 7以10个字节存储参数类型ANY。

当构造类型为ANY的参数时,必须确保所有10个字节都被占用,因为调用块估计参数整个内容的值。

例如,如果以字节4指定DB编号,也必须以字节6明确地指定存储器区。

STEP 7管理基本和复杂数据类型的数据与参数类型的数据不同。

数据类型的ANY格式对于基本和复杂数据类型,STEP 7存储下列数据:•数据类型•重复因子•DB编号•信息存储的存储区域•数据的起始地址重复因子识别由参数类型ANY传送的指示数据类型的数量。

这意味着可以指定数据区,也可以和参数类型ANY结合使用数组和结构。

STEP 7将数组和结构识别为数据类型的编号(借助重复因数)。

例如,如果要传送10个字,必须为重复因子输入数值10,并且必须为数据类型输入数值04。

地址以格式Byte.Bit存储,此处字节寻址存储在字节7的位0 - 2,节字8的位0 - 7,节字9的位3 - 7。

位地址存储在字节9的位0 - 2。

对于类型NIL的空指针,所有来自字节1的字节设置为0。

下表给出参数类型ANY的数据类型或存储区域的编码。

数据类型的编码十六进制代码数据类型描述b#16#00NIL空指针b#16#01BOOL位b#16#02BYTE字节(8位)b#16#03CHAR字符(8位)b#16#04WORD字(16位)b#16#05INT整数(16位)B#16#06DWORD字(32位)b#16#07DINT双整数(32位)b#16#08REAL浮点数(32位)b#16#09DATE日期b#16#0A TIME_OF_DAY (TOD) 时间b#16#0B TIME时间b#16#0C S5TIME数据类型S5TIMEb#16#0E DATE_AND_TIME (DT) 日期和时间(64位)b#16#13STRING字符串存储器区的编码十六进制代码区域描述b#16#80P I/O区域b#16#81I输入区域b#16#82Q输出区域b#16#83M位存储区域b#16#84DB数据块b#16#85DI背景数据块b#16#86L本地的数据(L堆栈)b#16#87V先前的本地数据参数类型的ANY格式对于参数类型,STEP 7存储数据类型和参数的地址。

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位的二进制数,无论你使用哪种方式都可以。

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位的二进制数,无论你使用哪种方式都可以。

STEP7功能块说明

STEP7功能块说明

I.parator= IN1 等于IN2◊ IN1不等于IN2>IN1 大于IN2<IN1 小于IN2>=IN1大于或等于IN2<=IN1 于或等于IN22.整数就是股有爪数位都是零的数,即能被1整険的« ( »-1-2,0,1,••••••) CMP?I (INT)整数比较CMP ?D (DINT) it较双精度整做CMP ?R (REAL)比较实数3•转换指令祗述BCD_I BCD码转换为整数LBCD整里转换为BCD码BCD_DIBCD西转換为双精《[整数LDINT整型转換为长整璽DI.BCD长整璽转换为BCD码DI.REAL长整塑转换为浮点型4itasffi 令S.CUD双向廿数器S.CD降值廿敛器S.CU升值廿数器——(SC)设置计数器线阖•——(CU)升值计数器线圈•TCD)降值廿数器线圈5.S.CUD双向廿数器实例6. S_CU升值廿數器英话参敗徳语數据类型内存区咸说明G编号Z编号COUNTER C 标识号•具他CPUCU zv BOCL 1、Q、M、L. D 升銓计数輸入CD ZR BOCL L Q、M. L. D 遥越计数瑜入S S BOCL 1. Q、M、L、D 为预设汁救黔设程输入PV Z7/ WORD k Q、M、L. D或用教将汁数网血以的格式输入(范1机至099)PV zw WORD k Q、M、L. D 决童计数關的位R R BOCL 1、Q、M、L. D 复乞输入CV DUAL WORD L Q、M. L. D 当前计数湍但・1六进制救字CV BCD DE2 WORD 1. Q、M、L、D 当前计数舉值.BCD碎Q Q BOCL 1、Q、M、L. D 计数器狀态I 0.0cuC10S CUDQ4.0<)I 0.2HII 0.3 MW10—HI -------CDPV cvcv —BCD——如果I0.2从©变为F.则计数器预设为MW10的値。

step7的使用方法

step7的使用方法

异步错误组织块
OB80~OB87:异步错误中断。异步错误 是PLC的功能性错误。它们与程序执行时 不同步地出现,不能跟踪到程序中的某个 具体位置。 在运行模式下检测到一个故障 后,如果已经编写了相关的组织块,则调 用并执行该组织块中的程序。如果,发生 故障时,相应的故障组织块不存在,则 CPU将进入STOP模式。
中间输出单元 信号流反向指令 复位线圈 置位线圈 复位置位触发器和置位复位触发器
位逻辑指令
程序实例
对应时序图如下所示:
位逻辑指令
时序图
位逻辑指令 正跳沿(上升沿)检测指令
位逻辑指令 负跳沿(下降沿)检测指令
位逻辑指令
地址正跳沿检测 地址负跳沿检测
SAVE指令
位逻辑指令 地址上升沿检测指令示例
1. FC和FB的变量声明表的差别
2.FC和FB参数赋值不同
FC没有自己的背景数据块 FB有自己的背景数据块 FC的参数必须指定实参 FB的参数可根据需要决定是否指定实参
3.1.3系统功能SFC和系统功能块SFB
SFC和SFB是预先编好的可供用户调用的 程序块,它们已经固化在S7PLC的CPU中, 其功能和参数已经确定。一台PLC具有哪 些SFC和SFB功能,是由CPU型号决定的。 具体信息可查阅CPU的相关技术手册。通 常SFC和SFB提供一些系统级的功能调用, 如通讯功能、高速处理功能等。注意:在 调用SFB时,需要用户指定其背景数据块 (CPU中不包含其背景数据块),并确定 将背景数据块下载到PLC中。
lad参数数据类型存储区说明地址timer地址表示要起动的计时器号时间值s5time定时时间值s5time格式4保持型开通延时定时器ss上图中的程序对应的时序图如图所示4保持型开通延时定时器sslad参数数据类型说明存储区地址timer要启动的计时器号如t0bool启动输入端tvs5time定时时间s5time格bool复位输入端bool定时器的状态biword当前时间整数格式bcdword当前时间bcd码格关断延时定时器sf相当于继电器控制系统中的断电延时时间继电器

step7 数据类型

step7 数据类型

3.4.2绝对地址寻址
位寻址 字节寻址 字寻址 双字寻址
位寻址
位寻址是最小存储单元的寻址方式。寻址时, 采用以下结构:
存储区关键字+字节地址+位地址: 例如: Q 10.3 Q:表示输出过程暂存区; 10:表示第十个字节;字节地址从0开始,
最大值由该存储区的大小决定; 3:表示位地址为3,位地址的取值范围是
存储区关键字+字的关键字(W)+第一字 节地址
例如:IW10 I:表示输入过程暂存区 W:表示字word 10:表示从第10个字节开始,包括
两个字节的存储空间,即IB10和IB11。
字寻址
双字寻址
双字寻址时,访问一个32位的存储区域,包含4个 字节。寻址时采用以下结构:存储区关键字+字 的关键字(D)+第一字节地址
(2) OB101为再启动类型(热启动)。启动时,所有数据 (无论是保持型和非保持型)都将保持原状态,并且将OB101 中的程序执行一次。然后程序从断点处开始执行。剩余循环执行 完以后,开始执行循环程序。热启动一般只有S7-400具有此功 能。
(3) OB102为冷启动方式。CPU318-2和CPU417-4具有 冷启动型的启动方式,冷启动时,所有过程映像区和标志存储器、 定时器和计数器(无论是保持型还是非保持型)都将被清零,而 且数据块的当前值被装载存储器的原始值覆盖。然后将OB102 中的程序执行一次后执行循环程序。
位逻辑指令 以上程序的时序图
3.6实训四:PLC控制一台电机正反转
使用S7-300PLC实现一台电动机的正反 转控制。控制要求如下:要求能实现电 机的正转和反转控制,并能进行正反转 的直接切换。另外,还可进行正反向的 点动控制,当电机处于正常运行时,点 动按钮不起作用。

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位的二进制数,无论你使用哪种方式都可以。

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

西门子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)。

STEP7中有关时间、日期的数据类型[整理版]

STEP7中有关时间、日期的数据类型[整理版]

TIME, DA TE and TIMER in STEP 7SLC A&D CSJune 20041.西门子自动化与驱动产品的在线技术支持 (3)2.如何获得西门子自动化与驱动产品的资料 (4)3.需设备选型及订货 (4)4.西门子技术支持热线 (4)5.西门子自动化产品的其它网站 (5)6.缩写词含义 (5)7.如何使用STEP 7软件的在线帮助 (5)7.1.查找某个关键字或功能 (5)7.2.想了解某个FB/FC的功能及管脚的定义 (6)8.STEP 7中有关时间、日期的数据类型 (8)9.需要相关数据类型的详细描述 (8)10.S5TIME (Time Duration) 的格式及访问 (9)10.1.S5TIME的格式 (9)10.2.通过上位机访问PLC中S5TIME类型的数据 (10)10.3.S5TIME和TIME的转换 (11)11.DATE_AND_TIME的格式 (11)12.STEP 7相关功能块调用例程 (13)13.STEP 7中定时器的使用 (14)13.1.S7 TIMER的使用 (14)13.2.IEC TIMER的使用 (14)14.如何访问CPU的Clock Memory (14)1. 西门子自动化与驱动产品的在线技术支持首先,建议您访问Siemens A&D的产品与技术支持网站http://www4.ad.siemens.de/在主页的Product Support中选择您关心的产品或信息,或利用Search引擎直接输入关键字搜索。

您还可以访问西门子(中国)自动化与驱动集团的主页,如下图所示。

该网站同样可以提供大量的产品和系统的信息。

2. 如何获得西门子自动化与驱动产品的资料首先,建议您通过Siemens A&D的网站搜索并下载。

您还可以致电************转3785 /3726索取资料。

另外,还有大量的手册可以通过分销商订购,和其它产品的订货方式一样。

西门子STEP7编程中sfb4的用法

西门子STEP7编程中sfb4的用法

西门子STEP7编程—IEC定时器的使用2010年03月03日星期三 08:59西门子STEP7提供了10种定时器指令,用户可以根据不同的情况,很方便的选择一种适合自己的要求。

可是STEP7的定时器的时间值用了一种西门子独有的S5TIME的数据类型来表示。

某些时候使得定时器用起来不那么顺手,例如,在上位机监控软件画面上显示计时器的当前值或者需要在运行时在监控画面上修改预设值。

对此STEP7提供了FC33(S5TI_TIM)和FC40(TIM_S5TI)来实现S5TIME数据类型与TIME数据类型之间的相互转换,但是换来换去的还是很麻烦。

笔者认为在这种情况下不如直接使用STEP7的IEC 定时器。

STEP7的IEC定时器是个什么东西呢?其实就是STEP7提供的一系列系统功能块,能实现定时器同样的功能,和STEP7定时器指令不同的是它们是符合IEC1131-3标准的定时器。

具体地说就是SFB3(TP)脉冲定时器、SFB4(TON)接通延迟定时器和SFB5(TOF)关闭延迟定时器。

功能块参数说明STEP7的TIME数据类型在上位机上读写就很方便了,根据它的定义,实际上它就是一个有符号双整数,每一步长表示为1毫秒。

定时器的类型就三种。

1、接通延时定时器TON 2、记忆接通延时定时器TONR 3、断开延时定时器 TOF计时器总共有256个,其中1ms定时器4个(T0,T32,T64,T96),其中10ms 定时器16个(T1~T4,T33~T36,T65~T68,T97~T100),其余的都是100ms定时器。

1ms定时器的刷新周期为1ms,与扫描周期和程序处理无关;10ms定时器在每个扫描周期开始时进行刷新;100ms定时器在定时器指令被执行时刷新。

如有侵权请联系告知删除,感谢你们的配合!。

西门子STEP7时间相关功能整理

西门子STEP7时间相关功能整理

西门子时间处理功能块笔记1.时间相关数据类型TIME:IEC timeS5TIME:SIMATIC timeDATE:IEC dateTIME_OF_DAY:timeDATE_AND_TIME:DT1.1.S5TIME的格式S5TIME是用BCD码保存的,在数据存储区占用两个连续的字节。

Bit13和Bit12为存储的时基。

,Bit11~Bit0每四位为一个时间数值得BCD码当使用S5TIME 时,定义数值的范围为0~999,而且要指明使用的时基。

时基指定了时间单位。

可以输入的最大值为9,990秒,或2H_46M_30S。

S5TIME时基及相应的时间范围如下:时基BCD码时间范围10ms0010ms-9s990ms100ms01100ms-1min39s990ms1s101s-16min39s10s1110s-2hr46min30s∙梯形图中定于格式为S5T#0H_00M_00S_000MSo H=小时单位,M=分钟单位,S=秒单位,MS=毫秒单位2.DATE_AND_TIME的格式以及相关处理功能块当使用数据类型DATE_AND_TIME(DT)时,将占用数据存储区的8个连续字节,以BCD 码格式保存。

该数据类型范围:DT#1990-1-1-0:0:0.0to DT#2089-12-31-23:59:59.999∙DATE_AND_TIME#2020-01-02-9:01:1.00∙DT#2020-01-02-9:01:1.002020年01月02日上午9点1分3秒50.23毫秒,在date and time的八个字节中分别存储的内容:字节内容例子允许的范围BCD码0年B#16#201990~19992000~208990h~99h 00h~89h1月B#16#011~1201h~12h2日B#16#021~311h~31h3时B#16#0900~2300h~23h4分B#16#0100~5900h~59h5秒B#16#0300~5900h~59h6毫秒的后二位B#16#230~999000h~999h7毫秒的高位B#16#507星期B#16#5Sunday-Saturday1h~7h3.STEP7相关功能块块位于Libraries\Standard Library\IEC Function Blocks路径下。

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数据类型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

将“”文件复制到一个单独的目录,然后双击打开文件。STEP 7 项目解压并生成所有相关子目录。然后用户可以使用 SIMATIC Manager 打开和处理解压后的项目。
5 字符串变量数据转换的相关一些 IEC 的标准功能:
使用 IEC 的标准功能 FC5, FC16, FC30, FC37, FC38 和 FC39 这些功能块可以实现字符串与其它数据类型(例如双整数)之间的相互的转换。
S7-400 Instruction List CPU 412, 414, 416, 417 (章节“Data Type Conversion Instructions”) 条目号:1117645。
2 将整数和实数转换成 S5TIME 格式的数据:
这里所要求的时间值单位是毫秒。转换程序分为两步:
ITB: 整数转换成 BCD 码
DTB:双整数转换成 BCD 码
DTR:双整数转换成实数
BCD 码的转换:
BTI: BCD 码转换成整数
BTD:BCD 码转换成双整数
实数的转换:
RND+: 取整为较大的双整数(向上取整)
RND-: 取整为较小的双整数(向下取整)
FC5 DI_STRNG: 将双整数转换为字符串
FC16 I_STRNG: 将整数转换为字符串
FC30 将字符串转换为双整数
FC38 STRNG_I: 将字符串转换为整数
FC39 STRNG_R: 将字符串转换为实数
图 03 所示为整数到 “S5TIME” 数据的转换例程。
图 03
3 将 ASCII 码转换成整数:
STEP 7“Char_Int”项目包含将一个四位 ASCII 码转换为一个整数的 FC 1 块。对于输入参数,块要求ASCII 字符为“Char”型,并且满足:
IN 变量:Char1 = 个位,
首先将所要转换的数据转换为双整数并存储于数据格式为“TIME”的临时变量中。如将整数通过命令“ITD”转换为双整,通过“RND”将实数转换为双整。
调用 STEP 7 标准库中 IEC 功能库中的 FC40(TIM_S5TI)功能块将上步存储的“TIME”格式的数据转换为 “ S5TIME”数据格式的数值。
如何实现整形数(INT)与字符串(String)、S5TIME、BCD 码以及实数等数据类型之间的数据转换?
说明:
应用转换功能可以在累加器 1 中实现数据转换。不同的转换可以只对累加器 1 的低16位(位0-15)或者所有位产生影响。其它累加器的内容不会改变。在连续多次转换时,每一次转换累加器 1 的值都会随之而改变 ,所以并不需要将中间转换值临时存储。图 01 所示为本条目中所涉及数据转换的总览。
参数“i”:
要转换的双字格式的数字
参数“RetVal”:
存储转换完的 ASCII 码的数据类型为字符串(String)的变量
在 OB 1 中调用 FC 5 功能,并提供相应的参数。转换结果出现在 DB 1 中从数据块字节 2 开始的位置。用户可用变量表监视结果。
( 135 KB )
RND: 取整为最近的双整数(取整)
TRUNC: 截尾取整
图 02 所示为将 BCD 码数值转换为实数的例子。从图 01 中可知 BCD 类型的数据需要先转换成整数或者双整数后才能再转换为实数。
图 02
注意事项:
下述手册可提供更多信息:
S7-300 Instruction List CPU Specifications CPUs 312 IFM to 318-2 DP (章节“Data Type Conversion Instructions”) 条目号: 8861817。
图 01
下面表格介绍了一些在累加器1 中进行数据转换的例子。
序号 在累加器1 中进行数据转换的例子:
1 整数,双整数,实数及 BCD 码之间的数据转换:
STEP 7 提供以下命令来实现整数,双整数,实数及 BCD 码之间的数据转换。
整数,双整数的转换:
ITD: 整数转换成双整数
IN 变量:Char2 = 十位,
IN 变量:Char3 = 百位,
IN 变量:Char4 = 千位。
在 OB 1 中调用 FC 1 功能,输出变量“Result”即为整数。用户可用变量表“VAT_1”监视结果。
图 04
注意事项:
如果 ASCII 字符不包含任何数字,则 FC 1 将输出变量“Error”(出错位)置位为 True。这种情况下,“Result”输出为“0”。
Char_ ( 299 KB )
将“Char_”文件复制到一个单独的目录,然后双击打开此文件。 STEP 7 项目解压并生成所有相关子目录。然后用户可以使用 SIMATIC Manager 打开和处理解压后的项目。
4 将十进制数转换成 ASCII 码:
用户可以使用 ICE 库中的 FC 5 功能将十进制数转换成 ASCII 字符。FC 5 功能完成转换操作。通过两个传输参数来设置该块:
相关文档
最新文档