0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于类别化与模块化设计模式的解释

aIpM_gongkongwo 来源:未知 作者:李倩 2018-09-06 10:21 次阅读

下面就是关于类别化与模块化设计模式的解释,希望这份文章能给正在设计中的你带来一些启发!

之一:类别化与模块化

目前,电气图纸设计分为两大类:类别化绘图方式和模块化绘图方式,国内和日本传统设计方式常为类别化绘图方式,德国偏向于模块化绘图方式,下面就类别化和模块化设计进行阐述。

一、类别化与模块化

要想区分类别化和模块化,我们先通过类比的方式来寻找它们的优缺点,假设我们要在计算机上管理四个项目文件,这四个项目名称分别为项目1、项目2、项目3、项目4,每个项目需要提供图纸、程序、培训、资料四种类型的文件,如何管理这些文件呢?类别化的做法是按照文件的类别,创建四个文件夹,然后按照文件分类存储到这四个文件夹中去,结构如下:

上图是按类别进行管理的文件夹

模块化的做法是按照功能分类进行模块化的划分,这里以项目为功能模块,每个模块单元内包含它所需的完整息:图纸、程序、培训、资料,如下是它的结构样式:

上图是按功能进行管理的文件夹

二、类别化与模块化的比较

当项目或者模块较少时,我们可以看出采用类别化没有太大问题,而随着项目的增多,我们就会发现查找某个项目中的某类型文件会越来越困难。

通过对比,可以发现模块化相对于类别化有如下优点:

命名的优点,如上图,模块化只需要修改每个文件夹的名称(项目名称)即可,而类别化则需要进入文件夹修改每个文件的名称,以避免在一个文件夹下的文件重复。

编辑的优点,包括拷贝和删除,比如我们需要新增第五个项目:项目5,按照类别化的方式,我们需要在每个文件夹下去拷贝,然后重命名,而采用模块化的方式,找到最类似的项目文件,拷贝整个文件夹,然后重命名即可,同理,删除一个项目,模块化的方式也更方便。

信息查阅的便利性,采用模块化的方式,若查看某个项目的信息,直接进入文件夹,即可看到与此项目相关的信息,而类别化的方式,则需要进入各个分类文件夹才能查看到此项目的全部信息。

我们在实际图纸设计中,可以预先对项目电气部件的数量、种类、用途等等进行整理分析,根据项目的实际情况进行合理的选择。

对于较小的项目:可以采用类别化绘图方式,这样绘图、柜体成套、查阅图纸等都相对快速和方便。

对于较大或功能复杂的项目:则推荐采用模块化绘图方式,可以大量的进行图纸复用以及团队成员按项目的不同子系统或模块分工设计,确保设计的进度和质量。

之二:模块化设计

之前我们分析了模块化的几个优点,电气图纸中模块化绘图方式相对于类别化的绘图方式,也有这些优点。

类别化的绘图方式主要是讲电路按照电路特性进行分类,典型的就是电机的动力电路连续画在一起,然后所有与PLC的IO相关的电路按照IO点顺序连续画在一起,其结果就是命名和编辑都不方便,比如如果我们要添加一个电机控制电路,我们需要在动力电路部分去添加驱动,在PLC信号部分去添加反馈和输出控制,如果IO点未分配好,可能新增的IO点只能添加到最后,这样导致了IO使用的无规则性,造成了查阅图纸的困难。

模块化的绘图方式则是基于单元设备或者按照它实现的功能分类进行绘图,例如,风力发电机组的发电机水冷系统包含着冷却水泵/冷却风扇/电机保护开关反馈信号/温度测量等,我们把它们总的归纳为一个单元设备或者一个相对完备的功能单元,用连续的几页图纸把这个单元内的所有电路表示出来,以后再出现类似的设备,只需用做一个总的拷贝(类似于上面提到的文件夹拷贝),总的命名(类似于上面的项目文件夹命名),即完成了一个新设备的电路增加,同样删除设备电路也是一键完成。

