您现在的位置是:首页 > PLC技术 > PLC技术
PLC的程序组织
来源:艾特贸易2018-04-21
简介程序组织决定了 CPU 是否处理或用何种顺序处理用户构造的块。在高级块中以要求的次序编辑块调用来构建用户程序。用户应该选择块的调用次序,这样能够反映出该控制系统是按过程
程序组织决定了CPU是否处理或用何种顺序处理用户构造的块。在高级块中以要求的次序编辑块调用来构建用户程序。用户应该选择块的调用次序,这样能够反映出该控制系统是按过程划分还是按功能划分的。
1.嵌套深度
优先级的最大嵌套深度(对于在一个组织块中的程序)是由CPU决定的。比如,CPU 314,最大嵌套深度是8。开始的OB块,作为第一层嵌套,用户可以在块中“水平”方向上依次增加7个块(这就叫做“嵌套”)。如果嵌套次数超过8个,就会出现“Block overflow”(“块溢出”)错误,运行终止。在程序中计算嵌套深度时不要忘记将系统块SFB和系统功能SFC计算在内。
数据块调用只是用来打开或选择数据域,不会对块的嵌套深度产生影响。同样地,对几个块的连续调用(线性块调用)也不会对嵌套深度产生影响。
2.实际应用的程序组织
在组织块OB 1中,用户应该在主程序中调用块来大致决定主程序的结构。程序结构可以按过程划分或按功能划分。
下面艾特贸易小编的几点讨论将会给初学者一个总体的认识,即如何在程序组织中实现控制任务。高级编程人员一般有足够的经验来轻松地根据实际控制任务组织程序。
按过程划分的程序结构几乎都是按控制过程来设计的。各个程序段根据各个项目任务或要控制的过程来编写。下一步就是考虑对有限开关量、控制面板、执行器的控制和显示设备等不同控制部位的扫描控制(在项目的不同部分)。在不同控制部位的内部数据交换采用位存储器和全局数据进行。
按功能划分的程序结构是根据要执行的控制功能来设计的。最初,这种程序结构设计根本没有考虑受控对象。控制项目首先按功能分解,在子块中才初次体现控制项目的要求。
在实际应用中,通常结合这两种设计概念。如图20-1所示,运行模式程序和数据处理程序中体现了功能结构,这些远离了控制设备本身的要求。程序段如给料传送带1、给料传送带2、处理和分断传送带等,都是按过程划分的程序结构。
该例也给出了对不同块的使用情况。主程序在OB 1里。在这段程序里,各种运行方式、各个控制设备和各种数据处理等的块被调用。这些块是带有作为数据存储的实例数据块的功能块。给料传送带1和给料传送带2结构相同用DB 20作为传送带1的实例数据块,DB 21作为传送带2的实例数据块的FB 20用于控制。
图20-1 程序结构化实例
在传送带控制程序中,功能FC20用于处理闭锁;它扫描输入或存储位,并控制FB 20的局部数据。在功能块FB 101中有传送带的控制程序,并在每条传送带的程序运行的时候调用。该调用是局部实例,在实例数据块DB 20中存储该局部数据。FB 29中的数据获得过程同样如此。
用配有DB 50的FB 50的数据处理程序对由位于全局数据块DB 60里的FB 29(以及其他块)获取来的数据进行处理。功能FC 51为数据的传送作准备,传送由FB 51(配有DB 51)控制。在FC 51中,要调用系统块SFB 8、SFB 9和SFB 62。同样,这些系统块也把它们的实例数据存储在DB 51中。
(作者稿费要求:需要高清无水印文章的读者3元每篇,请联系客服,谢谢!在线客服:)
点击排行
