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

合集下载

S7-300_400培训——第4 章 S7-300_400编程基础答辩

S7-300_400培训——第4  章  S7-300_400编程基础答辩

3.存储器间接寻址(1/2)
存储器间接寻址,简称间接寻址。该寻址方式在指令中 以存储器的形式给出操作数所在存储器单元的地址,也就是 说该存储器的内容是操作数所在存储器单元的地址。该存储 器一般称为地址指针,在指令中需写在方括号“[]”内。地址 指针可以是字或双字,对于地址范围小于65535的存储器可以 用字指针;对于其他存储器则要使用双字指针。
FBD(功能块图)
FBD(功能块图)使用类似于布尔代数的图形逻辑符 号来表示控制逻辑,一些复杂的功能用指令框表示。FBD 比较适合于有数字电路基础的编程人员使用。
GRAPH(顺序控制)
GRAPH类似于解决问 题的流程图,适用于顺序 控制的编程。利用S7GRAPH编程语言,可以清 楚快速地组织和编写S7 PLC系统的顺序控制程序。 它根据功能将控制任务分 解为若干步,其顺序用图 形方式显示出来并且可形 成图形和文本方式的 文件。
§4.1 STEP 7编程语言
STEP 7是S7-300/400系列PLC应用设计软件包, 所支持的PLC编程语言非常丰富。该软件的标准版支 持STL(语句表)、LAD(梯形图)及FBD(功能块图) 3种基本编程语言,并且在STEP 7中可以相互转换。 专业版附加对GRAPH(顺序功能图)、SCL(结构化控 制语言)、HiGraph(图形编程语言)、CFC(连续功 能图)等编程语言的支持。不同的编程语言可供 不同知识背景的人员采用。
1.立即寻址
立即寻址是对常数或常量的寻址方式,其特点是操作数 直接表示在指令中,或以惟一形式隐含在指令中。下面各条 指令操作数均采用了立即寻址方式。
2.存储器直接寻址
存储器直接寻址,简称直接寻址。该寻址方式在指令中 直接给出操作数的存储单元地址。存储单元地址可用符号地 址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等)。下面各 条指令操作数均采用了直接寻址方式。

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)。

S7数据类型说明

S7数据类型说明

S7-300/400系列PLC的数据类型2013-04-01 03:09:03 来源:朗特威自动化商城用户程序中所有的数据必须通过数据类型来识别,只有相同数据类型的变量才能进行计算,数据类型主要分为三类:•STEP7中提供的基本数据类型;•复合数据类型,编程人员可以将基本数据类型组合为复合的数据类型;•参数类型,适合函数或函数块中形参的数据类型。

梯形图、语句表和功能块图的指令系统也是与数据类型相对应的,位逻辑指令只能对位信号进行操作.语句表中的装载(L)与传送(T)指令与梯形图、功能块图中的移动 (MOVE)指令只能对字节、字和双字进行操作。

一个位是一个二进制的数字,通过“0”或“1”表示,一个字节由8个位组成,一个字由16个位组成,一个双字由32个位组成。

数学运算指令对字节、字和双字进行操作,这些字节.字和双字经过不同的编码可以转换为整数和浮点数。

一、基本数据类型基本数据类型共包含12种,每一个数据类型都具备关键字、数据长度、取值范围和常数表达格式等属性。

以字符型数据为例,该类型的关键字是Char,数据长度8bit,取值范围是ASCII字符集,常数表达格式为两个单引号包含的字符,如‘A’。

STEP7基本数据类型的关键字、长度、取值范围和以常数为例子的表示方法见表5-1。

下面简单介绍不同数据类型数据的表示方法:(1)WORD (字)一个WORD包含16个位,以二进制编码表示一个数值时,将16个位分为4个组,每个组4个位,组合表示数值中的一个数字或符号位,例如以十六进制表示数值W#16#1234 的方法如图5-2所示,使用十六进制表示数值时没有符号位,所以十六进制表示的数值不可能有负值。

以BCD码表示+123方法如图5-3所示,BCD码通常表示时间格式数值,与十六进制表示方法相比较,BCD码带有符号位,数值中不能含有A、B、C、D、E、F等十六进制数字。

