技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 智能制造 > 软件模块化设计案例分析

软件模块化设计案例分析

刘路路 发布于2022-11-24 18:41 3 2 标签:模块化设计

  1. 高内聚、低耦合

  以管材挤出生产线为例,从功能视角,按高内聚、低耦合原则对控制软件进行模块化设计。

  (1)挤出机软件模块完成的功能

  温度控制、主机控制、熔体压力、挤出机逻辑、用户管理、配方管理、趋势曲线、故障处理、EuroMap27、长度统计、屏幕校正等。

  (2)牵引机软件模块完成的功能

  牵引驱动控制、牵引逻辑、用户管理、故障处理、EuroMap27、长度统计、屏幕校正等。

  (3)切割机软件模块完成的功能

  切割驱动控制、切割逻辑、用户管理、故障处理、EuroMap27、切割统计、屏幕校正等。对管材挤出生产线的三个子装备(挤出机/牵引机/切割机),由于用户管理、故障处理、屏幕校正的需求是一样的,因此只需要一次设计后为多模块共用。由于长度统计在牵引机和挤出机中的大部分需求一致,因此只需要综合两者需求进行一次性开发。模块化设计使得这些开发的代码实现重用,提高了开发效率。管材挤出生产线的软件模块化结构设计如图4.11所示,图示表明挤出机、牵引机、切割机的软件模块的结构划分与功能实现,这种设计明显提高了代码重用率。


管材挤出生产线的软件模块化结构设计


  2.分层式设计

  软件分层式结构的优势如下总额

  1)个体开发人员可以只关注整个结构中的某一层。

  2)可以很容易地用新的实现来替换原有层次的实现。

  3)可以降低层与层之间的依赖。

  4)有利于标准化。整点

  5)有利于各层逻辑的复用。

  概括来说,分层式设计的目的是分散关注、松散耦合、逻辑复用、标准定义。

  一个好的软件分层式结构,可以使开发人员的分工更加明确。一旦定义好各层次之间的接口,负责不同逻辑设计的开发人员就可以分散关注,齐头并进。每个开发人员的任务得到了确认,开发进度就可以迅速地提高。

  如果一个系统没有分层,各个模块(子系统)的逻辑都紧紧纠缠在一起,彼此间相互依赖,谁都是不可替换的。一旦发生改变,则牵一发而动全身,对项目的影响极为严重。降低层与层间的依赖性,既可以良好地保证未来的可扩展性,在复用性上也优势明显。每个功能模块一旦定义好统一的接口,就可以被各个模块所调用,而不用为相同的功能进行重复地开发,因此松散耦合带来的好处是显著的。

  以管材挤出生产线常用的主机控制为例,挤出机主机的控制软件按四层共四个模块来设计。管材挤出生产线主机控制软件分层模块化结构如图4.12所示。


管材挤出生产线主机控制软件分层模块化结构


  图4.12 管材挤出生产线主机控制软件分层模块化结构

  分层式设计可以灵活应对各种需求,而无须修改其他层的模块。假如某厂商的挤出机不用RS422,改用CAN总线来与LENZE驱动器通信,我们只需要修改LENZE_DRV通信协议部分,无需对LENZE_APP、主画面、人机界面部分修改。又比如,某厂商将LENZE驱动器用在塑钢门窗焊接上,需要使用LENZE驱动器的定位功能,只需要对LENZE_APP、MAIN、人机界面修改,无须修改LENZE_DRV协议实现部分。

  模块化软件编程的分层操作要点是,每一层直接对下一层操作,尽量避免交叉调用或越级调用,这样的软件架构更易于维护、扩展。

  当然,分层式结构也不可避免具有一些缺陷∶

  1)降低了系统的性能。这是因为如果不采用分层式结构,很多业务可以直接访问数据库,以此获取相应的数据,如今却必须通过中间层来完成。

  2)有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

模块化设计

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签