VoI.53 NO.1 工程与试验ENGINEERING&TEST MOOG控制器的应用与多通道软件的设计 董 天 ,张再林 ,胡新玲 ,王暖春 ,庄树明 (1.吉林省人民医院,吉林长春130012;2.长春机械科学研究院有限公司,吉林长春130012) 摘要:主要研究MOOG控制器的应用与LabVIEW开发平台下软件的编写,详细介绍了MOOG控制器功能以及 SDK接口函数的调用方法。 关键词:MOOG控制器;LabVIEW;SDK 中图分类号:TP342 .3 文献标识码:B doi:10.3969/j.issn.1674—3407.2013.01.018 Application of MOOG Controller and Design of Multichannel Software Dong Tian ,Zhang Zailin。,H u Xinling ,Wang Nuanchun。,Zhuang Shuming (1.Peoplgs Hospital of Jilin Province,Changchun 130012,Jilin,China;2.Changchun Research Institute for Mechanical Science Co.,Ltd.Changchun 130012,Jilin,China) Abstract:The application of MOOG controller and software development under the LabVIEW software development environment are discussed.The functions of MOOG controller and the call— ing method of SDK interface are introduced in detail. Keywords:MOOG controller;LabVIEW;SDK 1 引 言 航空航天、汽车等行业的高速发展推动着电液 伺服动态测试技术的不断发展。控制器作为电液伺 服动态测试系统中的关键部件,直接影响着系统的 控制品质。本文详细介绍了MOOG控制器的应用 图1 MOOG-PTC控制器 及试验软件编写方法。 器; 2 MoOG控制器介绍及应用 每个通道采用FPGA作为核心部件,闭环速率 lOkHz,内含信号调理、控制和驱动功能; 2.1 MOOG—PTC控制器简介 单个控制箱最多可扩展至4个独立控制通道; PTC控制器是M0OG公司控制器中一款高可 采用MOOG—FCS专利保护的独特力控制闭环 靠性、高性价比的便携式多通道控制器(如图1所 算法; 示),该控制器具有以下特点: 信号发生器具有多种波形,0.O1—500Hz发生 采用独立控制箱,具有独立的计算机系统,采用 频率; 1.8GHz主频CPU,并自带硬盘; 可选配丰富的模拟量、应变片、加速度、数字输 内嵌实时操作系统,Vxworks OS; 入输出板卡; 自带640×480分辨率的LCD显示屏和示波 带有VGA输出端口和键盘接口,方便扩展。 [收稿日期]2O13—03--04 [作者简介]董天(1966一),男,吉林长春人,工程师。 ・ 57 ・ 工程与试验 2.2 MOOG控制器在国外发展和应用状况 MO()G公司旗下产品涉及伺服阀、液压伺服作 动器、控制器等,同时还具备大型试验测试能力,在 航空航天领域应用多达上百通道测试系统。在汽车 领域中,提供1—32测试通道解决方案,其中四立柱 道路模拟、六自由度运动平台等应用较多,拥有奔 驰、大众、通用、福特等国际知名合作伙伴。 3 软件设计 软件采用美国国家仪器(NI)公司研制开发的 LabVIEw程序开发环境编写,通过M()()G控制器 SDK软件开发工具完成软件与PTC之间的通讯功 能。软件采用多文档界面的设计风格,显示表头采 用可配置方式,可同时绘制多条实时曲线。具有多 图4协调加载实际效果(多曲线)图 随机波(路谱)的导入、播放实际测试效果如图 5、图6所示。 通道协调加载、随机波路谱加载等动态疲劳试验功 能,同时还可以完成静态强度、刚度等指标测试。通 过该中文软件,用户可以轻松完成传感器的标定、线 性修正、输入信号的低通滤波、伺服阀的配置、函数 发生器的设置、上下限位保护、以及协调加载和外部 波形文件的输入、油源控制等功能,无需繁琐的英文 操作。主界面如图2所示。 图5随机波装载图 _■ 旦}皿 曼f_=Il工I三I互l旦I立I-l 2l ●●●● ●- ●-一 … …●- 卉~’ 『、 ^ … - 。L 一~T J j— t- ,- I 一 ‘一 lll 图2主界面图 1- ……… 一 函数发生器的设置以及多通道协调加载实际测 试效果如图3、图4所示。 一 瞄 ‘; ’’ ;・ ‘ ’ ’‘ i‘’_ ‘。 图6 随机波实际播放效果图 4 MOOG控制器SDK主要功能 SDK开发工具包含LabVIEW子vi模块,通过 调用不同模块可以实现如联机、采样、函数发生器等 功能。由于子vi模块较多,这里将主要功能模块简 单进行说明。 图3试验设置界面图 ・ 58 ・ NO.1 2O13 董天,等:M()OG控制器的应用与多通道软件的设计 NewSamplerWithProperties Version SmartSDK (1)初始化 V1 AddSamplerProperty DeleteSamplerProperty CloseSample InitSmartSDK ReleaseSmartSDK IsSmartSDKInit GetSmartSDKVersion Closesamplers ——(6)函数发生器vi inControlmode inWavetype In Channel GetControllers (2)属性vi Names CmdCycle applifct Handie Ira _■ ●●●■- -Cmd Property l Handle In Station InplIt erlY ̄r …… put ilames _■ ●-●-一:::::::: OutIn Station Inpnt error 1—.—.—.—.——~ t I一::::::_一 Ontpul values Cycle Settings 一Values j inCommandMask LoadCycle ResetCycleCounter IsmodelValid ————GetPropertyModel GetPropertyI ists SDK中API主要功能函数说明: long SMARTSDKAPI S_InitSmartSDK(); —GetPropertyI istvalue SetPropertyListvalue long SMARTSDK—API S—InitSmartSDK— WithPriority(1ong inPriority); long SMARTSDK—(3)采样vi IDC0MPCjn Cm,t Sampler PC AddIPPC __API SReleaseSmartSDK —(); tab Values long SMARTSDKIDC()MPC out port —API S—IsSmartSDKInit P0nIJDP (); long SMARTSDK—entr ee d terreur (pas d erreur) InitSamplersPC ————sortie d eITeur API SGetSmartSDKVer— —sion(char*outVersion。const unsigned long in— BufferLength); long SMARTSDK—ReadsamplersPC ————API S—GetControllers CloseSamplersPC _——(const char*inDelimiter,char*outControllerL— ist,const unsigned long inControllerListI ength); Handle 0ul (4)联机vi Cmd connection Handie In long SMARTSDK——API SCreateConnection —。(const char*inHost): AddIP Input error long SMARTSDKAPI SCreateValidConnec— ——tion(const char*inHost): CreateConnection long SMARTSDK—API S—CloseConnection CreateValidConnection CloseConnection (const unsigned long inHandle); long SMARTSDK——API SGetPropertyModel ——(5)采样配置vi PortUDP Inh ̄sInit samplers —(const unsigned long inHandle,const char*in— Station,char*outModel,const unsigned long in— Handle Samplers OUT AddIP_PC _CmdSamplers _ModelLength); inHandle Handle Samplers IN entr’ee d erreur long SMARTSDK——API S——GetPropertyI ist Sortie d erreur (const unsigned long inHandle,const char*in— Station,const char*inDelimiter,char*outProp— ertyList,const unsigned long inPropertyI istLe— ngth); ・ pas d erreur) hffosconfig samplers _NewSampler 5g ・ 工程与试验 ong SMARTSDK—March 2013 API SGetPropertyValue —const char*inChannel。 (const unsigned long inHandle,const char*in— Station,const char*inPropertyName,char* outValue,const unsigned long inValueLength); long SMARTSDK—const unsigned long inCommandMask, const unsigned long inWaveType, const unsigned Iong inControlMode, const float in0ffset, eonst float inAmplitude, const float inFrequency, const float inOffsetRateLimit, API S—SetPropertyValue (const unsigned long inHandle,const char*in— Station,const char*inPropertyName,const char *inValue); Iong SMARTSDKAPI S_NewSampler(const —const float inAmplRateLimit, const float inFadeTime, unsigned 1ong inHandle,const char*inHostDe— scriptor,const float inSampleFrequency,const const float inBlockRatio。 const float inTrapRatio, float inPacketFreq uency long SMARTSDK—API SNewSamplerWith— —const float inPhase0ffset, const unsigned long inStopCycle, const unsigned long inMeasuredAve Properties(const unsigned long inHandle.const char*inHostDescriptor,const float inSampleFre— quency,const float inPacketFrequency,const long ); long SMARTSDK—inFilterSwitch,const char*inPropertyXm1); API SResetCycleCounter —long SMARTSDK-API S_AddSamplerProper— ty(const unsigned long inHandle,const unsigned long inSamplerHandle,const char*inStation. (const unsigned long inHandle,const char*in— Station,const char*inChanne1): const char*inPropertyName); long SMARTSDKAPI SDeleteSamplerProp— —5 结 语 采用MOOG控制器及该多通道试验软件,在 提供了高品质的动态伺服控制的同时,又保证了多 通道间的协调性,通过长时试验的测试和使用,性能 —erty(const unsigned long inHandle。const un— signed long inSamplerHandle,const char*inSta— tlon,const char*inPropertyName): long SMARTSDK—API S—CloseSampler 稳定,为航空航天、汽车等行业动态测试提供了很好 的解决方案。 (const unsigned long inHandle,const unsigned long inSamplerHandle); long SMARTSDKAPI S_LoadCycle( —参考文献 Eli MOOG使用手册[z3. const unsigned long inHandle, const char*inStation. ・ 6O ・