计数器C同样使用BCD码表示,但是不识别符号位,例如+123和-123表示计数器的值相同,都是C#123。

西门子S7-300 数据资料

西门子S7-300 数据资料

基本数据类型(1)基本数据类型;(2)用户通过组合基本数据类型生成的复合数据类型; (3)可用来定义传送FB(功能块)和FC(功能)参数的参数类型.下面介绍STEP7的基本数据类型:1)位(bit) 位数据的数据类型为BOOL(布尔)型,在编程软件中BOOL 变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示. 位存储单元的地址由字节地址和位地址组成,例如I3.2中的区域标示符"I"表示输入(Input),字节地址为3,位地址为2,如图所示.这种存取方式称为"字节.位"寻址方式.输入字节IB3(B是Byte的缩写)由I3.0~I3.7这8位组成2)字节(Byte) 8位二进制数组成1个字节(Byte,如下图,其中的第0位为最低位(LSB),第7位为最高位(MSB).3)字(Word) 相邻两个字节组成一个字,字用来表示无符号数.MWl00是由MB1OO和MB1O1组成的1个字,如图5.4.3,MB00为高位字节.MW100中的M为区域标示符,W表示字,100为字的起始字节MB1O0的地址.字的取值范围为W#16#0000~W#16#FFFF. 4) 双字(Double Word) 两个字组成1个双字,双字用来表示无符号数.MD100是由MB100~MB103组成的1个双字,(见上图),MB100为高位宇节, D表示双字,100为双字的起始字节MB100的地址.双字的取值范围为DW#16#0000_0000~DW#16#FFFF_FFFF.常数的表示方法常数值可以是字节,字或双字,CPU以二进制方式存储常数,常数也可以用十进制,十六进制,ASCII码或浮点数形式来表示.B#16#,W#16#,DW#16#分别用来表示十六进制字节,字和双字常数.2#用来表示二进制常数,例如2#1101_1010. L#为32位双整数常数,例如L# +5. P#为地址指针常数,例如P#M2.O是M2.0的地址. 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.状态字状态字用于表示CPU执行指令时所具有的状态.某些指令可否执行或以何种方式执行可能取决于状态字中的某些位,指令执行时也可能改变状态字中的某些位,可以用位逻辑指令或字逻辑指令访问并检测状态字.状态字的结构如图所示.逻辑操作结果(RLO) 状态字的第1位称为逻辑操作结果(Result of LogicOperation, RLO).该位存储逻辑操作指令或比较指令的结果.在逻辑串中,RLO位的状态表示有关信号流的信息,RLO的状态为1, 表明有信号流(通),RLO的状态为0,表明无信号流(断).可用RLO触发跳转指令. 溢出位(OV) 状态字的第4位称为溢出位.当算术运算或浮点数比较指被置1,如果执行结果正常,该位被清0. 令执行时出现错误(溢出,非法操作,不规范格式)时,OV位条件码l(CCl)和条件码0(CC0) 状态字的第7位和第6位称为条件码1和条件码0.这两位结合起来用于表示在累加器1中产生的算术运算结果与0的大小关系, 基本指令及其编程1,位逻辑指令状态寄存器触点在S7-300/400PLC中,CPU中有一个专门用于存储指令执行状态的16位状态寄存器,状态寄存器以二进制位的形式保存指令的执行结果与中间状态等,在梯形图编程时,这些标志可以用触点的形式在梯形图中使用与编程,S7300/400PLC可以使用的状态寄存器触点如下表所示.状态寄存器触点1,"与"(A),"与非"(AN)A:"与"指令适用于单个常开触点串联,完成逻辑"与"运算. AN:"与非"指令适用于单个常闭触点串联,完成逻辑"与非" 运算."与"(A),"与非"(AN)指令由图可知,触点串联指令也用于串联逻辑行的开始.CPU对逻辑行开始第1条语句如I1.0的扫描称为首次扫描.首次扫描的结果(I1.0的状态)被直接保存在RLO(逻辑操作结果位)中; 在下一条语句,扫描触点Q5.3的状态,并将这次扫描的结果和RLO中保存的上一次结果相"与"产生的结果,再存入RLO中,如此依次进行.在逻辑串结束处的RLO可作进一步处理. 如赋值给Q4.2(=Q4.2).2 ,"或"(O),"或非"(ON) )," ), 或非" )O:"或"指令适用于单个常开触点并联,完成逻辑"或"的运算. ON:"或非"指令适用于单个常闭触点并联,完成逻辑"或非"运算."或"(O),"或非"(ON)指令由图可知,触点并联指令也用于一个并联逻辑行的开始.CPU对逻辑行开始第1条语句如I4.0的扫描称为首次扫描.首次扫描的结果(I4.0的状态)被直接保存在RLO(逻辑操作结果位)中,并和下一条语句的扫描结果相"或",产生新的结果再存入RLO中,如此一次进行.在逻辑串结束处的RLO可用作进一步处理,如赋值给Q8.0(=Q8.0). 此外,还有"异或"(X),"异或非" (XN),嵌套指令等等.3,输出线圈,输出线圈指令即逻辑串输出指令,又称赋值指令,该指令把RLO中的置赋给指定的位地址,当RLO变化时,相应位地址信号状态也变化,在LAD中,只能将输出指令放在触点电路的最右端,不能将输出指令单独放在一个空网络中.下图是两个应用举例.4,中间输出如图所示,中间输出指令被安置在逻辑串中间,用于将其前面的位逻辑操作结果(即本位置的RLO值)保存到指定地址,所以有时也称为"连接器"或"中间赋值元件".它和其他元件串联时, "连接器"指令和触点一样插入.连接器不能直接连接母线,也不能放在逻辑串的结尾或分支结尾处.5 置位指令,复位指令置位指令,置位/复位指令也是一种输出指令.使用置位指令时,如果RLO =1,则指定的地址被置为1,而且一直保持,直到被复位为0.使用复位指令时,如果RLO=1,则指定的地址被复位为0,而且一直保持,直到被置位为1,如图所示.6 触发器指令触发器有置位复位触发器(SR触发器)和复位置位触发器(RS 触发器)两种,这两种触发器指令均可实现对指定位地址的置位或复位.触发器可以用在逻辑串最右端,结束一个逻辑串;也可用在逻辑串中,当作一个特殊触点,影响右边的逻辑操作结果.置位优先型RS触发器如下图所示.7 边沿检测指令当信号状态变化时就产生跳变沿:从0变到1时,产生一个上升沿(也称正跳沿);从1变到0时,产生一个下降沿(也称负跳变). 跳变沿检测的方法是:在每个扫描周期(OB1循环扫描一周),把当前信号状态和它在前一个扫描周期的状态相比较,若不同,则表明有一个跳变沿.因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较. S7-300/400PLC有两种边沿检测指令:一种是对逻辑串操作结果RLO的跳变沿检测的指令;另一种是对单个触点跳变沿检测的指令. (1) RLO跳变沿检测指令RLO跳变沿检测可分别检测正跳沿和负跳沿.①当RLO从0到1时,正跳沿检测指令在当前扫描周期以RLO=0表示其变化,而在其他扫描周期均为0.在执行RLO正跳沿检测指令前,RLO的状态存储在位地址中. ②当RLO从1到0时,负跳沿检测指令在当前扫描周期以RLO=1表示其变化,而在其他扫描周期均为0.在执行RLO负跳沿检测指令前,RLO的状态存储在位地址中. RLO跳变沿检测指令和操作数见下表.RLO跳变沿检测指令和操作数(2) 触点跳变沿检测指令触点跳变沿检测可分别检测正跳沿和负跳沿. ①触点正跳沿检测指令FP:在LAD中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态.有一个输出端Q,当触点状态从0到1时,输出端Q接通一个扫描周期. ②触点负跳沿检测指令FN:在LAD 中以功能框表示,它有两个输入端,一个直接连接要检测的触点,另一个输入端M_BIT所接的位存储器上存储上一个扫描周期触点的状态.有一个输出端Q,当触点状态从1到0时,输出端Q接通一个扫描周期.触点跳变沿检测指令和操作数LAD(a)程序行要检测的是逻辑串I1.0,I1.1的运算结果的跳变边沿,即图中①点处的RLO的边沿变化情况,同时用M1.0来存储RLO①的状态.程序的工作过程如时序图:当程序运行到图中a点时,当前RLO值是1,而上次RLO值(存放在M1.0中)是0, 于是FP指令判断到一个RLO的正跳沿,就将②点处的M1.0置1, 并且输出给M8.0;当程序经过1个扫描周期,运行到波形图中b点时,当前RLO值和前一个RLO值均为1,相同(RLO在相邻两个扫描周期中相同,可全为1或0),那么FP指令将②点处M1.0置0, 并输出给M8.0.这样M8.0为1的时间仅一个周期.图中虚线箭头指的是两个相邻扫描周期RLO的比较. 对RLO下降沿的检测,读者可自行分析c点,d点时的情况,FN 指令检测到一个RLO①的负跳沿时将M8.1置1,M8.1为1的时间也是一个周期.位逻辑指令的应用举例机床的工作台运动示意图工作台由交流电动机驱动,改变电动机的旋转方向就可以改变工作台的运动方向.按下启动按钮SBl后,电动机驱动工作台运动,如果工作台运动到极限位置时,由行程开关SQl或SQ2检测并发出停止前进指令,同时自动发出返回指令.只要不按停止按钮SB2,工作台将继续这种自动往复运动.工作台驱动电动机通过热继电器做过载保护.。

