西门子PLC S7

大家好我是狂暴的点,今天我来分享一下TIA portal 博途编程软件中常用函数块和数据块的单间介绍。

TIA 博途(TIA Portal)是西门子新推出的,面向工业自动化领域的新一代工程软件平台,主要包括三个部分:SIMATIC STEP 7、SIMATIC WINCC和SIMATIC startdrive。

其中SIMATIC STEP7是用于组态s7-1200、s7-1500、s7-300/400和winac控制器系列的工程组态软件,也可以理解为西门子PLC的编程软件,简单的说TIA博途是写代码控制PLC的。

我们在编程中常用的块一共有4种,分别为:

  1. 带头大哥 组织块(OB块)

  2. 搬砖小弟 函数 FC块)

  3. 包工头 函数块(FB块)

  4. 仓库主管 数据块(DB块)

  • 一、先来说说大哥OB块

这里我们最熟悉的就是PLC的主程序OB1,他是PLC中最先苏醒的一个块,一开始就存在于程序之中,在PLC启动后,将启动执行OB1,PLC会不停的循环执行OB1,来调用在OB1中的FC块和FB块。形象的说明就是PLC会将OB1中的程序无限的重复执行,而OB1中我们可以调用FC块来帮忙干活。

在主程序OB1中调用FC块和FB块

OB可以是组织者,也可以自己动手操作,OB1块中可以直接编写梯形图进行编程,也可以达到自动控制的目的,但是利用FC块和FB块会使程序看上去简洁明了,结构清晰,所以请多调用。

  • 二、再来看搬砖的工人 函数FC块

函数FC块就是用户编写的程序块,是不带存储器的代码块,打个比方,把编程当成做菜,编程者在FC块中将所有的食材和调料都准备好了,切丝的切丝,切块的切块,所有功能都已按照预先的菜谱写好了,但是FC块并没有煤气灶,无法加热这份准备好的食材,需要OB块给他一个加热食物的地方,这就是OB块调用了FC块,给他提供了能量,这下FC块就可以将这道菜做出来,来实现编程者的想法。

FC块中所有的变量和数值,都是无法存储的,在没东西给FC块写数据之前,这些变量都是没有数值的,他就是一个平凡的操作工,只要他被OB块调用,就会把自己内部的程序激活,开始产生一些效果。

如下图,如果FC4被调用,程序段1就会被激活,如果此时“变量1”满足条件的话,就可以使“线圈2”触发,这是一个最简单的程序模型,当1被触发时,触发2.

FC块最简单的程序
  • 三、包工头 函数块(FB块)

顾名思义,FB块是比FC块高级一点的存在,函数块(FB)属于编程者可以自己编程的块。函数块是一种自带内存的块。传送到FB的参数和静态变量保存在实例DB中。临时变量则保存在 本地数据堆栈中。执行完FB时,不会丢失DB中保存的数据。但执行完FB时,会丢失保存本地数据堆栈中的数据。

FB块可以视为单独一个功能模块,可以独立完成编程者的想要的功能, 当然FC块也可以完成相同的功能,只是每个人喜欢用的编程习惯不同而已,只要能达到目的就可以了~

FB块中程序的变量可以使用自己的背景数据

只是FB块也不能独立自己动作,也还是需要OB块进行调用的,FB块被OB块调用后显示的和FC显示的有差别,可以直接在上面更改参数进行控制FB块的程序运行。如下图。

在主程序OB1中被调用的FB块
  • 四、仓库主管 数据块(DB块)

数据块用于存储用户数据及程序中间变量。新建数据块时,默认状态是优化的存储方式,且数据块中存储的变量是非保持的。

我们常用的数据块会把“优化的块”选项点掉,在程序中我们要用到各种变量,这些变量你要先在DB块中进行创建,创建完成后就可以在编程时,进行使用。当然变量也有很多不同的类型,有bool,real,int,word之类的,根据编程者的需求进行创建。

每个变量会对应DB块中的一个地址,每个DB块自身都会有个编号,比如DB8,表示是第8个被创建的DB块,内部的变量地址从0.0开始,然后DB块的编号和变量的地址组合起来就是这个变量在程序中的名字。比如“变量1”的地址就为:DB8.DBX0.0,在编程中只要输入DB8.DBX0.0就可以将变量1进行使用,十分方便。