但相对于类别化绘图方式,模块化绘图方式有一个缺点,那就是模块化绘图方式是基于功能模块绘制的电路,但控制柜排布时,元器件多少基于类别排布的(比如接触器排布在一起,电机保护开关排布在一起),这样就必须在图纸中多设置中断点来解决接线的就近便利性,但不能因为一个不算重要的确定而放弃模块化的大量优点。

之三:模块化设计特点

模块化做到了最大限度的与外界独立,但他还得与外界产生联系,中断点和PLC的IO就是用于和外界联想的,对于我们的电路而言,比如一个齿轮箱冷却水风扇驱动电路,我们在一页或者两页中画完了电机的驱动电路和控制电路,如下图所示:

上图中左侧为主电路,右侧为控制电路

从上面的这个图,我们可以总结出一个标准电路与外界联系主要有两类:中断点(电源分配),PLC的IO点,因此当我们添加一个标准电路需要修改的就是中断点和PLC的IO,如果中断点采用了标准化的命名,则改动的并不多,主要修改的就是PLC的IO,从上图中我们知道PLC的IO点采用的是分散式画法,这点不同于我们目前集中式绘制IO点,为了解决分散式IO画法在查阅IO时的便利性,我们可以引入PLC的IO地址预览,EPLAN可以自动生成IO预览,或者由人工将地址预览放置到原理图中,EPLAN自动完成交互关联,从IO地址预览中我们可以查看IO点在哪些地方被用到,也可以查阅哪些IO点还有空闲。

如下图所示:

在进行图纸设计时,我们可以总结各子系统或子功能电路中的共同点和差异部分,对于功能特征相同的电路,我们可以生成窗口宏或页宏,使图纸设计标准化,并使图纸设计更高效。

之四:积木化

模块化的另一个特点就是积木化,可以这样说,一个复杂的系统是由无数简单的模块化组件像搭积木似的构建而成,积木化不是简单的组合,而是要考虑更大范围的模块标准化,比如需要考虑模块A和模块B的组合是否能够建一个更大的标准模块C呢?上面我们提到的齿轮箱冷却风扇驱动电路,最基本的积木是电机驱动主电路、电机保护反馈与控制电路,将这两块组合在一起构成了一个设备标准功能模块C,当在另一个位置有类似的电机控制时,我们不是简单的拷贝基本的积木电路,而是拷贝整个设备标准功能模块C,这样就完成了更大范围的电路重用。

模块化电路是通过功能组来进行管理的,一个好的模块化电路不仅影响到电路本身,还会影响到后续编程的代码重用性,一个人对设备和标准的理解深度决定着他划分模块化电路的能力。

这里再举一例:假设一台风力发电机组的设备中包含着三套冷却系统:齿轮箱冷却系统S1、变流器冷却系统S2,发电机冷却系统S2,齿轮箱冷却系统包含着与之相关的冷却水泵PUMP1和冷却风扇FAN1,变流器冷却系统包含着与之相关的冷却水泵PUMP2和冷却风扇FAN2,发电机冷却系统包含着与之相关的冷却水泵PUMP3和冷却风扇FAN3和冷却风扇FAN4;如何进行模块化划分呢?

如果是传统的刚接触功能电路的人来说,习惯于通过类别来区分电路,他们会把冷却水泵归为功能组F1,冷却风扇归为F2,这样看似也使用了功能组来区分电路,但实际上是没有真正理解标准电路的深层思想,这种划分只能在小范围内的标准电路层面进行图纸的重用。

而正确的划分方式则是按照冷却系统这种大设备来划分电路:F1包含冷却水泵1和冷却风扇1,F2包含冷却水泵2、冷却风扇2,F3包含着冷却水泵3、冷却风扇3和冷却风扇4,由于功能组中包含的内容是相似的,当画好F1(类似上图中的冷却系统标准模块D)后,可以整个拷贝到F2和F3(F3只需添加标准模块C),然后可能只需要修改一下名称、功率,这就是从更大范围内进行图纸重用的典型示例,也是上述积木化需要阐明的思想实践。

模块化设计思想:

模块化设计电路示例:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电路
    +关注

    关注

    169

    文章

    5462

    浏览量

    169172
  • 模块化
    +关注

    关注

    0

    文章

    296

    浏览量

    21145
  • 绘图
    +关注

    关注

    0

    文章

    26

    浏览量

    19523

