很多从日系PLC或者200PLC过来的人,很不习惯于S7 1200 或者TIAPORTAL里面的一些专业术语,比如OB,DB,FC,FB等等,其实这些术语也包含于S7 300,400 ,1500等。
今天讲解的内容,理论上也适应于这些PLC,我没有玩过这些东西,TIAPORTAL适合于西门子全系列PLC,很多概念性的东西都是一致的。
S7 1200的功能强大正式基于拥有各种类型的block和多种变量类型。
S7 1200 由以下几类基本元素组成:
OB:组织块,英文名Organizationblock。组织块是CPU系统和用户程序之间的接口,可以在CPU上电启动时调用,也可以循环调用,也可以在PLC发生错误时候调用。
DB:数据块,英文名Datablock。从字面含义便知主要用于储存用户数据,比如模拟量转换数据,相当于200里面的V区,欧姆龙PLC的W区。
FC:函数,英文名Function。我们常常在FC函数中写一些需要重复执行的代码,可以在程序不同地方调用,可以被OB调用,也可以被FC调用。使用FC可以简化我们需要重复执行的任务,提高代码的运行效率。FC类似于200的子程序。
FB:FC+DB组合,意思是含有DB块的FC函数,与FC的区别是当函数调用结束后,通过Static变量仍然可以保留数值,经常用于调用间的数据共享。
OB组织块
当我们新建一个程序时,系统会自动建立一个Main[OB1]程序,该程序会在PLC的每个扫描周期被调用。Main程序和200里面的主程序,是一个同样的概念。也类似于C里面的Main,即为函数入口点,我们可以在Main程序里面调用各种函数和块。
下面的图是在程序中调用一个FC和FB,在FC中调用一个FC,形成嵌套调用。
注:
图1 Main程序
图2 Main调用结构
图1显示了Main程序具体内容,图2显示了Main程序的调用结构。图中很多元素的概念,我们暂时不需要了解,可以看到一些整体概念,Mian程序包含程序段1(NW1)和程序段2(NW2),在Main的调用结构中包含了3个元素test、调用FB和调用FC。
其实应该是4个,还有一个嵌套在
图3 FC嵌套调用
图4 OB分类