DB块中的变量
  • 最后,我们的博途程序就是靠这四种块来拼接而成的,OB块调用FC或者FB块来运行功能,DB块负责将需要使用的变量提供给FB或FC块,使程序达到某种编程者想要的效果。

  • 这篇只是一些皮毛,写的也比较仓促,希望大佬们能多多指教。

(0)

相关推荐

  • PLC初学者不知道什么是FC、FB、OB、DB块,一定要明白

    最近经常有初学西门子PLC编程的朋友,对于FC.FB.OB.DB块特别迷茫,一开始的时候可能很多人都会遇到类似的问题 一. 组织块,组织块是操作系统和用户程序之间的接口.OB 用于执行具体的程序,我们 ...

  • 西门子PLC编程中FB与FC的区别

    FB是功能块,带有背景数据块  FC是功能,或者说函数.FB,FC块都是子程序,它们都可以调用其它FB,FC块,也可以被OB,FB,FC块调用. FB使用背景数据块作为存储区,FC没有独立的存储区,可 ...

  • SCL与STL的区别是什么?16个SCL常见问题及解答

        SCL  与 与 STL : S7-SCL 可以编译成 STL, 虽然其代码量相对于 STL 编程有所增加,但我们更关心的是程序结构和程序的总体效率.类似于计算机行业的发展,汇编语言已经被舍弃 ...

  • SCL语言基本语法规则:变量、地址、寻址

    使用SCL语言编程方法简介 SCL语言基本语法规则:表达式 第一个SCL程序 关于SCL编程今天跟大家聊点基础知识: 变量与常量 地址与符号 寻址方式 以上是PLC技术学习的基础知识,但凡懂一点PLC ...

  • UC头条:OEM嵌入式通讯模块与西门子PLC S7

    UC头条:OEM嵌入式通讯模块与西门子PLC S7

  • 西门子PLC编程入门:S7

    SIMATIC S7-1200紧湊型控制器是一款节省空间的模块化控制器,适合要求简单或高级逻辑.HMI和网络功能的小型自动化系统.S7-1200设计紧凑.成本低廉且功能强大,是控制小型应用的完美解决方 ...

  • 【西门子PLC编程实例】S7

    在这里工程师设计了一个简单的工程项目, 逐步介绍, 让大家对TIA Portal V12和S7-1500如何实施一个项目可以一目了然 .[下图为此文的框架结构] 项目概述对于一个全新的PLC产品,如何 ...

  • 西门子PLC编程经典实例

    一.小车往返运动 用S7-200实现小车往返的自动控制 ,控制过程为按下启动按钮 ,小车从左边往右边(右边往左边运动) 当运动到右边(左边)碰到右边(左边)的行程开关后 小车自动做返回运动,当碰到另一 ...

  • 西门子PLC编程接线图详解及梯形图程序实例

    一.电动机顺序启动.顺序停止控制(I/O分配表.PLC接线图.梯形图程序) 二.电动机的顺序启动.同时停止(I/O分配表.PLC接线图.梯形图程序) 三.电动机的顺序启动.逆序停止(I/O分配表.PL ...

  • 西门子PLC第三大坑,最近剖析了西门子两...

    西门子PLC第三大坑,最近剖析了西门子两大坑,引起了许多网友的反响,然而这些坑仍然在继续存在在300/400 和 S71200/1500中. 对于那些没有经过九九八十一难的读者来说,还是需要继续前赴后 ...

  • 西门子PLC编程应用实例:简易机械手的PLC控制

    蓝字   '电气达人"  今天,小编给大家介绍一个西门子PLC入门级应用实例,简易机械手的控制. 下面进入正题: 如上图所示,M1为控制机械手左右移动的电动机,M2为控制机械手上下升降的电动 ...

  • 西门子PLC与变频器的模拟量干扰处理实例

    技成PLC课堂 从0到1,带你学习PLC技能! 79篇原创内容 公众号 01 实例一 现象说明: 西门子PLC中AO点发出一路4-20mA电流控制信号,输出至西门子变频器,无法控制变频器启动. 故障查 ...

  • 西门子PLC系列1215C与触摸屏创建配方设置实例

    关于启程 启程自动化成立于2012年,培训项目主打西门子PLC编程系统集成.工业机器人编程.EPLAN电气设计.视觉等培训与技术服务的机构.推荐高薪就业,越努力越辛运 针对同一设备平台生产不同产品型号 ...