西门子TIA博途编程的应用与研究

(整期优先)网络出版时间:2022-04-21
/ 2

西门子 TIA博途编程的应用与研究

刘跃章

广西电力职业技术学院 广西 南宁 530000

摘要:TIA博途系列是西门子PLC编程与工程管理的一个自动化应用平台, 实现了Step 7、WinCC 软件等功能,将自动化组态设计工具如设备与网络组态、编程、仿真、调试、可视化等功能模块整合到统一的开发环境中,这种高效的编程组态方式在未来的工程发展中发挥更大的作用。因此,TIA博途系列在控制工程中拥有很好的发展前景。本文通过对西门子TIA博途V16工程软件平台的核心应用——PLC编程功能进行应用介绍与研究,分析TIA博途V16软件平台PLC编程技术的特点与技巧,提高工程设计及应用过程中的快捷性和稳定性。

关键词:西门子,TIA博途V16,PLC,编程

前言:TIA博途系列在工业生产中广泛应用,主要用于S7-300、S7-400、S7-1200、S7-1500等系列PLC的编程组态。虽然TIA博途系列软件平台比S7-200PLC的一般单纯LAD控制逻辑编程复杂,但如果能熟练应用TIA博途软件平台特别是编程技术中的FB、DB等模块,将会为工程带来极大的便利,大大缩短工程的开发时间,使整体程序分析起来更流程化与简单化,在一些中、大型的控制程序开发工程中这一优点表现得特别明显。因此本文对西门子TIA博途系列软件平台PLC编程技术进行分析、探讨与研究,更好地推动PLC编程技术在自动控制领域的应用。

一、编程功能块的介绍与分析

一般打开博途软件新建或选择相应项目、组态设备、定义变量后,即可进行PLC编程。PLC编程在相应的CUP目录下进行,集中在程序块内进行编程。点击“添加新块”,有OB组织块、FB函数块、FC函数、DB数据块四个模块(如图1),这是PLC博途软件编程的核心内容,下面分别对这四个模块进行介绍与分析。

1OB组织块

OB组织块是英文Organization block的缩写,组织块是CPU系统和用户程序之间的接口。OB组织块是PLC编程底层语言,有一些OB组织块是PLC程序工作的必要先决条件,如OB1循环调用指令,如果程序不调用OB1,我们编写的程序只会扫描一次之后就会停止了,这将无法正常工作。所以我们在编写程序时,必须在OB1中调用或编写,或利用中断指令OB32。在西门子编程中还有许多其它不同功能的OB组织块,这里不一一列举,用户可以根据自己的需求查询手册并进行调用。

2FB函数块

FB函数功能块,就是把应用程序模块化进行封装,供用户需要时进行调用,从而避免编写相同控制功能的程序,为编程提供极大的便利。FB功能块是由单独的背景数据块做支撑的,也就是说对相同控制逻辑的不同设备进行编程时,可以调用同一个FB块但必须要有不同的背景数据,否则将会造成数据块数据的混乱。在西门子编程中,FB功能块有两种,一种是系统定义好的功能块,一种是用户自定义功能块。

(1)系统功能块

系统定义好的功能块,它是西门子工程师把一些常用的、不常用的程序编写封装好的,用户只管拿来用,不可以修改,如加计数器CTU等。

(2)用户功能块

用户自定义的功能块,是用户根据自己的控制工艺需要来编写、定义引脚封装的,引脚的多少和功能都是需要自己定义。

3FC函数

FC函数功能块,没有自己独立的背景数据块。FC与FB的应用基本是一致的,但FC由于没有自己独立的背景数据块,因此一般需要定义不同的FC块进行分别使用。

FC也是分为系统功能与用户自定义功能,它与FB应用方法基本相同,不同的是FB运行过程的数据,都可以在DB块中保存下来,直到下一次运算,被新的数据覆盖,而FC是不具备背景DB块保存数据。

4DB数据块

DB数据块用来存储设备及生产线变量的数据,数据块用于实现各逻辑块之间的数据交换、数据传递和共享数据,相当于存储、转运数据。DB数据块分为共享(全局)数据块和背景数据块。

(1)共享(全局)数据块,用于存储PLC的全局数据,所有的FB、FC或OB都可以对共享(全局)数据块进行读写操作。

(2)背景数据块,用于传递功能块的参数,只能被指定的功能块FB访问,

调用功能块FB时,必须同时指定用于该功能块的背景数据块。

背景数据块与共享(全局)数据块的区别在于,在背景数据块中不可以增加或删除变量,在共享(全局)数据块中可增加或删除变量。

二、编程功能块的应用与研究

那么OB、FB、FC、DB功能块在编程时具体是怎样使用的呢?下面结合例子进行说明。

  1. OB块的应用