STEP7程序块的类型及区别(总结转)_天外小屋

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的形参通常也称为接口区,参数类型分为输入参数,输出参数,输入/输出参数和临时数据区。

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

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

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

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

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

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

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

S7-300400PLC的编程技术

S7-300400PLC的编程技术
IB3(B是Byte的缩写)由I3.0~I3.7这8位组成。
位数据的表示
2)字节(Byte) 8位二进制数组成1个字节(Byte,如下图,其中的第0位为最低位
(LSB),第7位为最高位(MSB)。
• 3)字(Word)
• 相邻两个字节组成一个字,字用来表示无符号数。MWl00是 由MB1OO和MB1O1组成的1个字,如图5.4.3,MB00为高位字 节。MW100中的M为区域标示符,W表示字,100为字的起始
字节MB1O0的地址。字的取值范围为 W#16#0000~W#16#FFFF。
• 4) 双字(Double Word)
• 两个字组成1个双字,双字用来表示无符号数。MD100是由 MB100~MB103组成的1个双字,(见上图),MB100为高位宇节, D表示双字,100为双字的起始字节MB100的地址。双字的取
地址I0.0,这样使程序易于阅读和理解。
用户可以在网络号右边加上网络的标题,在网络号的下面 为网络加上注释。还可以选择在梯形图下面自动加上该网络中
使用的符号的信息。
在分析梯形图中的逻辑关系时,为了借用继电器电路图的 分析方法,可以想象在梯形图的左有两侧垂直“电源”之间有
一个左正右负的直流电源电压,有一个假想的“能 流”(PowerFlow)流过线圈。利用能流这一概念,可以很好地理
值范围为DW#16#0000_0000~DW#16#FFFF_FFFF。
•常数的表示方法 • 常数值可以是字节、字或双字,CPU以二进制方式存储常数,常
数也可以用十进制、十六进制、ASCII码或浮点数形式来表示。
• B#16#,W#16#,DW#16#分别用来表示十六进制 字节、字和双字常数。2#用来表示二进制常数,例如 2#1101_1010。 L#为32位双整数常数,例如L# +5。 P#为地址指针常数,例如P#M2.O是M2.0的地址。

