液压机械组件(精选4篇)
液压机械组件 篇1
0 引言
发展光伏产业对调整能源结构、推进能源生产和消费革命、促进生态文明建设具有重要意义。为规范和促进光伏产业健康发展,国务院于2013 年11 月发布《关于促进光伏产业健康发展的若干意见》,要求充分认识促进光伏产业健康发展的重要性,积极开拓光伏应用市场,加快产业结构调整和技术进步,规范产业发展秩序,推进光伏产业标准化体系和检测认证体系建设。2014 年,为支持分布式光伏,发改委、能源局、国家电网、税务总局等部门更是相继出台了多项法规和文件。另一方面,国内外光伏产业产能过剩局面仍没有得到根本改善,加上国际市场上削减光伏发电补贴、“双反”等负面影响还没有消除,光伏产业竞争异常激烈。
光伏组件使用寿命长(15 年左右),环境适应性要求高。在强风作用下,光伏组件承受正、反方向的交变压力,前后表面振荡、晃动,原有静态机械载荷试验方法无法评价动态机械载荷下光伏组件的可靠性[1],如果再附加高低温或湿度条件,光伏组件将面临更大的考验。所谓动态机械载荷,是指光伏组件在强风作用下,产生前后表面晃动,会使得组件承受正反方向交替加压,从而加速材料疲劳,进而可能引发电池片和汇流条等脆弱部分的失效现象。在荒漠气候或高原气候下这种现象比较常见。现有标准中机械载荷试验主要模拟组件承受静态载荷的情况,考核组件在静止不变的压力下是否可靠。动态机械载荷比静态机械载荷更加苛刻,更能够客观、全面的反映组件的真实可靠性。
1 机械载荷测试标准要求
1. 1 静态机械载荷试验
IEC 61215 / IEC 61646[2,3]标准中给出了光伏组件机械载荷试验测试方法,该标准为静态机械载荷测试。在光伏组件前表面和背表面上,逐步将负荷加到2400Pa,使其均匀分布。保持此负荷1h。测试完毕后,检查试验过程中有无间歇断路现象,是否有严重外观缺陷,对其进行标准测试条件下的最大输出功率试验和绝缘电阻试验。
1. 2 动态机械载荷试验
IEEE 1262 标准较早地给出了动态机械载荷试验的推荐测试方法:在1440Pa下进行10000 次循环,每个循环周期不小于3s。目前该标准已经过期。
正在起草中的IEC 62782 则对光伏组件的动态机械载荷试验给出了比较系统的测试方法:将光伏组件放置在动态载荷系统中,用直流源的正负极连接组件的正负极,并施加适当的电流。对光伏组件施加动态机械载荷,循环1000 次,每分钟完成1 ~ 3个循环,最大压力为 ± 1000Pa,在极限压力下保持的时间至少为7 ± 3s,测试过程中监测组件的电路连续性。在动态机械载荷施加前后,还应对组件进行一系列测试:如:IEC 61215 或IEC 61646 中的10. 1、10. 2、10. 3、10. 15 以及EL( 电致发光测试) 和IR红外成像测试等,来分析动态机械载荷对组件的影响。
为更好模拟实际测试条件,动态机械载荷测试势必是未来发展的方向。
2 动态机械载荷测试方法
目前国内外主要通过实地现场测试、吸盘、水压、沙袋、气囊等方式开展光伏组件机械载荷检测技术研究。
Fraunhofer ISE太阳能研究所在户外自然条件下对光伏组件的动态机械载荷试验进行了研究。所用的仪器设备主要有:超声测风仪和激光测距传感器。研究发现:动态机械载荷下组件的敏感频率在17Hz ~ 35Hz。与静态载荷比较,动态机械载荷下组件的形变量较小。户外动态机械载荷研究需要利用流体力学和数学建模等专业知识进行分析和处理,过程复杂,适用于动态机械载荷试验的初始性研究。
柏林AG光伏研究所、美国CFV、TUV莱茵、扬州光电等均采用多个吸盘在光伏组件表面进行动态机械载荷试验。组件固定不动,通过调节吸盘和组件表面中间的空气压力的正负实现对组件向下的压力或向上的吸力。每个吸盘通过电机单独控制,系统设计方案复杂,操作简单,但造价比较高,目前市场上一台动态机械载荷试验机大约需要40 万~60 万元。且不同吸盘组合间有可能存在压力不均的情况。
深圳SET、扬州光电等使用沙袋作为压力源。沙袋加压成本小,操作灵活,但由于是人工操作,试验过程中人的工作量较大,而且需要对沙袋的重量进行严格控制,无法实现频率较快,循环测试较多的动态机械载荷试验。
尚德、无锡太阳能国家中心采用水压作为压力源。水袋加压是利用水的重力向光伏组件施加均匀的压力。由于方式施压物水袋的重量大,水袋漏水后对试验样品、试验室环境等影响较大等原因,应用较少,而且因为重力垂直向下的特性,水压法也不适合实现动态机械载荷试验。
3 气囊法动态机械载荷测试设备
本小节将根据标准要求,使用气囊法,设计一套动态机械载荷测试装置,对动态机械载荷的速度、压力和时间等参数进行准确控制和操作。气囊法利用气压各向均匀的特性对组件施加压力。由于气压的各向同性,可以实现不同方向的加压,具有实现动态机械载荷试验的可能性。同时,由于气囊本身重量小、安全性高、成本低等优势,可大规模推广应用。
主要通过双向气囊交替加压自动向光伏组件正反表面施加动态机械载荷。通过电机和丝杆带动光伏组件上、下移动。系统施加到组件的压力大小和施压频率应能在一定范围内调节,并在试验过程中实时监测组件内部电路和边框的连续性。系统主要由机械部分和控制部分组成。
动态机械载结构示意图如图1 所示。
机械部分是设备的主体部分,主要用对光伏组件施加压力。整个机械部分由整体机架和光伏板安装辅助支架两部分组成。整体机架由伺服电机(提供上升及下降的动力)、联轴器、链轮、链条、丝杆、升降支架、光伏组件安装支架、及气囊等部件组成。
控制部分主要功能是向系统输入基本测试信息、控制光伏组件的移动速度和方向、监测组件所承受压力、控制动态机械载荷试验起止时间等。控制部分一般包括工控机、PLC、压力传感器、电流传感器、电流电压表、控制按钮、限位传感器与报警措施等组成。
控制部分的系统框图如图2 所示。
为了方便操作和了解试验进展情况,系统设置专门的显示部分。该部分是机械部分动作和控制部分数据信息的叠加结果,负责原始样品信息和测试要求的录入、测试过程进展情况的监控和图形信息的显示,主要功能是设置和显示。主要显示电参数和机械参数。
整个系统设计关键技术如下:
(1)双向气囊加压技术
气体加压各向同性,通过气囊可以实现对光伏组件表面的均匀施压。改变气囊内气压大小就可以实现样品表面不同压力的控制。样品由可调支架控制,在样品上方和下方各放置一个气囊。上方气囊负责向样品施加正向压力,下方气囊负责向样品施加反向压力。光伏组件具有不同的规格型号,不同型号尺寸差别较大,为了避免由于尺寸问题产生的样品表面受力不均,可配备多款气囊以适应目前市场上常见的54 片、60 片、72 片光伏组件的测试要求。
(2)机械传动和PLC控制技术
系统可配套两个电机,通过传动装置带动承压板控制上、下气囊内部压力,向样品施加正向压力时,下方电机首先带动承压板调整下方气囊适当下移,下方电机开始动作,使样品仅承受正向压力,并为形变预留空间。反向加压时则相反,上方电机带动承压板上移后,下方电机开始动作。整个过程中,电机的起、落、停、转、停,气囊的加压大小、动作方向和保持时间等最终由PLC实现程序控制。不仅如此,动态机械载荷试验装置还可以根据客户需要设置动态机械载荷试验的具体过程和循环次数,实现系统的PLC自动控制。
(3)传感器监控和传导技术
利用多种传感器技术实现信号的监控和传递。例如:利用压力传感器采集样品表面所受压力,为机械部件和电机的下一步动作提供控制依据。利用限位开关控制系统不超过设定的极限位置,实现对整个系统的安全保护。通过配套不同规格的气囊实现对不同尺寸样品的匹配。
4 结束语
本文主要研究了动态机械载荷对光伏组件可靠性的影响。探讨了光伏组件机械载荷测试相关标准和现状,针对即将发布的动态机械载荷标准,展开测试方法和测试设备研究。提出一种气囊法进行动态机械载荷测试的方法。
值得一提的是,现有标准或方法中不曾涉及气候和机械环境对组件的交互作用,这却是未来标准的一大趋势。因此,机械载荷测试设备和环境箱的共同结合测试将是未来发展的方向。
参考文献
[1]Simon Koch,Jan Kupke,Dirk Tornow,et al.Dynamic mechanical load tests on crystalline silicon modules[C].25th European Photovoltaic Solar Energy Conference and Exhibition/5th World Conference on Photovoltaic Energy Conversion,2010:3998-4001.
[2]IEC 61215-2005,Crystalline silicon terrestrial photovoltaic(PV)modules-Design qualification and type approval[Z].
[3]IEC 61646:2008,Thin-film terrestrial photovoltaic(PV)modulesDesign qualification and type approval[Z].
浅谈A320液压动力转换组件 篇2
关键词:动力传输组件,线圈活门,电动泵
部件简介:动力传输组件 (以下简称PTU) 位于起落架轮舱内, 当绿系统和黄系统压力差达到500psi的时候, PTU内部柱塞感受压差从而使PTU工作。PTU是由马达-泵-马达组成, 即动力转换的过程是一个由液压力-机械力-液压力的过程, 所以对于两个系统的连接是纯机械的, 没有油液的传输。
工作原理:在PTU的上游管路上由两个线圈活门, 分别控制绿系统和黄系统的油路开关, 这两个线圈活门是通过602PP 28V供电的, 当线圈活门通电时, 活门关闭。在地面, 黄系统可以由黄系统电动泵增压, 通过PTU感受压差从而使绿系统一起增压, 当地面操作货仓门时, 黄系统电动泵工作, 但通过线路控制使两个系统的线圈活门通电, 从而抑制PTU的工作。
部件控制:PTU的开关可以通过在驾驶舱40VU面板上的电门控制 (1802GL, 图中蓝色标注) , 正常情况电门按入, 处于AUTO, 线圈活门 (图中红色标注) 处于失电状态, 活门常开, PTU待命工作, 当电门按出后, 线圈活门通电, 活门关闭, 从而切断PTU绿黄两端的油路, 从而切断PTU的工作。
日常检查与维护:
1.由于PTU位于轮舱内, 日常绕机很难目视检查到位, 这就需要我们注意检查机腹底部是否有油迹, 观察液压油量是否有异常消耗, 一旦发现异常就需要打开机轮舱门对PTU及其他相关部件进行详细目视检查。
2.在日常故障中除了PTU本体漏油外还会有PTU常运转情况, 一般情况下这是由于管路上游线圈活门故障造成, 我们可以重置相应跳开关来排除故障, 如果不能则需要停场更换排故
3.由于PTU是由马达和泵所组成的部件, 有时候由于性能的老化, 在运转过程中会造成噪音过大, 直接反应在机组感受则是后客舱地板下噪音过大, 碰到这种情况一般情况下怀疑是空调舱部件问题, 其实有可能是PTU性能衰减造成的, 这种情况下根据PTU只有当压差大于500PSI时运转的工作原理, 我们可以通过噪音过大产生的时间来判断是否由于PTU造成的。
拆装准备:
1.起落架舱门销
2.驾驶舱警告牌, 跳开关夹子
3.液压系统工作准备:护目镜, 手套, 系统及油箱释压, PTU快卸接头脱开, 飞行舵面以及可能增压区周围无阻碍物
4.工具准备:1英寸左右开口诺干, 2英寸左右开口扳手诺干, 力矩扳手, 小头剪钳。
拆装程序:
参见AMM29-23-41PB401。
拆装注意事项:
1.拆装时注意PTU四个固定螺杆的垫片不要移位, 否则要调节垫片高度。
2.拆装管路时, 要用开口扳手固定连接处的另外一端, 切忌只用一把扳手拆装, 磅力矩时同样。
3.安装新PTU时, 需要往PTU中填充液压油
4.安装新PTU前, 先把靠里的两个固定螺杆的保险穿上, 避免因打保险浪费时间。 (见图3)
5.安装液压管路前, 勿将固定螺杆拧紧。
测试工作:
1.绿系统和黄系统低压、高压油滤的检查 (参见AMM 29-11-44-610-001, AMM 29-11-45-610-001, AMM29-13-44-610-001, AMM29-13-45-610-001) .
2.液压油箱增压 (参见AMM29-14-00-614-002) .
3.PTU运转测试:PTU的运转测试可以通过液压车, 黄系统电动泵以及发动机液压泵的增压来完成, 通常情况下最好通过左右发动机液压泵分别为绿黄系统增压来完成PTU的运转测试, 在测试过程中观察一边增压或者二边增压时PTU的工作情况, 以及当40VU上的电门关闭时PTU的工作情况。 (详细参见AMM29-23-00-710-004) .
4.PTU渗漏检查:在执行PTU运转测试前, 先要擦净PTU连接管路结合面以及附近的油迹, 最好使用插头清洁剂喷其表面, 加快油迹的挥发。
总结:
1.PTU作为一个提高飞机液压余度的设备, 故障时不能放行飞机, 这就需要我们在日常检查中加强对于安全隐患的注意, 看到油迹、油耗过大时及时处理。
2.进行PTU拆装工作和进行其他液压工作一样, 首先要对相关液压系统放气, 同时在工作时注意自身安全, 带好护目镜以及手套, 当液压油粘到皮肤后要立即用清水冲洗, 工作时勿用手擦脸。
3.拆卸管路时遵循液压管路拆装规则, 安装管路时一定要用力矩扳手安装到固定力矩。
液压机械组件 篇3
当前越来越多的用户已经不仅仅满足于简单的自动化控制, 即将信号通过总线布置在现场, 而是考虑将更多的设备集成到控制系统中。因此, 开放性与模块化设计逐步进入到研究与应用范畴。
1.1 开放性需求
在自动化控制系统中, 用户往往希望系统具备较高的性价比。对于现场控制而言, 技术人员不能在两个不同的系统中进行工作, 不同的总线平台之间需要进行数据交换与处理。因此, 一些在自动控制中不能公开控制系统现场通信协议、互通性较差的设备就会在应用中被淘汰, 统一的控制模式逐步被用户所接收, 这推动了控制协议的统一。用户在项目的开展中就会以建立一个统一的控制平台与总线标准为目标, 并对设备的控制模式进行筛选, 保证系统将来具备必要的扩展性, 方便升级与改造。设计时工程技术人员往往将总线标准规范到项目需求中, 考虑的是通用的技术标准, 即将市场占有率最大、最先进、最广泛的技术标准作为系统开发的基础。另外, 系统构建的简易性也在实际的应用中逐步成为了重要的技术标准, 可移植性与可继承性往往也成为了用户在项目设计中的必要条件, 因此未来的自动化控制系统更加倾向于全集成的自动化, 并具备开放性。从严格意义上看, 容易连接是技术人员构建自动化系统的重要标准。无论是在现场总线的层面上还是在以太网层面上, 设备之间的物理连接是最为重要的问题。完善工程组态工具与统一过程数据管理软件是保证自动化系统准确快速投入运行的重要基础, 而具备开放性与集成性的自动化系统投入运行可以提高工程的成本效率。
1.2 模块化与标准化需求
从需求角度看模块化与标准化应符合的条件如下:自动化系统的构建应包含独立且完整的控制程序。整个系统按照设定的程序完成某些特定的运行, 既可以独立完成也可以配合完成, 这样就实现了某些工艺流程的组合运行, 在运行的过程中外界的数据交换不会影响本地的控制模式;自动化系统应该包括本地的输入与输出设备, 包括对强电的驱动设备;自动化控制也应该具有标准的通信接口与数据接口, 利用不同功能的接口, 不同工艺模块单元之间就需能非常通畅地进行数据交换与信息通信。按照此种要求, 在数据接口与数据处理方面将完成需要大量的现场编程工作以达成控制目标, 其中重要的环节就是协调物理接口与数据传递形式之间的差异。因为不同系统的通信协议需要转换, 但是目前还没有器件与模块来实现统一并完成此类转换, 因此需要在现场完成通信机制的转换, 这样就会让整个系统的前期工作量增加。
数据接口通常会根据数据类型、长度等定义在存储区域的地址和通信端口来编制一个数据接口表。这个表格描述的是数据如何从源地址经过何种操作传递到一个目标地址。如对一个环境的温度测量会从一个符号位的15位二进制数, 最终传输结束时很有可能已经被分解为很短的4个字节储存在不同的内存区域内。这些操作对一个电气工程师而言不太困难, 但是其工作量较大, 如果遇到更加复杂的控制模式, 就会给技术人员带来技术性与工作量的双重压力。
综上所述, 为了构建一个容易实现的自动化系统, 必须实现模块化数据交互的简单化, 从而做到不需要编程而实现即插即用。所以模块化和标准化应成为自动化系统构建的必要条件。
2基于组件技术的自动化技术
2.1 横向与纵向的集成
在实现组件技术的时候, 应借助标准化的总线技术, 组件之间可以利用此技术实现灵活的配置通信关系。基于组件技术的自动化可以拓展到现有的基于设备控制的自动化思路上, 进而实现基于生产过程的多设备、多进程的控制模式。此种控制是一种横向的集成, 并不需要进行编程即可实现集成工作。
利用TIA的系统结构, 为整个控制网络提供一个高速网络系统, 将路由作为整个系统的交互节点, 完成现场控制总线与工业以太网的数据交互, 这样就可最大限度地提高系统速度, 同时采集与产生的信号也可直接传输到管理节点, 而来自管理层的指令也可通过网络传递到现场。这样的垂直透明的集成可以轻松地建立起满足大量信息传递需求的管理模式, 进而实现管控一体化。
2.2 系统可以实现“积木”模式
组件的突出特点就是其可组合性能, 即满足易用且可重复的软件功能。这就是一种“积木”的思路, 它已经大量应用在自动化控制系统中。因为大多数的数据交互与通信都已经建立在计算机平台上, 所以组件技术可以在自动化系统中形成一种事实化的标准, 即某个公司的软件成为了系统的基础。然后再按照一种既定、开放的通信协议, 使得不同的软件供应商之间的组件自由实现数据交换。基于组件技术的自动化系统能够实现模块化的目标, 即插即用。
3 模块化设计与组件设计在机械设计中的应用
3.1 设计文件的模块化
在机械设计中, 所应用的文件与数据较多。设计人员将许多精力放到了产品本身的开发上, 对设计中设计组件与模块的结合意识不够, 这就导致组件与模块的概念在机械设计的应用上受到了阻碍。为了将组件自动化与模块化设计结合, 应当将设计分割为多个模块, 并通过“接口”完成组合, 这样就可以利用组件自动将其组合起来, 最终形成一个完整的产品。在实践过程中, 应注意对设计文件进行模块化改造, 因为设计过程形成的诸多文件都是经验的积累。虽然数据与图形不一定对产品设计有所帮助, 但其也是设计过程的一部分, 必然存在有益于产品设计的资料, 且对后续开发也会有所帮助, 因此应对所有设计文件进行模块化改造, 使其适应机械设计的需要。模块化的设计文件在设计中的作用就是在需要模拟与组合的时候即可提取, 将多个设计组件结合起来就可完成对新产品的开发与设计, 所以模块化文件如果形成一个完整的产品数据库, 也就为后续的开发与设计打下了基础。
3.2 机械模块化设计过程
机械模块化设计中应注意高层模块依赖于低层模块, 同时抽象层次依赖于具体层次, 这是最为传统的过程性系统设计的思路与方法。抽象层次包括了产品的逻辑性与功能关系, 同时也包括了产品设计的宏观的战略性思路, 是产品设计的指导。在模块化机械设计的过程中, 可以按照这个宏观的抽象思路对产品进行模块划分, 建立在组件技术上的模块化设计可以让多个模块之间保有用于连接的“接口”, 即不同的模块在需要的时候可以完成组合。此时将顶层功能逻辑转化为模块, 抽象的模块层次逻辑就是具体的产品的零件或者子系统的设计依据, 这就完成了产品设计前期的模块化。
按照前面的模块划分, 开发的团队就可按照模块来重新分配工作与调整设计重点。在模块化设计中, 应对产品生命周期中的各个环节进行充分考虑, 如将产品的模块划分为工艺零件、采购部件、维修部件等。此时机械设计就成为了一个与生产流程与使用流程相结合的过程, 虽然在模块设计中一些划分与企业的不同领域相冲突, 但是可以通过协调来解决。最为主要的是模块化设计必须应用组件自动化技术, 因为组件自动化可以与生产相结合, 即除了模块组合功能之外, 在加工中组件技术也可保证设计成果直接应用到生产中, 这也是组件技术自动化对于机械设计而言的另一个重要辅助功能。
最后, 模块应具备二元性, 即模块必须有标准的连接接口与输出输入接口, 有独立的功能性, 同时也具备相应的组合能力。在模块化设计中应首先保证模块对应的零件的功能性, 其次保证其系统结构的归属性。
4 结语
虽然组件技术中自动化是一种自动化控制技术, 但是其思路也可应用在机械设计中。在自动化控制中此类模式极大地简化了模块化自动化系统的设计思路。此种理念需要开放式与集成式的设计思路, 已逐渐被机械设计所用, 并成为机械设计与产品开发的重要发展方向。借助组件自动化思路, 可将多个组件转化为模块, 让机械设计形成一个即插即用的“积木”模式设计方式, 需要的时候就将多个组件有机地结合起来, 达成模块化设计的目标。同时组件内核在应用中也可以方便地将设备、工艺等有机组合起来, 使设计与加工联系得更加紧密。组件数据在模块化设计与产品开发中可以起到更大的作用。
参考文献
[1]王文玺, 孟文, 肖世德, 等.基于组件技术的组态软件通信模块设计[J].微计算机信息, 2008 (7)
[2]方跃胜.立体车库自动监控系统的设计与开发[J].计算机与现代化, 2009 (12)
[3]吕涌, 黄正贤.组件化结构的模块化设计的研究与开发[J].电气自动化, 2010 (5)
[4]宿鲁艳, 马旭东, 赵恒品.组件技术在软件开发中的应用[J].工业控制计算机, 2006 (1)
液压机械组件 篇4
应用MATLAB进行数值分析、图像处理等工作,可以大大节省编写底层算法的时间,避免重复性劳动,提高工作效率[1]。缺点是界面开发能力较差,功能模块分散,灵活性较差。
Visual Basic 6.0集成了功能强大的编辑、编译、链接、测试等许多可视化编程工具。VB相对其他高级语言有很高的编程效率,尤为突出的是可视化图形界面与数据库应用方面,编程速度比其他编程语言快几倍甚至几十倍,但VB的数值计算能力很弱,不易于处理数据运算。
因此,本文采用基于COM组件的MATLAB和VB接口混合编程方法来开发数值计算比较复杂的应用程序。用VB开发界面,MATLAB处理数据分析和仿真,不仅可以得到友好的用户界面,提高计算精度,加快程序运行速度,随时变参,而且极大地减少了程序设计的工作量,避免了重复繁杂的算法,充分发挥MATLAB和VB各自的优点,从而简化运算并高效地完成计算、分析、绘图、数据提取等任务[2,3]。本文主要探讨如何运用二者优势对圆柱形弹簧变形量进行蒙特卡洛模拟,将其内部代码进行封装,用户只需要即时改变参量数值,便可以得出相应的结果与图形,避免了重复累赘的运算过程,提高了工作效率和准确度。
1 MATLAB和VB接口混合编程的方法概述
为实现混合编程,MATLAB 5.0以后版本自带C语言编译器,可以把M文件转换成DLL程序,方便VB调用。两者互相调用的接口混合编程方法,目前一般有以下几种方法:
(1)Active X技术(即Automation Server技术)。MATLAB引擎采用C/S方式,通过Active X通道和MATLAB相结合。这种方法最大的缺点是不能脱离MATLAB工作环境。
(2)利用Matrix VB库。Matrix VB是一个包含MATLAB函数功能的COM库[4],可以在VB中直接使用[5]。该方法的最大缺点是要先安装Matrix VB包,并且Matrix VB包提供的函数也有限。
(3)COM组件技术。Mideva是Math Tools公司推出的一种MATLAB集成编译开发平台,提供M文件的解释执行和开发环境支持。运用Mideva组件的途径有两种:
(1)经过简单设置,可以把M文件转换成C/C++代码,添加到MSVC、C++Builder等的工程中。
(2)利用Mideva直接生成EXE文件,在VB中通过Shell调用。
(4)借用C++编译器把M文件转换成DLL,VB可以直接调用。
(5)在MATLAB 6.0以后,可通过Add-in实现混合编程。
而在本文中,将运用COM组件来实现MATLAB和VB接口的混合编程,从而可以脱离MATLAB环境运行,并且移植性好。
2 基于COM实现MATLAB和VB接口的混合编程
2.1 将M文件编绎成DLL
第一次使用COM组件将M文件转化成DLL文件前,需要配置编译环境。接着创建新工程文件。如图1所示。
在新的窗口中为新建工程添加M文件,然后生成DLL文件。如果要在脱离MATLAB的环境中调用所生成的DLL文档,在打包之前需为MATLAB安装配置文件MCRIstaller.exe,最后打包。
2.2 在VB中调用DLL
首先在VB中创建一个新工程,在工程中引用DLL文件,实现MATLAB和VB接口的信息链接。在菜单“工程”下选择“引用”选项,从而进入了引用对话框设置窗口。如图2所示。
通过“浏览”,将所生成的DLL文件添加到可用的引用框中,并将其勾选。添加成功后,需要对组件进行声明。即在通用声明栏中对COM组件进行声明,其语法结构为:
Private DE As mtkl.mtklclass
然后需要在窗口载入时进行组件的初始化,其语法结构为:
Set DE=New mtkl.mtklclass
由于工程实际中对数值计算的要求,在调用DLL时,要将各个参数的精度转换成双精度型,从而提高计算精度。
2.3 VB程序的打包
可利用VB程序自带的打包工具便可实现程序的打包。打包完的程序可以随意进行移植执行,有利于程序的推广[6]。
3 应用实例
在工程实际中,运用MATLAB和VB混合编程方法进行编程已产生了很多有效的应用。如西安石油大学王江萍、鲍泽富将VB和MATLAB结合,用于钻井事故诊断系统开发,通过钻井现场所得到的数据样本,用曲线拟合与人工神经网络技术,设计实现钻井数据异常诊断系统。经实践证明,该方法切实可行,并对钻井生产具有指导意义[7]。西安空军工程大学蒋静芝等将VB调用MATLAB的方法应用到基于神经网络的网络故障诊断系统的软件中基于MATLAB/VB的网络故障诊断软件设计中。该软件具有良好人机交互界面,便于网管人员的学习和掌握,且实例验证表明利用VB调用MATLAB方法开发的网络故障诊断系统,其诊断结果可靠,能够满足网络实时故障诊断的要求[8]。
本文将运用MATLAB和VB混合编程方法对圆柱形螺旋弹簧进行可靠性设计。已知,圆柱形螺旋弹簧变形量的计算公式为:
根据试验数据可知,轴的压力F~N(700,35),材料G~N(8×104,0.224),弹簧中径D~N(35,0.23),弹簧直径d~N(5,0.1),有效圈数n~N(10.5,0.2),采用蒙特卡洛模拟法来确定圆柱形螺旋弹簧变形量的特征参数。
3.1 蒙特卡洛模拟法的原理与计算流程图
应用蒙特卡洛法模拟应力和强度的分布来计算可靠度,是一种行之有效的方法。文献[9,10]中详细介绍了蒙特卡洛模拟法的原理以及计算程序流程。
3.2 编写M文件
借助MATLAB强大又方便的数值计算,编写mtkl.M文件来实现蒙特卡洛模拟算法。M文件部分代码如下:
这个M文件便是执行计算模块,接着按照前面所介绍的方法将此M文件生成可供VB程序调用的DLL文件。
3.3 VB程序的调用
按照前面所介绍的VB调用MATLAB所编译的DLL文件的方法,依次在VB新建工程中的引用DLL文件,并且对COM组件进行声明和赋值初始化。
在VB程序调用接口函数,语法结构为:
Call DE.FUNm(c F,m F,c D,m D,cn,mn,c G,m G,cd1,md1,n)
通过此接口函数,VB程序便可以调用在MATLAB中所编制的M文件,即计算执行模块,从而实现混合编程。工作界面如图3所示。
在此工作界面中,任意参数的值均可以随时动态也进行改变。
点击第一、第二个按钮结果如图4、图5所示。
4 结语
本文详细讨论了基于COM组件的MATLAB和VB混合编程方法。在使用由VB开发的运算软件系统时,通过把MAT-LAB开发的COM组件作为VB的一个动态链接库,可以轻松地在VB中使用MATLAB所提供的各种数据计算、分析,图像生成、处理工具,并且可以随时改变参数值,从而得出相应结果和图形,实现动态反应,这样能充分发挥这两种软件各自的优点,从而大大提高了软件的计算分析功能和开发效率,然后进行封装打包,使软件保密性更高。可见基于COM组件的MATLAB和VB混合编程方法在机械可靠性设计,乃至机械工程上将是一种很有应用前景的技术。
参考文献
[1]苏炜,杨敏.用VB和Matlab混合编程方法的讨论[J].现代电子技术,2004(12):66-67.
[2]宋广东,刘统玉,王昌,等.基于COM组件的VB和MATLAB混合编程实现振动信号处理[J].山东科学,2010,23(1):32-35.
[3]于洋,周学伟,赵亚威.COM组件在实现VB调用MATLAB中的应用[J].计算机工程与科学,2008,30(5):110-112.
[4]沈小燕,王乘.COM/DCOM接口技术及其在MATLAB中的应用[J].计算机工程与设计,2002(8).
[5]王富昌,曹慧荣.VB与MATLAB的完美结合——MatrixVB[J].电脑学习,2002(2).
[6]楼玉萍.Visual Basic程序设计[M].杭州:浙江大学出版社,2006:310-312.
[7]王江萍,鲍泽富.MATLAB与VB混合编程及其在钻井事故诊断中的应用[J].石油工业计算机应用,2009(4):37-43.
[8]蒋静芝,孟相如,等.基于MATLAB/VB的网络故障诊断软件设计[J].计算机测量与控制,2010,18(6):1440-1442,1461.
[9]龙东平,冯进,张慢来.蒙特卡洛法在机械零件可靠性设计中的应用[J].石油机械,2004,32(4):22-25.