电气图纸设计结构 1—基本知识
关于Eplan中的结构,一些大牛的思考,值得学习。
在自控领域,经历了若干年的思考和实践后,想把自己的一些想法总结出来,也算是人到了一定年龄,希望自己领悟到的一些东西不要被埋没的意思吧,逛了很多论坛,最后发现还是在博客里面写文章,能对文章有比较系统性的管理,初略规划了一下,想从自动化电气设计/PLC编程/OPC编程/计算机编程等几个方面谈谈自己的思考。
首先从网上找到了我在2008年在亿万论坛上发的帖子(事实上找的是曹大平收集和整理的部分,非常感谢这位有心人),作为博客中电气设计部分内容的引子,以下内容是2008年发表的帖子,值得说明的是后续博客会对其中的几种结构体系进行详细的说明和比较。
2008年9月
最近有些空闲,谈谈自己对电气图纸的页结构的看法
首先说说绘图软件吧,众所周之,AutoCAD开始是画机械图的,后来采用电气版的Eplan 最开始是Eplan5,后来才有P8,Eplan一开始的结构体系就是使用功能组和安装位置来规划图纸,这也是德国制造业的工业标准(这是我看了很多德国公司的图纸后,推测的),大家总是在比较这个软件,那个软件绘图好不好用,却很少去考虑它容不容易去实现一种好的设计思想。
德国人做事都喜欢模块化,软件如此,图纸设计也如此(很多德国的小公司在介绍他们设计的小型控制器时,编程语言都是功能块图,非常模块化的一种编程方式),他们的图纸也全是按照功能来划分的,这点对应Eplan中的高级别功能,我用的是英文,按原意翻译的,好像以前的Eplan21中文翻译的是”工厂“,很不准确,不知P8是否如此)。
事实上图纸按照功能来绘制,可以让人更容易明白电路(没有看过这种图纸的人估计是没法体会的,没有这种设计思想,即使他使用的是P8,也绘制不出好看的图出来), 图纸结构的规划最重要的无疑是对功能组的规划,也许有很多其他好的规划方式,这里我谈谈我常使用的规划方式:
图纸中分标准功能组和现场控制功能组两大类,以"ST"开头的部分为标准功能组,这种功能组在不同类型的机床、或者项目中所代表的功能不变,电路图在不同项目中改动很小,以"EX"开头的部分为现场控制功能组,根据不同类型的机床或者项目,可能调整名称或者改动电路。
本图纸的标准功能组描述如下:
=ST01:标准规范,目录,元器件布局等
=ST11:主电源供应,电路配送,辅助电路
=ST21:NC系统
=ST31 :PLC系统
=ST41:急停电路及各按钮、灯操作元素
当然现场功能组根据不同的应用场合是不一样的,说一个简单的例子:
=EX01:送料控制
=EX11:加工控制
=EX21:出料控制
当然实际的工艺比这个应该复杂!
再谈谈页结构,P8可以定义大致三种结构:
- =功能组+安装位置-页名
这是Eplan默认的页结构,也是最严格的结构,页名由功能组+安装位置限定,用这种方式绘制的图纸,基本上采用的是试探性查图方式,试探性查图就是先随意翻到某页,然后再根据该页的功能组号和位置号确定朝前翻还是朝后翻,当电柜数量不超过三个时,建议采用这种方式,因为试探性插图有它的好处,就是你在查图时,使用的交互参照索引可以提供给你详细的信息,譬如通过一个中断点的交互参照,你可以了解这个断点将会连到哪个功能组,会连到哪个电柜,即使此时你还没有翻到那个位置。
- =功能组-页名
这是我喜欢的结构,该结构的页名由功能组限定,当电柜数量比较多时,尤其是自动线,使用第一种方式将会使查图变得非常复杂,而此方式则不考虑电柜对页名的限定,该方式既兼顾了试探性查图的优点,又避免了电柜过多时,查图的困难。
- -页名
- 全局页名结构,页名在整个图纸中都是唯一的,其查图是绝对确定性的,交互参照明确指定了位置,非常容易找到对应的位置,国内很多朋友可能喜欢这种方式,但我觉得它缺少了试探性查图的优点(无法从交互参照上看出含义),个人不喜欢
2010年 6月 2 号更新想法:
作为个人使用的习惯,特不喜欢使用全局页名的结构形式,但最近做的输送线图纸逼得我必须这样用,如果功能组按照输送位置划分,则一套图纸中可能包含至少十几个现场功能组,而这些功能组的命名常由机械根据功能来命名,如提升机、滚床,移行机等采用不同的前缀,这样若使用=功能组-页名的形式,则会导致查图不是很方便,如果功能组前缀使用统一的字母,后面通过数字来区分前后的功能组排序,则可以解决此问题,但问题的关键是,实际的命名前缀却是不一样的。
2011年 1 月 24 号更新想法:
最近接触了几个 GM 的电气项目,对他们的图纸标准发表一下自己的观点,中国有句古
话:“过尤不及”,这句话感觉还是有道理的,任何事走向两个极端都是不可取的。
之前在其下面的回帖中大篇幅的讨论了自动线中图纸基于“控制柜群”的划分来区分图纸,而GM 的标准则把其走到了极端,“控制柜群”的划分完全基于电控柜实体来划分:也就是每个柜子都会有一套属于自己的图纸(甚至于一个操作盒、一个急停控制盒)都需要单独出一份图纸,其理念就是多个柜子如果功能完全一样,就只需要画一套图纸即可。想法虽好,现实是残酷的。基于柜子的图纸重用性其实是很低的,相反基于设备对象(譬如一个滚床对象,一个移行机对象,可以用一个现场功能组加以命名)的划分方式则是有着很高的图纸重用性,并且柜子划分方式是很死板的(有时为了向标准靠拢,会无形的增加很多控制柜,导致不必要的成本增加),而基于设备对象的功能组划分方式则是很灵活的。 GM 的程序标准看似模块化编程(大量使用局部变量),其实还是结构化编程,真正的模块化编程是需要最大限度的提高程序的重用性,而把一个大范围的设备做到一个程序块内,然后使用局部变量,是无法实现程序的重利用的,道理很简单,封装的设备多了,再想找一个可利用到其他地方的场合其实很难的,大量使用局部变量的好处是查阅程序方便,不会担心此变量在其他程序块中被修改。但要想提高程序的重用性,封装的设备控制对象则不能太多。
回帖内容:
是的,还有只有安装位置限定的页结构,用得很少,可能图纸比较简单,而且只有一个主配电柜时用吧,譬如,我现在需要在原机床上独立添加一个送料控制,用的就是这个结构,但相应的功能完备的机床是不会这样用的。至于那种“顺序编号"的页结构,不是用得很少,在国内用得很多,在国外,我只看过一个公司用过。
至于功能分配(function assignment,标识符号"=="),这个我没有用过,国外也用得少,但Eplan确实有这个功能,碰到这种情况,通常是这样做的:
一条长的自动线,有若干个位置安装有电柜(在某个位置可能装一个或若干个电柜),这些不同位置的电柜组我把它们称为电柜群,每一个电柜群都有独立的电源配送系统,它和这条自动线的其他电柜群之间只有总线连接,在电柜群下面就是功能组(”=“标志),一个电柜群控制几个附近的现场功能组(基于分布式设计考虑),功能组下面就是设备(这点与 Eplan一致),在这里可能电柜群就是那个(function assignment,标识符号"=="),但我没有这样用,把每一个电柜群当作一个独立的子项目做,也就是每一个电柜群都有它自己的图纸,事实上这样做也是没有问题的,这是因为分布式设计的的优点,因为每一个电柜群都有自己独立的系统(除了没有CPU),其和其他的连接主要就是一条通讯总线,譬如Profibus 电柜群的规划基于两点:功率分配(若把所有的驱动都放在一个群内,非常浪费线路,同时大电流母排安装非常严格和麻烦,所以可以让多个电柜群来实现),安装位置,毫无疑问,把现场功能组*近的规划到一个电柜群控制是比较好的。
其次使用了电柜群思想,而不使用function assignment,
标识符号"=="的想法主要基于两点:
- 不同的电柜群可以彼此独立的设计,可以大大提高设计速度。
由于其独立性,电柜的配盘也彼此不受影响,可以同时进行。
文章来源ParkerWu 博客