西门子s7-300 400课程教学内容(附西门子plc基本指令功能介绍)

西门子s7-300 400课程教学内容(附西门子plc基本指令功能介绍)

西门子S7-300/400PLC培训教程第一章西门子PLC简单概述1.1 PLC的产生1.2 PLC的定义和分类1.3 PLC的功能和特点1.4 PLC的结构与工作过程第二章PLC系统特性及硬件介绍2.1 SIMATIC S7-300系统结构2.2 S7-300 CPU模块2.3 信号模块(SM)2.4 电源模块(PS)2.5 接口模块(IM)2.6 其他模块(IM)2.7 SIMATIC S7-300的硬件组态第三章使用STEP7创建一个工程3.1 STEP 7软件安装3.2 SIMATIC管理器3.3 STEP 7快速入门3.4 下载和调试程序第四章西门子编程语言学习4.1 STEP 7编程语言4.2 数据类型4.3 S7-300指令基础4.4 位逻辑指令4.5 定时器与计数器指令4.6 数字指令4.7 控制指令第五章西门子的程序设计5.1 S7 CPU中的程序5.2 数据块中的数据存储5.3 逻辑块(FC和FB)的结构及编程5.4 编辑并调用无参功能(FC)——分部程序设计5.5 编辑并调用有参功能(FC)——结构化程序设计5.6 编辑并调用无静态参数的功能块(FB)5.7 编辑并调用有静态参数的功能块(FB)5.8 使用多重背景——结构化程序设计创建S7项目硬件配置编写符号表规划程序结构搅拌控制系统程序设计——使用模拟量。