正如前面介绍所述,OB组织块是PLC程序工作的必要先决条件,如OB1循环调用指令,一般情况下是不可或缺的功能块,用户可以在OB1组织块进行编程或调用子程序(如图2)。用户可根据需要添加相应的OB组织块。

6260d28485390_html_c925d72ca012160e.png
6260d28485390_html_a52c91014ed9e0c2.png
1:PLC编程的四大功能块 图2:OB组织块的应用

2FB的应用

FB功能块一般应用在大型、复杂控制系统中,能够实现重复的相同控制逻辑或各独立编程系统间相互调用等。比如,某一生产工艺使用了相同控制逻辑的电动机,少则十几台,多则上百台,编程时就可以建立一个控制逻辑FB功能块,每一台电机控制都调用该FB块(如图3),就会执行一样的控制逻辑,却不会受到其它电机的影响。但前提是每一台调用该FB功能块的电机都必须有自己独立的DB背景数据,如此该电机的相关控制数据存入对应的DB背景数据中,而不会产生电机之间互相干扰的问题。这样就避免了每一台电机控制都要独立编辑自己的控制逻辑程序了。DB背景数据块配合FB功能块使用主要有二种方法:

(1)调用控制逻辑FB功能块的每一台电电机独立生成对应独立的背景数据块。如图4、图5,每一台电机在OB块里调用FB1逻辑块,三台电机数据分别对应DB1-DB3背景数据块。

(2)每台电机集中在FB2块中调用控制逻辑FB1功能块,再在FB2功能块中分别选用添加每台电机的数据并最后生成一个总的DB数据块。如图6,在集中调用功能FB2块的接口数据类型均来自控制逻辑FB1及FB3块,数据接口名称由用户命名。之后再生成对应FB2块的总背景数据块DB1,每一台电机或其它设备在FB2块里调用FB1或FB3逻辑块,设备数据分别对应DB1背景数据块static里相应的名称。

6260d28485390_html_bb6a5de11c63513c.png
6260d28485390_html_b85132fe1969481.png
图3:底层控制逻辑FB块 图4:在OB块中调用FB1块

6260d28485390_html_ae77acf3867c00d2.png
6260d28485390_html_cf4a8be80a44849f.png
5:多设备调用FB1块并生成独立背景数据块 图6:多设备分别使用总背景数据块DB1中对应的数据

3FC的应用

FC的应用就比FB要简化一些,用户可以把程序封在FC块里,可以灵活调用,它是不可以重复调用的。它的功能与FB有很多的相同之处(如图7)。我们可以理解FC是一个子程序,我们想用的是时候就调用它,不用的时候就不调用它(如图8)。

FC功能块是不带“记忆”的逻辑块。所谓不带“记忆”表示没有背景数据块。当完成操作后,数据不能保持。这些数据为临时变量,对于那些需要保存的数据只能通过共享(全局)数据块来存储。

FC或FB块中相关定义如input、output、inout、static、temp、constant等含义可查询相关手册,些处不再叙述。在FB块中涉及到调用其它逻辑功能块(包括系统已有固定功能块)数据的一般在static中添加或生成。

6260d28485390_html_5afb6c2d9c0745d5.png
6260d28485390_html_8d83e2d1a6f844.png
7:底层控制逻辑FC块 图8:调用FC子程序块

4DB的应用

DB块是保存过程数据的,可读可写。背景数据块与FB同时使用,在调用FB时,会自动按照FB形参的数据类型自动生成。DB数据块具有断电保存功能,把数据写入DB数据块之后,即使PLC掉电了,DB数据块中的数据也不会丢失,直到数据被其它覆盖才会改变。我们在编程时根据需求生成相应的数据块,比如全局数据块或背景数据块,独立对应数据块(如图9)或集中数据块(如图10)。

6260d28485390_html_3836c4870ecd824f.png
6260d28485390_html_eedd9d3f2d0dc3a7.png
图9:各个设备单独生成的对应DB块 图10:多个设备集中生成的DB数据块

结束语:PLC编程技术对自动控制非常重要,在编程过程中除了以上所述内容之外,还有许多知识点需要注意。但OB、FB、FC、DB功能块是博途软件编程技术的核心内容,无论是PLC编程还是程序分析、系统维护等工作都离不开这四大功能模块,只有领会了这些内容,才能算是掌握了PLC组态、编程技术。最后,由于篇幅有限,本文有许多细节未能表述,需要在操作过程中进一步加强领会。

参考文献:

[1]王华忠.工业控制系统及应用-PLC与人机界面.机械工业出版社.

[2]郑海生.西门子PLC编程及其工程应用[J].科学技术创新,2018,(04).

[3]王子宝.TIA技术在工业自动化中的应用[J].中国高新技术企业,2010(22).

Shape1

1