在电气设计日常工作中,往往不知道使用什么软件,设计工作可以更高效地完成,为此,小编给大家总结了主流电气软件功能对比表,看完后总能找到你需要的款.
| 对比内容 | CAD | SOLIDWORKS Electrical | Eplan |
![]() | ![]() | ![]() | |
| 标准化设计 | 标准化程度较低,不同工程师画的原理因差大 | 可以以不同标准的模板快速建立项目属性,以及文件和设备的分类 | 推行标准化理念,依靠符号、图框、表格、部件库、字典及各种规则设置实现紧跟国际步伐的标准化文件 |
| 符号 | 手动绘制,不标准不统一 | 可新建符号库以及新建符号名称并添加符号属性,符号的新建可从其它文档导入DWG格式 | 标准符号库,直接调用 |
| 绘图连线 | 手动绘制 | 可新建符号库以及新建符号名称并添加符号属性,符号的新建可从其它文档导入DWG格式 | 标准符号库,直接调用 |
| 模块化设计 | CAD下的模块只是一个图形,无电气属性 | 可对全局属性变量修改、端子设计、属性分类多方面功能,也可设计宏 | EPLAN可以利用宏技术,对典型电路等制作 成具有电气参数的宏变量,通过选择某个参数可以实现整个电路的选型等功能 |
| 图框 | 无自动功能,需要预留空白页,手动添加页号,不易修改 | 可定制模板图框,能插入变量会自动显示对应区域的行/列数字 | 具有自动采集项目信息的功能,页号及页面 名称等信息都可以自动生成,修改方便 |
| 制图的电气逻辑 | 手工绘制电路,无电气逻辑 | 电缆、电线和符号等设备需要设备选型,操作繁琐一些 | 符号具有极其丰富的电气属性,电路具有信号跟踪、电位跟踪等功能 |
| 电气设备编号 | 人工编写,易重复 | 具有设备编号、电缆编号、端子编号、插头、编号一系列自动编号功能 | 具有设备编号、电缆编号、端子编号、插头、编号一系列自动编号功能 |
| 接线图 | 手工绘制,原理图发生改变时,接线图需要人工大量修改,费时易错 | 自动生成端子接线表和接线图 | 自动生成,项目更改后,只需刷新,接线图 自动更改,及时准确 |
| 项目信息的交互 | CAD和Office之间没有交互,当设计发生更 改时,相关文档无法及时改动,易出错,且 不可相互导入导出项目信息 | 自带与Excel的集成插件可直接获取电气宏数据库,实现Excel自动化 | EPLAN可以将项目诸如电缆、插头、端子、 电气元器件、PLC等相关信息可以和EXCEL导 入导出,实现双向编辑,准确无误 |
| 端子设计 | 信息量大,统计困难,设计无法很详实,人工操作困难 | 可单个或多个端子插入原理图中,可在端子编辑器中创建跳线,可自动生成端子接线图 | EPLAN 和Phoenix 的 ClipProject 及 Wago 的 SmartDesign之间有很好的接口,可以利用 第三方软件做更为准确细致的选型及端子排制作 |
| 二维电柜设计 | 不易精确到元器件尺寸进行电柜布局摆放, 柜体容易由于元器件尺寸导致原先摆放设计不当,劳动量大 | 可生成多种图纸,如布线方框图、端子排图纸,机柜布局等,元器件可关联3D模型和设备型号,使三维电柜设计更加精准且直观 | 从部件库调用元器件尺寸,直接拖拽到电柜安装板,位置精确,利于电柜开孔设计 |
| 三维电柜设计 | 无法考虑元器件在电柜中的三维尺寸,无法考虑位置干扰 | 可实时协作,自动步路,线束开发,实时同步,电气与机械 BOM 同步 | EPLAX的Cabinet可以实现电柜二维设计,更加直观形象(目标) |
| ERP系统接口 | 无法实现 | 允许将外部数据批量与Electrical数据双向实时共享,保证数据的准确性以及同步 | 可以和ERP关联(目标) |
| 跨专业接口 | 可能会利用几张机械的CAD图纸 | 可导入DWG等文件 | 可以导入机械的CAD图纸。EPLAX平台拥有电气软件P8、液压软件Fluid、仪表软件PPE、电柜制图Cabinet,因共用数据库,实现跨专业项目接口问题的无缝联接 |
| 操作难度 | 相对简单 | 适中 | 难 |
总结
ACE平台
ACE在项目管理方面较为强大,做原理图方面比较强。图纸设计是奔着设计表达去的,操作更加自由。自由的缺点就是,大家可以按照自己的想法表达,让标准化实施难度增加。由于价格便宜和环境原因在国内用ACE的公司比较多,通用性高,但国际中普遍性较低。
SWE平台
SOLIDWORKS Electrical原型是elecworks,是SOLIDWORKS的电气版,适合做中小型项目和非标元器件项目。SOLIDWORKS Electrical上手比较容易,培训周期短且价格相对低,性价比高。SOLIDWORKS Electrical能和SOLIDWORKS无缝集成3D布线,且内置数据库,支持导入标准及非标元器件,同时版本更新很快,支持多用户协同工作,自动出图,自动布线。用好SOLIDWORKS Electrical关键是数据库模块要设置并建立好。SOLIDWORKS Electrical在低压柜电气布局和计算线长优势尤为突出,兼容许多软件,在电气软件界中相当于手机系统的安卓,在国内和国外都有一定的用户。
Eplan平台
Eplan是专业的电气软件,相当于手机系统的Apple,与其他软件兼容性差。由于操作过于复杂,刚入门的时候比较难,同时国内采用总代的销售方式,导致售后服务培训响应速度较慢。当然,Eplan功能性非常强大,在电气软件界中绝对是有优势的。由于Eplan软件反应速度快、性能强,所以适合做大型项目和标准化项目。Eplan与SOLIDWORKS Electrical有许多相似之处,都有拥有强大的符号数据库等。Eplan在国际公司中使用者多,在价格上是相比最贵。
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee
我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行
📢博客主页:https://blog.csdn.net/weixin_43197380📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!📢本文由Loewen丶原创,首发于CSDN,转载注明出处🙉📢现在的付出,都会是一种沉淀,只为让你成为更好的人✨文章预览:一.分辨率(Resolution)1、工业相机的分辨率是如何定义的?2、工业相机的分辨率是如何选择的?二.精度(Accuracy)1、像素精度(PixelAccuracy)2、定位精度和重复定位精度(RepeatPrecision)三.公差(Tolerance)四.课后作业(Post-ClassExercises)视觉行业的初学者,甚至是做了1~2年
由于匿名block和散列block看起来大致相同。我正在玩它。我做了一些严肃的观察,如下所示:{}.class#=>Hash好的,这很酷。空block被视为Hash。print{}.class#=>NilClassputs{}.class#=>NilClass为什么上面的代码和NilClass一样,下面的代码又显示了Hash?puts({}.class)#Hash#=>nilprint({}.class)#Hash=>nil谁能帮我理解上面发生了什么?我完全不同意@Lindydancer的观点你如何解释下面几行:print{}.class#NilClassprint[].class#A
在许多ruby类之间共享记录器实例的最佳(正确)方法是什么?现在我只是将记录器创建为全局$logger=Logger.new变量,但我觉得有更好的方法可以在不使用全局变量的情况下执行此操作。如果我有以下内容:moduleFooclassAclassBclassC...classZend在所有类之间共享记录器实例的最佳方式是什么?我是以某种方式在Foo模块中声明/创建记录器还是只是使用全局$logger没问题? 最佳答案 在模块中添加常量:moduleFooLogger=Logger.newclassAclassBclassC..
之前有人问过这个问题,我发现了以下clip关于如何一次设置一个类对象的所有属性,但由于批量分配保护,这在Rails中是不可能的。(例如,您不能Object.attributes={})有没有一种很好的方法可以将一个类的属性合并到另一个类中?object1.attributes=object2.attributes.inject({}){|h,(k,v)|h[k]=vifObjectModel.column_names.include?(k);h}谢谢。 最佳答案 利用assign_attributes使用:without_prote
我有三个模型:User、Product、Offer以及这些模型之间的关系问题。场景:用户1发布了一个产品用户2可以向用户1发送报价,例如10美元用户1可以接受或拒绝提议我现在的问题是:用户、产品和报价之间的正确关系是什么?我如何处理那些“接受或拒绝”操作?是否有更好的解决方案?用户模型:classUser:productsend产品型号:classProduct:usersend提供模型:classOffer提前致谢:)编辑:我正在使用Rails3.2.8 最佳答案 警告:小小说来了第1部分:设置关联我建议阅读Railsguideo
标题本身就说明了......read_timeout和open_timeout之间有什么区别? 最佳答案 open_timeout是您愿意等待“打开连接”的时间。在TCP上下文中,在放弃尝试并引发超时错误之前等待握手完成的时间量。read_timeout您可能会猜到,是您愿意等待从连接方接收到某些数据的时间。一个例子可能会清楚地说明这一点:在SOAPoverHTTPoverTCP上下文中(简化):您尝试与服务器建立TCP连接。如果建立连接的时间比open_timeout长,则放弃连接尝试并引发/发出/返回超时错误。如果连接成功,您发
我已经搜索过但无法找到ActiveRecord和ActiveRecord::relation对象之间区别的简要说明。我知道ActiveRecord是通过类似的东西找到的单个对象User.find(1)ActiveRecord::Relation是类似对象的数组,通过类似的方式查找User.where(id:1)我正在寻找它们在查询执行或对它们的深入解释方面的区别,因此它将清楚其背后的整个概念。提前致谢! 最佳答案 ActiveRecord::Base的一个实例是一个对象,表示您的数据库的特定行(或者可能保存到数据库中)。而Activ