交通信号灯控制系统程序设计。

案列分析第六章利用WinCC flexible软件创建工程系统6.1软件安装6.2 现场软件操作和运用我们对学员的要求和排课计划第1章我们让我们的学员对西门子PLC有一个空间概念的理解,第2章中我们详细分析西门子PLC的整个硬件架构,和如何在软件中实现硬件组态。

第3章中我们开始给学员自己安装编程软件,以及自己创建工程项目,通过这样让学员对STEP 7编程软件有个熟悉,以及课后让学员自己动手练习,熟悉该软件。

第4章中我们会给学员详细的介绍西门子S7-300中的编程语言,并通过简单程序事例说明其具体含义第5章是关键一章节,我们在前面4章的基础上,详细介绍S7-300中的各个功能块,同时通过让学员自己动手创建两到三和新项目(涵盖了时间,计数,逻辑,中断,模拟量的控制等等内容),同时让每位学员自己上传下载,调试自己的程序。

STEP7的基本数据类型及其用法汇总

STEP7的基本数据类型及其用法汇总

STEP7的基本数据类型及其用法汇总STEP7有3种数据类型:1. 基本数据类型2. 由基本数据类型组合而成的复合数据类型;3. 用来传送FB块和FC块参数的参数数据类型本文首先介绍一下基本数据类型。

STEP7的基本数据类型总共有7种,分别为:位(bit)、字节(Byte)、字(Word)、双字(Double Word)、整型数(INT)、双整型数(DINT)以及实数(REAL)。

1. 位(bit)取值:1、0寻址方式:地址标识符+字节地址+位地址。

图1 基本数据类型:位(bit)2. 字节(Byte)8位二进制数组成一个字节。

其中,第0位为最低位(LSB),第7位为最高位(MSB)。

寻址方式:地址标识符+B+字节地址,其中,'B'即代表字节。

图2 基本数据类型:字节(Byte)3. 字(Word)相邻的两个字节组成一个字,16位。

字用来表示无符号数,范围:[0000,FFFF]16进制,或[0,65535]10进制寻址方式:地址标识符+W+首字节地址,其中,'W'代表字。

图3 基本数据类型:字(Word)4. 双字(Double Word)相邻的两个字组成一个双字,32位。

双字也用来表示无符号,范围:[00000000,FFFFFFFF]16进制寻址方式:地址标识符+D+首字节地址,其中,'D'代表双字。

图4 基本数据类型:双字(Double Word)5. 整型数(INT)整数是有符号数,占16位。

最高位为符号位,0:正数;1:负数。

取值范围为:[-32768,32767]。

6. 双整型数(DINT)双整数也是有符号数,占32位。

最高位为符号位,0:正数;1:负数。

取值范围为:[-2147483648,2147483647]。