原文标题:如何神一般的提高电气图纸设计效率?设计模式很重要!

文章出处:【微信号:gongkongworld,微信公众号:工控资料窝】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    模块化编程

    大侠们,求教模块化编程的问题啊,,,怎么添加多个C文件,如何写自己的头文件???
    发表于 11-08 10:50

    关于如何写模块化的程序?

    本帖最后由 eehome 于 2013-1-5 10:04 编辑 附件里是一个模块化的程序,实现用12864显示1302设置的时间,但是出现图示重复定义的错误,从错误上看是reg52.h的重复
    发表于 12-30 15:51

    [求助] 关于如何写模块化的程序?

    本帖最后由 546758514 于 2013-1-1 20:30 编辑 附件里是一个模块化的程序,实现用12864显示1302设置的时间,但是编译时出现图示重复定义的错误,从错误上看是
    发表于 01-01 19:20

    [求助] 关于如何写模块化的程序?

    本帖最后由 546758514 于 2013-1-1 20:28 编辑 附件里是一个模块化的程序,实现用12864显示1302设置的时间,但是编译时出现图示重复定义的错误,从错误上看是
    发表于 01-01 20:15

    关于模块化编程

    我编了一个DHT11的程序,想用模块化的格式重写这个函数,可是出现了好多错误,而且是我解决不了的,求各位大神帮忙。
    发表于 05-07 22:04

    模块化编程

    大家一起来讲解看,,,到底何为模块化编程???
    发表于 08-07 21:56

    模块化编程

    模块化编程,很好的学习资料
    发表于 08-16 16:59

    模块化程序

    现在大家写程序都是模块化吗,就是不同的模块放在不同的文件夹里。比如所有的h文件放一起,所有的h文件声明一起,主程序只有一小段就行,很好的,就是刚开始学习模块化程序时要熟悉。
    发表于 11-12 15:15

    c语言 模块化编程

    c语言中关于模块化编程。目前我只学到了功能函数的模块化,现在我想弄清楚,初始变量能不能也模块化?详细问题是这样的: 在main()函数之前,有个初始化了的数组变量Led7Code[ ]
    发表于 08-20 09:43

    模块化UPS的技术选择详解

    ,均流与逻辑切换也由内部控制单元控制;②内置容量与功率模块容量一致的静态旁路,在旁路模式时,由每个模块内的静态旁路共同承担负载。  2)分布+集中式架构  与之相对应,图2展示了另一类架构的
    发表于 09-30 16:25

    到底什么是模块化编程?

    对于一些接触单片机编程不久的小萌新来说,模块化编程这个概念刚接触的时候可能会很懵,到底什么是模块化编程?我以前也不懂,后面根据网上的说明和自己对库函数例程的分析,已经完全掌握了这门技能。 模块化编程
    发表于 12-03 07:39

    什么是模块化编程

    1什么是模块化模块化编程就是把我们的一整个项目,分成很多模块(比如一个学生成绩查询可以分为,登陆,查询,修改保存,退出等模块)而一个程序工程包含多个源文件(.c 文件和 .h 文件),
    发表于 12-06 08:02

    新建模块化编程工程及常见问题汇总

    先跳过关于模块化编程的好处,在这里不多说了,因为这已经被人说烂了,但是有相当一部分新手是觉得模块化编程比较复杂,但是实际上,当面临一些小的项目编程,仅仅是让你完成一项功能时可能说你直接开干非常方便,但是一但让你涉及到很多
    发表于 01-05 07:29

    什么是模块化编程?模块化编程的注意事项

    单片机零基础入门(8-4)模块化编程---LED1602调试工具一、回顾二、什么是模块化编程?1、传统方式编程:2、模块化编程3、模块化编程框图3、
    发表于 02-23 07:14

    模块化程序设计简单解释

    方法。在单片机的简单解释:把各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数的声明,其它.c文件想使用其中的代码时,只需要#include "XXX.h"文件即可。使用模块化编程可极大的提高代码的可阅读性、可维
    发表于 02-23 06:05