首页 历史故事模块化编程的应用与优势

模块化编程的应用与优势

【摘要】:模块化编程中OB1起着主程序的作用,功能或功能块控制着不同的过程任务,相当于主循环程序的子程序。这是典型的启保停电路,采用模块化编程的思想,分别在FC1和FC2中编写控制程序如图6-35a和图6-35b所示,图6-35c为在主程序OB1中进行FC1和FC2的调用。由图6-35可以看出,电动机1的控制电路FC1和电动机2的控制电路FC2形式上是完全一样的,只是具体的地址不同,可以编写一个通用的程序分别赋给电动机1和电动机2的相应地址即可。

模块化编程中OB1起着主程序的作用,功能(FC)或功能块(FB)控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。本节以两个实例说明模块化编程的思路。

【例6-2】有两台电动机,控制模式是相同的:按下启动按钮(电动机1对应I0.0,电动机2对应I0.2),电动机启动运行(电动机1对应Q0.0,电动机2对应Q0.1),按下停止按钮(电动机1对应I0.1,电动机2对应I0.3),电动机停止运行。

这是典型的启保停电路,采用模块化编程的思想,分别在FC1和FC2中编写控制程序如图6-35a和图6-35b所示,图6-35c为在主程序OB1中进行FC1和FC2的调用。

由图6-35可以看出,电动机1的控制电路FC1和电动机2的控制电路FC2形式上是完全一样的,只是具体的地址不同,可以编写一个通用的程序分别赋给电动机1和电动机2的相应地址即可。

【例6-3】采用模块化编程思想实现公式:978-7-111-34922-8-Chapter06-39.jpg

假设a为整数,存放于MW0,b为整数,存放在MW2中,c为实数,存放于MD4,建立DB3及相应的存储区域。

在FC3中编写程序如图6-36a所示,图6-36b为在主程序OB1中调用FC3。

978-7-111-34922-8-Chapter06-40.jpg

图6-35 电动机控制的模块化编程例子

978-7-111-34922-8-Chapter06-41.jpg

图6-36 模块化编程例子

由图6-36可以看出,尽管程序的最终目的是获得平方根而不在乎a的平方、b的平方及平方和的值,但是仍然需要填写全局地址来存储相应的中间结果,这极大地浪费了全局地址的使用。这种情况下,可以使用临时变量。下面以前面计算平方根为例来说明临时变量的使用。