7. 浮点数(REAL)标准的浮点数格式如图5所示,占32位。

最高位为符号位,0:正数;1:负数。

图5 基本数据类型:浮点数(REAL)浮点数的优点是用32位的空间可以表示非常大和非常小的数。

第六讲 STEP7-300、400指令应用

第六讲     STEP7-300、400指令应用

MOVE(分配值)通过启用EN输入来激活。在IN输入指定的值将
复制到在OUT输出指定的地址。ENO与EN的逻辑状态相同。MOVE 只能复制BYTE、WORD或DWORD数据对象。
2.传送指令
符号:
2013-3-12
北方民族大学
5
现代PL控制技术(SIMATIC S7-300/400PLC )
Parameter Data Type Memory Area Description
(1)时间值 格式一: W#16#wxyz 其中,w = 时间基准(即时间间隔或分辨率)
其中,xyz = 以二进制编码的十进制格式表示的时间值
格式二: S5T#aH_bM_cS_dMS 其中,H = 小时,M = 分钟,S = 秒,MS = 毫秒;a、b、c、 d由用户定
2013-3-12
北方民族大学
热保护(常闭触点) 停止按钮(常闭触点) 起动按钮(常开触点) 主接触器(常开)辅助触点 Y接触器(常开)辅助触点 Δ 接触器(常开)辅助触点 主接触器线圈 Y接触器线圈 Δ 接触器线圈
2013-3-12
北方民族大学
24
现代PL控制技术(SIMATIC S7-300/400PLC )
图4-6 三相异步电动机Y-Δ减压起动控制电路
2013-3-12
北方民族大学
23
现代PL控制技术(SIMATIC S7-300/400PLC )
参考答案: 1、 I/O分配表
I/O设备名称 FR SB1 SB2 KM1 KM1 KM2 KM1 KM2 KM3 I/O地址 I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 Q4.0 Q4.1 Q4.2 说 明
10
现代PL控制技术(SIMATIC S7-300/400PLC )

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

西门子S7-300 400高级编程培训教材

西门子S7-300 400高级编程培训教材
IEC 61131-3标准一致性块 有足够满足需要的输入,输出,输入
/输出参数 有存储区域,即不仅有临时变量而且
还有静态变量 使用本身数据区域进行调用
(创建背景) “数据封装”
应用:
定时器和计数器功能 使用内部状态控制过程设备
锅炉 电机,阀,等等。
CALL FB5, DB16 Start :=I 0.0 Stop :=I 0.1 Motor_on :=Q8.0 Speed :=QW12
块调用与多重背景模型
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2019/11/22 PRO2_06E.1
SITRAIN Training for
Automation and Drives
用于结构化编程的块
整个任务的 模块化:
单个任务在各自块中 予以解决 参数分配法使得
使用更加灵活 • 示例:钻孔循环程序的钻孔深 度为可分配参数
块的可再利用性能:
块可以按需要随时 加以调用
限制因素: • 不允许访问 全局地址空间 • 只能通过参数列表 进行通信
OB 1
FB1 电机1
FB2 阀
OB 1
. .
CALL FB1, DB2
SITRAIN Training for
Automation and Drives
功能的属性
参数可分配的块:
具有足够多的输入,输出,输入/输 出参数
无存储区,也即只有临时变量
IEC 61131-3标准一致性要求:
足够多的输入参数 仅有一个输出参数RET_VAL 不允许访问全局变量和绝对地址 使用同一输入参数提供相同的结果

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实现一台电动机的正反 转控制。控制要求如下:要求能实现电 机的正转和反转控制,并能进行正反转 的直接切换。另外,还可进行正反向的 点动控制,当电机处于正常运行时,点 动按钮不起作用。

05_STEP 7数据类型和变量

05_STEP 7数据类型和变量

