PLC模块化编程和结构化编程


摘要

概述模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。  模块化程序的执行 模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。  模块化编程实例 模块化编程实例1-液位监视•监视一个慢变的过程不需要每次扫描都进行。如果过程每隔一定时间或根据需要进行处理,程序将更有效。•在OB1循环扫描处理时,可以按照一定的周期对液位进行监视。设计方法:•确定液位监视的组成部分和它们的关系;•设计完成所要求控制任务的功能;•规划从OB中调用块完成功能的程序执行过程;•对程序块的每个段加上文字注释和标题。解决方案:•建立一个功能FC,可以监视和控制任务;•建立一个OB,其中每隔一定时间调用块 (功能)。  模块化编程实例2有两台电动机,控制模式是相同的,按下启动按钮(电动机1为I0.0,电动机2为I1.0),电动机起动运行(电动机1为Q4.0,电动机2为Q4.1);按下停止按钮(电动机1为I0.1,电动机2为I1.1),电动机停止运行。分析: 这是典型的起保停电路,采用模块化编程的思想,分别在FC1和FC2中编写电机的控制程序,在主程序OB1中进行FC1和FC2的调用。   结构化编程1、将复杂的任务分解成一些能够反映过程的工艺、功能或可以反复使用的单独解决的小任务,这些任务由相应的程序块来表示;2、某些程序块可以用来实现相同或相似的功能;3、调用者可以是各种逻辑块,包括用户编写的OB、FB、FC和系统提供的SFB与SFC;4、被调用的块是OB之外的逻辑块;5、通用的数据和代码可以共享。  结构化编程的优点:1、各单个任务块的创建和测试可以相互独立地进行;2、通过使用参数,可将块设计得十分灵活;3、块可以根据需要在不同的地方以不同的参数数据记录进行调用;4、在预先设计的库中,能够提供用于特殊任务的“可重用”块。 结构化编程实例-油漆调制1、选择产品添加剂,需要决定哪个罐的成分要加到混合罐内。2、在选择开关的选择基础上,组织块调用相应的程序块,分配当前的参数,控制混合罐的流入量。 设计方法:1、确定哪些部件和操作可以应用于所有的罐和相关的控制;2、建立功能或功能块,完成所要求的控制;3、建立块的变量定义表,以便于对要操作的罐和控制进行地址分配;4、设计一个程序来根据选择开关调用功能或功能块。解决方案:1、建立一个功能块或功能控制罐的流出量;2、为相关的块建立变量定义表;3、建立一个OB块来根据选择开关调用功能或功能块。

概述

模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。

 

 

模块化程序的执行

 

模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。

 

 

模块化编程实例

 

模块化编程实例1 - 液位监视

• 监视一个慢变的过程不需要每次扫描都进行。如果过程每隔一定时间或根据需要进行处理,程序将更有效。• 在OB1循环扫描处理时,可以按照一定的周期对液位进行监视。

设计方法:

• 确定液位监视的组成部分和它们的关系;

• 设计完成所要求控制任务的功能;

• 规划从OB中调用块完成功能的程序执行

过程;

• 对程序块的每个段加上文字注释和标题。

解决方案:

• 建立一个功能FC,可以监视和控制任务;

• 建立一个OB,其中每隔一定时间调用块

 

(功能)。

 

 

模块化编程实例2

有两台电动机,控制模式是相同的,按下启动按钮(电动机1为I0.0,电动机2为I1.0),电动机起动运行(电动机1为Q4.0,电动机2为Q4.1);按下停止按钮(电动机1为I0.1,电动机2为I1.1),电动机停止运行。

分析:

 

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

 

 

 

结构化编程

1、将复杂的任务分解成一些能够反映过程的工艺、功能或可以反复使用的单独解决的小任务,这些任务由相应的程序块来表示;

2、某些程序块可以用来实现相同或相似的功能;

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

4、被调用的块是OB之外的逻辑块;

5、通用的数据和代码可以共享。

 
 

结构化编程的优点:

1、各单个任务块的创建和测试可以相互独立地进行;

2、通过使用参数,可将块设计得十分灵活;

3、块可以根据需要在不同的地方以不同的参数数据记录进行调用;

4、在预先设计的库中,能够提供用于特殊任务的“可重用”块。

 

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

1、选择产品添加剂,需要决定哪个罐的成分要加到混合罐内。

2、在选择开关的选择基础上,组织块调用相应的程序块,分配当前的参数,控制混合罐的流入量。

 

设计方法:

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

2、建立功能或功能块,完成所要求的控制;

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

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

解决方案:

1、建立一个功能块或功能控制罐的流出量;

2、为相关的块建立变量定义表;

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

 

关键词:

相关资讯


2023年西克总经理新年致辞

暖阳迎春,兔年将至。一元复始,万象更新。时间的脚步快速稳健,新年的钟声清朗高昂,在这辞旧迎新的时刻,让我们一起复盘2022,开启2023。

2023-03-03

PLC控制柜设计原理电装布局、接线图和原理图

1.按图接线,这条说是最高准则也不为过。首先,在接线之前就必须先仔细阅读图纸,充分领会设计者的意图,而不是根据个人所谓丰富经验接线,如果发现不明之处或者矛盾之处应该第一时间与设计师联系确认,直到无误后,接线施工。

2022-11-14

 | 重新定义PLC?一个PLC产品经理的理想主义

作为工业自动化领域应用最广的产品之一,纵观PLC的发展历史,自取代继电器控制起步以来,PLC历经了数代变革。

2021-09-13