一张表搞清楚西门子S7系列标准DB块与优化DB块
- 格式:docx
- 大小:136.74 KB
- 文档页数:5
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那样必须赋值,可以通过背景数据块直接赋值。
朗风快学PLC(九)西门子S7-300的程序结构OB,FB,FC,DB上篇文章为大家带来了OB,FB,FC,DB之间的关系,这篇文章为大家讲解step7最常用的三种语言,即LAD梯形图,FBD功能块,STL 语句表。
一、梯形图LAD梯形图语言是从常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,电气技术人员容易接受,是目前运用上最多的一种PLC的编程语言。
在PLC程序图中,左、右母线类似于继电器与接触器控制电源线,输出线圈类似于负载,输入触点类似于按钮。
梯形图由若干阶级构成,自上而下排列,每个阶级起于左母线,经过触点与线圈,止于右母线。
图1为一段典型的梯形图语言编写的程序。
图1 梯形图语言上图中,“常开点”I0.3、I1.2、I1.1及“常闭点”I0.2串联后,与“常开点”M0.0并联,然后为“线圈”Q4.2供电。
在“继电器与接触器“型电路中,用梯形图编程会显得一目了然,犹如看电气连接图一般。
二、功能块图FBDFBD用方框图的形式来表示控制逻辑,类似于数字逻辑门电路的编程语言。
FBD语言对于有数字电路基础的人来说很容易掌握,该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量;信号也是由左向右流向的,各个功能方框之间可以串联,也可以插入中间信号。
在每个最后输出的前面组合逻辑操作方框数是有限的,同一组逻辑运算的输出结果的数目也要根据操作系统的不同而不同;经过扩展,不但可以表示各种简单的逻辑操作,并且也可以表示复杂的运算、操作功能。
图1的梯形图控制逻辑用FBD编程的话,如图2所示。
图2 FBD语言图2中,方框”&“为“与”运算,“>='为或运算,其真值表如下:图3 真值表FBD语言的编程过程类似于数字电路中用集成模块搭建电路,每个模块都有其自己的功能,根据控制需要,选用合适的模块,用“线”连起来即可。
西门子S7-200 PLC指令学习(1)S7-200系列的基本逻辑指令S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表 S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令: >、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)②(30007)=(40030)③(30007)<(40030)①+②(30007)≥②+③(30007)≤(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
DB块的内容说明:DB1 西门子保留DB2~DB4 PLC messagesDB5~DB8 basic programDB9 NC compile NC编译循环接口DB10 NCK interface 中央NC接口DB11 mode group interface 方式组接口DB18 SPL接口(安全集成)DB19 PCU接口DB20 PLC机床数据DB21~DB30 NC channel interface NC通道接口DB31~DB61 interface for axis/spindles 轴/主轴号1到31预留接口DB71~DB74 tool management 用户刀具管理DB75~DB76 M 功能代码PLC到MMC的信号:DB 19 DBX 0.0 screen brightDB 19 DBX 0.1 screen darkeningDB 19 DBX 0.2 key disableDB 19 DBX 0.3 清除通道报警DB 19 DBX 0.7 机床坐标或工件坐标DB 19 DBX 0.7=1 工件坐标DB 19 DBX 0.7=0 机床坐标MMC到PLC的信号:DB 19 DBX 20.3 报警已清除NCK 与PLC之间的信号传递DB2~~PLC 信息DB10 ~NCK信息PLC给NCK的信号DB 10 DBX 56.1 急停信号MMC给PLC的信号DB10 DBX 103.6 MMC过热DB10 DBX 103.7 电池报警NCK给PLC的信号DB10 DBX 104.7 NCK CPU readyDB10 DBX 108.7 NC readyDB10 DBX 108.6 drive readyDB10 DBX 106.7 急停信号DB10 DBX 109.0 NCK报警存在DB10 DBX 109.5 NCK过热DB10 DBX 109.6 NCU温度过高DB10 DBX 109.7 电池报警DB 11~ DB 14 方式组信号PLC给NCK的信号:DB11DBX0.0 AUTODB 11 DBX 0.1 MDADB 11 DBX 0.2 JOGDB 11 DBX 0.4 方式组切换禁止DB 11 DBX 0.5 方式组停止,进给轴。
西门子编程里面的各种块(Block)宝宝-OBFBFCDBSFC科普引言西门子程序采用结构化编程,把程序分成多个模块,各模块完成相应的功能结合起来就能实现一个复杂的控制系统,就像高级语言一样用子程序实现特定的功能,再通过主程序调用各子程序,从而能实现复杂的程序。
结构化编程STEP7的程序结构 l 线性程序结构 l 分块程序结构 l 结构化程序结构一、西门子编程里面的块简介1.编程块概述变成块汇总2.程序访问顺序程序访问西门子PLC CPU 程序访问顺序:主程序OB块、功能块FB&FC、数据块DB二、西门子编程各块应用案例分析1.OB块案例组织块代号1.1组织循环(OB1)块程序循环 OB 在 CPU 处于 RUN 模式时,周期性地循环执行。
可在程序循环OB 中放置控制程序的指令或调用其它功能块(FC 或 FB)。
主程序(Main)为程序循环 OB ,要启动程序执行,项目中至少有一个程序循环OB 。
操作系统每个周期调用该程序循环 OB 一次,从而启动用户程序的执行。
1.2延时中断( OB20)块延时中断块1、调用“SRT_DINT”指令启动延时中断;2、当到达设定的延时时间,操作系统将启动相应的延时中断 OB ;3、图例中,延时中断 OB20 中断程序循环 OB1 优先执行;4、当启动延时中断后,在延时时间到达之前,调用“CAN_DINT”指令可取消已启动的延时中断。
1.3 循环中断(OB30)块循环中断OB 在经过一段固定的时间间隔后执行相应的中断OB 中的程序。
循环中断块1、PLC 启动后开始计时;2、当到达固定的时间间隔后,操作系统将启动相应的循环中断OB ;3、图例中,到达固定的时间间隔后,循环中断 OB30 中断程序循环 OB1 优先执行。
1.4硬件中断(OB 40)块硬件中断OB 在发生相关硬件事件时执行,可以快速的响应并执行硬件中断 OB 中的程序(例如立即停止某些关键设备)。
西门子S7-1200数据块的使用硬件环境:S7-1200 CPU V2.0(6ES7214-1AE30-0XB0)软件环境:(1)Windows 7 Professional SP1 64位(2)STEP7 V11 SP2步骤1. 创建DB块:在项目中添加了S7-1200设备之后,在项目树中此PLC的"程序块"下即可以添加新的数据块。
图1 DB块的创建在打开的"添加新块"窗口下选择数据块。
以下是对此窗口下各项配置的说明:名称:此处可以键入DB块的符号名。
如果不做更改,那么将保留系统分配的默认符号名。
例如此处为DB块分配的符号名为“Data_block_2”;类型:此处可以通过下拉菜单选择所要创建的数据块类型-全局数据块或背景数据块。
如果要创建背景数据块,下拉菜单中列出了此项目中已有的FB供用户选择。
语言:对于创建数据块,此处不可更改。
编号:默认配置为“自动”,即系统自动为所生成的数据块配分块号。
当然也可以选择“手动”,则“编号”处的下来菜单变为高亮状态,以便用户自行分配DB块编号。
块访问:默认选项为“已优化”,当选择此项时,数据块中的变量仅有符号名,没有地址偏移量的信息,该数据块仅可进行符号寻址访问。
选择“已优化”创建数据块可优化CPU 对存储空间的分配及访问,提升CPU性能;用户也可以选择“标准-与S7-300/400兼容”,获得与S7-300/400数据块相同的特性,数据块中的变量有符号名和偏移量,可以进行符号访问和绝对地址访问。
注意:数据块的块访问属性只能在创建数据块时定义。
创建完成后无法修改数据块的访问。
数据块(Data Blocks,简称DB)是用来存放执行用户程序时所需的数据与存储程序执行结果的数据存储区,其作用与标志寄存器类似,但数量更多。
数据块DB按不同的用途可以分为即时数据块(Instance DataBlocks,又称背景数据块,简称DI)和通用数据块(Data Blocks,又称共享数据块,简称DB)两类。
即时数据块(DI)用于传递功能块的参数,只能被指定的功能块FB访问。
调用功能块FB时,必须同时指定用于该功能块的即时数据块DI,即时数据块内的数据可以自动生成,它们可以是FB变量声明表中的数据(不含临时变量)。
通用数据块(DB)用于存储PLC的全局数据,所有的FB、FC或OB都可以对通用数据块进行读写操作,因此,又被称为共享数据块。
通用数据块内的数据不会因用户程序的结束而删除。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。
STEP7常用功能块教程STEP7(Siemens Totally Integrated Automation Portal)是西门子公司的一款集成的自动化工程软件,用于配置、程序和诊断西门子的可编程逻辑控制器(PLC)系统。
STEP7具有许多强大的功能块,可以帮助用户更高效地编程和管理PLC系统。
本文将介绍一些常用的STEP7功能块和它们的应用。
1.FC(函数块):函数块是一种可重用的程序单元,允许用户编写自定义函数。
通过使用函数块,可以将常用的代码片段封装为函数,以便在不同的程序中重复使用。
例如,可以创建一个函数块来实现PID控制算法,使其可以在不同的工程中重复使用。
2.FB(功能块):功能块是STEP7中的另一种可重用程序单元,类似于函数块。
不同之处在于,功能块可以包含状态信息,并可以在程序中直接调用。
功能块通常用于处理系统的输入和输出信号,并执行相关的逻辑操作。
例如,可以创建一个功能块来处理PLC的输入和输出模块,并根据逻辑条件执行相应的控制操作。
3.OB(组织块):组织块是STEP7中的一种特殊类型的函数块,用于定义PLC程序的执行顺序和事件触发条件。
组织块分为不同的类型,如主程序(OB1)和中断(OB35),每个类型都有不同的功能和触发条件。
通过使用组织块,可以精确控制PLC程序的执行流程,并根据需要触发特定的事件。
4.DB(数据块):数据块是STEP7中用于存储和管理数据的容器。
数据块包含一个或多个变量,可以在PLC程序中访问和使用。
通过使用数据块,可以将相关的数据组织在一起,并轻松地进行数据的传输和处理。
例如,可以创建一个数据块来存储传感器和执行器的输入和输出数据,并在程序中使用这些数据进行逻辑判断和控制操作。
5.SFC(顺序功能图):顺序功能图是一种图形化编程语言,用于描述程序的执行顺序和组织结构。
SFC可以将PLC程序分解为不同的步骤,并定义不同的条件和转换规则。
通过使用SFC,可以更直观地理解和设计复杂的PLC程序,并使其易于修改和维护。
DB块的内容说明:DB1 西门子保留DB2~DB4 PLC messagesDB5~DB8 basic programDB9 NC compile NC编译循环接口DB10 NCK interface 中央NC接口DB11 mode group interface 方式组接口DB18 SPL接口(安全集成)DB19 PCU接口DB20 PLC机床数据DB21~DB30 NC channel interface NC通道接口DB31~DB61 interface for axis/spindles 轴/主轴号1到31预留接口DB71~DB74 tool management 用户刀具管理DB75~DB76 M 功能代码PLC到MMC的信号:DB 19 DBX 0.0 screen brightDB 19 DBX 0.1 screen darkeningDB 19 DBX 0.2 key disableDB 19 DBX 0.3 清除通道报警DB 19 DBX 0.7 机床坐标或工件坐标DB 19 DBX 0.7=1 工件坐标DB 19 DBX 0.7=0 机床坐标MMC到PLC的信号:DB 19 DBX 20.3 报警已清除NCK 与PLC之间的信号传递DB2~~PLC 信息DB10 ~NCK信息PLC给NCK的信号DB 10 DBX 56.1 急停信号MMC给PLC的信号DB10 DBX 103.6 MMC过热DB10 DBX 103.7 电池报警NCK给PLC的信号DB10 DBX 104.7 NCK CPU readyDB10 DBX 108.7 NC readyDB10 DBX 108.6 drive readyDB10 DBX 106.7 急停信号DB10 DBX 109.0 NCK报警存在DB10 DBX 109.5 NCK过热DB10 DBX 109.6 NCU温度过高DB10 DBX 109.7 电池报警DB 11~ DB 14 方式组信号PLC给NCK的信号:DB11DBX0.0 AUTODB 11 DBX 0.1 MDADB 11 DBX 0.2 JOGDB 11 DBX 0.4 方式组切换禁止DB 11 DBX 0.5 方式组停止,进给轴。
一张表搞清楚西门子S7系列标准DB块与优化DB块
在TIA Portal中为S7-1200/S7-1500 CPU 添加一个DB 块时,其缺省属性为优化的DB ,优化的DB 块与标准的DB 块整体对比如下表所示:
S7-300/S7-400 与S7-1200 以及S7-1500 DB参数的对比如下表所示:
可通过修改DB 块的属性将DB 块修改为标准DB 块或优化的DB 块,如下图所示:
如DB 块属性为标准DB 块,该DB 块内变量的偏移地址(offset)被编译后会出现,标准DB 块与优化的DB 块对比如下图所示:
S7-1200CPU中,标准DB 块与优化的DB 块在PLC 中按照下图方式存储。
S7-1500CPU中,标准DB 块与优化的DB 块在PLC 中按照下图方式存储。
在S7-1500 CPU 中,相比于标准的DB 块,优化的DB 块提供更快的访问速度,其根本原因与CPU 的编码方式有关,如下图所示:
与标准的DB 块相比,优化的DB 块有以下优势:
提供更快的访问速度
以符号寻址,编程者无需考虑DB 块中每个变量存储的具体地址,每个变量在CPU 中存储的位置由PLC 的系统自动进行分配;
CPU 与HMI (如Panel)连接时,由于优化的DB是靠符号寻址,所以当PLC 变量连接到HMI 后,PLC 侧对变量做的修改,HMI 无需重新下载;
对DB 块内的任意位置对变量进行添加及删除,或对变量的类型进行修改(如将Tag_1的属性由byte 修改为Word),不会引起该DB 块其它变量的使用;
S7-1200/S7-1500中如有以下应用,必须使用标准DB 块:
与其它CPU 建立S7 单边通信时(PUT/GET),用于存储发送区数据和接收区数据的DB 块;与Wincc V7.2 进行HMI 连接时,Wincc V7.2 访问的S7-1200/S7-1500 CPU 的DB 块只能是标准的DB 块;使用Simatic Net V8.2 与S7-1200/S7-1500 PLC进行OPC 连接时,OPC 服务器访问S7-1200/S7-1500 CPU 的DB 块只能是标准的DB 块。