数据类型描述了数据基本特性z连续区域:例如变量声明确定变量的如下特性:符号名基本数据类型(最长32位)复杂数据类型(长度大于32位)用户自定义数据类型(长度大于32位)•位(Bit)数据类型(BOOL, BYTE, WORD, DWORD, CHAR)•算术数据类型(INT, DINT, REAL)•时间数据类型(S5TIME, TIME, DATE, TIME_OF_DAY)•时间型(DATE_AND_TIME)•数组型(ARRAY)•结构型(STRUCT)•字符串型(STRING)UDT数据类型(用户自定义型)长度(单位:位)BOOLBYTEWORD DWORD CHARINTDINTREALS5TIMETIMEDATETIME-OF-DAY1 8 16 32816 32 32 1632 16 32关键字类型常数示例1或0B#16#A9W#16#12AFDW#16#ADAC1EF5'w'12365539或L#-11.2或34.5E-12S5T#5s_200msT#2D_1H_3M_45S_12MSD#1999-06-14TOD#12:23:45.12“更好地z适合于任务长度(位)DATE_AND_TIME(日期和时间)STRING(字符串,最多254个字符)ARRAY(相同数据类型一组元素的集合)STRUCT(结构,不同数据类型一组元素的集合)UDT(用户自定义类型=由基本数据类型和/或复杂数据类型组成的“模板”)648 * (字符数+2)用户自己定义用户自己定义用户自己定义关键字示例DT#99-06-14-12:14:55.0´This is a string´´SIEMENS´Meas_vals: ARRAY[1..20]INTMotor: STRUCTSpeed: INTCurrent: REALEND_STRUCTUDT 作为块UDT 作为数组元素STRUCT Drive: ARRAY[1..4]Speed: INT UDT1Current: REALEND_STRUCT长度(位)TIMER COUNTER BLOCK_FB BLOCK_FC BLOCK_DB BLOCK_SDB PointerANY 16 16 16 48 80关键字示例Contact time: TIMER.SI #Contact_timeNoCompParts: COUNTER.LC #No_Comp_PartsRecall: BLOCK_FB.UC #RecallMeasure: POINTER.L P##Measure.Measured Values: ANY.L P##Meas_Values.DBxDBy DBz 位(Bit )存储器PIQ PIII/O 区域(P )分支位置来自本地数据堆栈的帮助变量功能FC10功能FC20功能块FB1OB1全局数据块DB20背景数据DB5ARRAYz数组是相同数据类型元素的组合在上面示例中,使用数据块编辑器,在DB5中声明了两个ARRAY 变量。

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

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

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
1
1或0
长度(单8位:位)B#16#A9 类型常数示例
16
W#16#12AF
32
DW#16#ADAC1EF5
CHAR
8
'w'
INT DINT REAL
16
123
32
65539或L#-1
32
1.2或34.5E-12
S5TIME
16
S5T#5s_200ms
TIME
32
DATE
16
TIME-OF-DAY 32
FC. 10
..
5
.
.
CALL
FC10
6
.
为组织块 . LD for OB1 LD for OB1 LD for OB1 LD for OB1 LD for OB1
OB1分配
LD for FB1 LD for
LD for FB1
L Stack free
FB1 LD for FC5
free
free
free
Byte
n+(201
日 ...
31)
小时 (00 ... 23)
Byte n+3
分钟
Byte n+(400 ... 59)
秒 (00 ... 59)
Byte n+51=星期日
2=星期一
Byte n+6
毫秒 (000 ... 999)
星期
3=星期二
(1..7) Byte n+745==星星期期三四
6=星期五
UDT 作为块
STRUCT Speed: INT Current: REAL END_STRUCT
UDT 作为数组元素
Drive: ARRAY[1..4] UDT1
STEP 7参数类型
关键字
TIMER
COUNTER
BLOCK_FB BLOCK_FC BLOCK_DB BLOCK_SDB Pointer
STEP 7数据类型和变量
变量及数据类型含义
数据类型描述了数据基本特性 l 连续区域:例如:实际速度 l “是/非” 特性:例如:扰动
数据类型建立:
l 允许范围 (INT:-32 768 ... +32 767,等等。)
l 允许使用的指令 (算术指令: +,- 等。)
l 存储器中位的表示方法抽象出的数据类型
数据类型:STRUCT
STRUCT(结构):
l 结构是不同数据类型 元素的组合
Motor: STRUCT Set_Speed: REAL
l 结构的声明:
结构名称: STRUCT 元素1名称: 数据类型; 元素2名称: 数据类型;
...
END_STRUCT
Actual_Speed: REAL
Enable:
80
Measured Values: ANY
.
L P##Meas_Values
.
变量建立的区域
位(Bit)存储器 PIQ PII I/O 区域(P)
DBz DBy
...
DBx
“传统“ PLC区域
本地数据 堆栈
数据块
本地数据堆栈工作方式
OB1
FB1
1
.
.
2
.
.
CALL FB1
4
CALL
FC5
3
5.
ANY
长度(位) 示例
16
Contact time: TIMER
.
SI #Contact_time
16
NoCompParts: COUNTER
.
LC #No_Comp_Parts
16
Recall: call
48
Measure: POINTER
.
L P##Measure
.
UDT1: STRUCT Set_Speed: REAL
Actual_Speed: REAL
Enable:
BOOL
Disturbance:
BOOL
END_STRUCT
...
UUDT5DT的使用
FC23
数据类型:
结构D: ATE_AND_TIME


