【干货】一文让你搞懂PLC模块化编程和结构化编程

【干货】一文让你搞懂PLC模块化编程和结构化编程
最新回答
寂寞在蔓延

2022-03-28 00:37:23

【干货】一文让你搞懂PLC模块化编程和结构化编程

PLC(可编程逻辑控制器)编程中,模块化编程和结构化编程是两种重要的编程方法,它们各自具有独特的特点和优势。本文将详细介绍这两种编程方法,并通过实例加以说明。

一、模块化编程

模块化编程是一种将复杂程序划分为多个独立模块(或称为块)的方法,每个模块负责完成特定的功能或任务。在PLC编程中,模块化编程通常涉及OB(组织块)、FC(功能)和FB(功能块)等概念。

  1. OB的作用

    OB1起着主程序的作用,是PLC程序执行的起点。

    在OB1中,可以调用其他模块(如FC或FB)来完成特定的任务。

  2. FC和FB的区别

    FC(Function,功能):用于执行特定的操作或计算,不保存自身的数据状态。

    FB(Function Block,功能块):除了执行操作外,还可以保存自身的数据状态,类似于一个带有存储功能的小程序。

  3. 模块化编程的特点

    被调用块不向调用块返回数据(但可以通过全局变量或输入输出参数进行数据传输)。

    模块化编程提高了程序的可读性和可维护性,因为每个模块都相对独立,易于理解和修改。

模块化编程实例

  • 实例1:液位监视

    监视一个慢变得过程不需要每次扫描都进行。如果过程每隔一定时间或根据需要进行处理,程序将更有效。

    在OB1循环扫描处理时,可以按照一定的周期对液位进行监视。

    解决方案:建立一个功能FC,用于监视和控制任务;在OB中每隔一定时间调用该功能块。

  • 实例2:电动机控制

    有两台电动机,控制模式是相同的。按下启动按钮,电动机起动运行;按下停止按钮,电动机停止运行。

    分析:这是典型的起保停电路,采用模块化编程的思想,分别在FC1和FC2中编写电机的控制程序,在主程序空羡雀OB1中进行FC1和FC2的调用。

二、结构化编程

结构化编程是一种将复杂任务分解为多个小任务的方法,每个小任务由相应的程序块来表示。这些程序块可以独立创建、测试和重用,从而提高了编程效率和代码质量。

  1. 结构化编程的特点

    将复杂的任务分解成能够反映过程的工艺、功能或可以反复使用的单独解决的小任务。

    某些程序块可以用来实现相同或相似的功能,提高了代码的重用性。

    调用者可以是各种逻辑块,包括用户编写的OB、FB、FC和系统提供的SFB与SFC。

    被调用的块是OB之外的逻辑块,可以共享通用的数据和代码。

  2. 结构化编程的优点

    各单个任务块的创建和测试可以相互独立地进行,降低了程序的复杂性。

    通过使用参数,可将块设计得十分灵活,能够适应不同的应用场景。

    块可以根据需要在不同的地方以不同的派岩参数数据记录进行调用,提高了代码的复用性。

    在预先设计的库中,能够提供用于特殊任务的“可重用”块,进一步提高了编程效率。

结构化编程实例:油漆调制

  • 任务描述:选择产品添加剂,决定哪个罐的成分要加到混合罐内。在选择开关的基础上,组织块调用相应的程序块,分配当前的参数,控制混合罐的流入量。

  • 设计方法

    确定哪些部件和操作可以应用于所有的罐和相关的控制。

    建立功能或功能块,完成所要求的控制。

    建立块的变量定义表,以便于对要操作的罐和控斗早制进行地址分配。

    设计一个程序来根据选择开关调用功能或功能块。

  • 解决方案

    建立一个功能块或功能控制罐的流出量。

    为相关的块建立变量定义表。

    建立一个OB块来根据选择开关调用功能或功能块。

总结

模块化编程和结构化编程都是PLC编程中重要的方法。模块化编程通过将程序划分为多个独立模块来提高程序的可读性和可维护性;而结构化编程则通过将复杂任务分解为多个小任务来提高编程效率和代码质量。在实际应用中,可以根据具体需求选择合适的编程方法或结合使用两种方法来实现更高效的PLC编程。