Byte n1)(90 ... 89) (01 ... 12) Byte n+1
• 一维:Meas_value: ARRAY[1..10] OF REAL; • 多维:Position: ARRAY[1..5,2..8,...] OF INT;
l 数组变量的访问:
• L #Meas_value[5]
中去 • T #Result[10,5]
// 装载数组的第5个元素 // 将Meas_value装载到ACCU1
功能块 FB1
FB1的背景DB
背景数据 DB5
数据类型:ARRAY
ARRAY(域):
Meas_value: ARRAY[1..10]
l 数组是相同数据类型 元素的组合
Meas_value[1]: Meas_value[2]: Meas_value[3]:
Real Real Real
.
l 数组的声明:
free
如:256个字节
循环开始
1
2
3
4
FC5
LD for OB1 LD for FC10
free 5
LD for OB1 free 6
LD= 本地数据
示例:暂存器的替换
LAD中的分支
STL表示
分支位置
来自本地数据堆栈的 帮助变量
数据块(DB)
OB1
功能 FC10
功能 FC20
可以被所有块访问
全局数据块 DB20
复杂数据类型 (长度大于32位)
用户自定义数据类型 (长度大于32位)
•时间型 (DATE_AND_TIME) •数组型 (ARRAY) •结构型 (STRUCT) •字符串型(STRING)
UDT数据类型 (用户自定义型)
STEP 7中的基本数据类型
BOOL B关Y键T字E WORD DWORD
l FC6 (DT_DATE) :功能FC 6是从DATE_AND_TIME格式中提取日期。 l FC7 (DT_DAY) :功能FC 7是从DATE_AND_TIME格式中提取星期。. l FC8 (DT_TOD) :功能FC 8是从DATE_AND_TIME格式中提取TIME_OF_DAY。 l DT#变量比较函数: FC9 (EQ_DT),FC12 (GE_DT),
Byte n1)
Byte n+1
Byte n+2
...
Byte 1.1.1 Byte 1.1.2 Byte 1.2.1 Byte 1.2.2 Byte 1.3.1 Byte 1.3.2 Byte 2.1.1 Byte 2.1.2 Byte 2.2.1 Byte 2.2.2 Byte 2.3.1 Byte 2.3.2
Word limit
STRUCT类型 元素
...
用户自定义数据类型:UDT
UDT用户自定义数据类型:
l 在声明部分创建了 一个数据模板 供以后使用
l 对程序文件夹的所有 块来说,是全局有效的
示例:
l 新数据类型(结构)的定义:
UDT1 STRUCT SetSpeed : REAL; ActualSpeed: REAL;
BOOL
END_STRUCT
在块调用中 数据传输的精简形式:
l 一个参数传送“多个”数据项 l 使结构化编程成为可能 l 仅通过参数便实现
块间“通信” l 软件可重用性
in Drive
UDT1
out ...
...
stat Control.
FB1.
.
5
CALL #Controller
Motor:="Hall_1" .M5
相关文档
最新文档