一种实验室自动化和测量的编程环境.docx
《一种实验室自动化和测量的编程环境.docx》由会员分享,可在线阅读,更多相关《一种实验室自动化和测量的编程环境.docx(17页珍藏版)》请在冰点文库上搜索。
![一种实验室自动化和测量的编程环境.docx](https://file1.bingdoc.com/fileroot1/2023-5/9/97fa9b44-2e83-4b39-86b4-0a4485270cf4/97fa9b44-2e83-4b39-86b4-0a4485270cf41.gif)
一种实验室自动化和测量的编程环境
毕业论文说明书
外文文献及翻译
NationalInstrumentsLabVIEW:
AProgrammingEnvironmentforLaboratoryAutomationandMeasurement
Abstract:
NationalInstrumentsLabVIEWisagraphicalprogramminglanguagethathasitsrootsinautomationcontrolanddataacquisition.Itsgraphicalrepresentation,similartoaprocessflowdiagram,wascreatedtoprovideanintuitiveprogrammingenvironmentforscientistsandengineers.Thelanguagehasmaturedoverthelast20yearstobecomeageneralpurposeprogrammingenvironment.LabVIEWhasseveralkeyfeatureswhichmakeitagoodchoiceinanautomationenvironment.Theseincludesimplenetworkcommunication,turnkeyimplementationofcommoncommunicationprotocols(RS232,GPIB,etc.),powerfultoolsetsforprocesscontrolanddatafitting,fastandeasyuserinterfaceconstruction,andanefficientcodeexecutionenvironment.Wediscussthemeritsofthelanguageandprovideanexampleapplicationsuitewrittenin-housewhichisusedinintegratingandcontrollingautomationplatforms.
Keywords:
NILabVIEW;graphicalprogramming;systemintegration;instrumentcontrol;componentbasedarchitecture;robotics;automation;staticscheduling;dynamicscheduling;database
1Introduction
Cytokineticsisabiopharmaceuticalcompanyfocusedonthediscoveryofsmallmoleculetherapeuticsthattargetthecytoskeleton.Sinceinceptionwehavedevelopedarobusttechnologyinfrastructuretosupportourdrugdiscoveryefforts.Theinfrastructureprovidescapacitytoscreenmillionsofcompoundsperyearintestsrangingfrommultiproteinbiochemicalassaysthatmimicbiologicalfunctiontoautomatedimage-basedcellularassayswithphenotypicreadouts.Therequirementsforprocessingthesenumbersanddiversityofassayshavemandateddeploymentofmultipleintegratedautomationsystems.Forexample,wehaveseveralplatformsforbiochemicalscreening,systemsforlivecellprocessing,automatedmicroscopysystems,andanautomatedcompoundstorageandretrievalsystem.Eachin-houseintegratedsystemisdesignedaroundaroboticarmandcontainsanoptimalsetofplate-processingperipherals(suchaspipettingdevices,platereaders,andcarousels)dependingonitsintendedrangeofuse.Tocreatethemostflexible,highperformance,andcost-effectivesystems,wehavetakentheapproachofbuildingourownsystemsin-house.Thishasgivenustheabilitytointegratethemostappropriatehardwareandsoftwaresolutionsregardlessofwhethertheyarepurchasedfromavendororengineereddenovo,andhencewecanrapidlymodifysystemsasassayrequirementschange.
Tomaximizeplatformconsistencyandmodularity,eachofour10automatedplatformsiscontrolledbyacommon,distributedapplicationsuitethatwedevelopedusingNationalInstruments(NI)LabVIEW.Thisapplicationsuitedescribedindetailbelow,enablesourenduserstocreateandmanagetheirownprocessmodels(assayscripts)inacommonmodelingenvironment,tousetheseprocessmodelsonanyautomationsystemwiththerequireddevices,andallowseasyandrapiddevicereconfiguration.TheplatformissupportedbyacentralOracledatabaseandcanruneitherstaticallyordynamicallyscheduledprocesses.
1.1NILabVIEWBackground
LabVIEW,whichstandsforLaboratoryVirtualInstrumentationEngineeringWorkbenchisagraphicalprogramminglanguagefirstreleasedin1986byNationalInstruments(Austin,TX).LabVIEWimplementsadataflowparadigminwhichthecodeisnotwritten,butratherdrawnorrepresentedgraphicallysimilartoaflowchartdiagramProgramexecutionfollowsconnectorwireslinkingprocessingnodestogether.Eachfunctionorroutineisstoredasavirtualinstrument(VI)havingthreemaincomponents:
thefrontpanelwhichisessentiallyaformcontaininginputsandcontrolsandcanbedisplayedatruntime,ablockdiagramwherethecodeiseditedandrepresentedgraphically,andaconnectorpanewhichservesasaninterfacetotheVIwhenitisimbeddedasasub-VI.
Figure 1. ExampleNILabVIEWVI.
Thetoppanel(A)showsthefrontpaneloftheVI.Inputdataarepassedthrough“Controls”whichareshowntotheleft.Includedherearenumberinputs,afilepathbox,andageneralerrorpropagationcluster.WhentheVIruns,the“Indicator”outputsontherightofthepanelarepopulatedwithoutputdata.Inthisexample,dataincludenumbers(bothasscalarandarray),agraph,andtheoutputoftheerrorcluster.Inthebottompanel(B)theblockdiagramfortheVIisshown.Theoutercasestructureexecutesinthe“NoError”case(VIscanmakeinternalerrorsorifcalledasasub-VIthecallermaypropagateanerrorthroughtheconnectorpane).
Unlikemostprogramminglanguages,LabVIEWcompilescodeasitiscreatedtherebyprovidingimmediatesyntacticandsemanticfeedbackandreducingthetimerequiredfordevelopmentandtesting.2WritingcodeisassimpleasdragginganddroppingfunctionsorVIsfromafunctionspaletteontotheblockdiagramwithinprocessstructures(suchasForLoops,orCaseStructures)andwiringterminals(passinginputvalues,orreferences).Unittestingissimplifiedbecauseeachfunctionisseparatelyencapsulated;inputvaluescanbesetdirectlyonthefrontpanelwithouthavingtotestthecontainingmoduleorcreateaseparatetestharness.Thefunctionsthatgeneratedatatakecareofmanagingthestorageforthedata.
NILabVIEWsupportsmultithreadedapplicationdesignandexecutescodeinaninherentlyparallelratherthansequentialmanner;assoonasafunctionorsub-VIreceivesallofitsrequiredinputs,itcanbeginexecution.InFigure 1b,allthesub-VIsreceivethearrayinputsimultaneouslyassoonastheForLoopiscomplete,andthustheyexecuteinparallel.Thisisuniquefromatypicaltext-basedenvironmentwherethecontrolflowslinebylinewithinafunction.Whensequentialexecutionisrequired,controlflowcanbeenforcedbyuseofstructuressuchasSequences,Events,orbychainingsub-VIswhereoutputdatafromoneVIispassedtotheinputofthenextVI.
Similartomostprogramminglanguages,LabVIEWsupportsallcommondatatypessuchasintegers,floats,strings,andclusters(structures)andcanreadilyinterfacewithexternallibraries,ActiveXcomponents,and.NETframework.AsshowninFigure 1b,eachdatatypeisgraphicallyrepresentedbywiresofdifferentcolorsandthickness.LabVIEWalsosupportscommonconfigurationmanagementapplicationssuchasVisualSourceSafemakingmultideveloperprojectsreasonabletomanage.ApplicationsmaybecompiledasexecutablesorasDynamicLinkLibraries(DLLs)thatexecuteusingarun-timeenginesimilartotheJavaRuntimeEnvironment.Thedevelopmentenvironmentprovidesavarietyofdebuggingtoolssuchasbreak-points,trace(trace),andsingle-step.ApplicationscanbedevelopedusingavarietyofdesignpatternssuchasClient-Server,Consumer-Producer,andState-Machine.TherearealsoUML(UnifiedModelingLanguage)modelingtoolsthatallowautomatedgenerationofcodefromUMLdiagramsandstatediagrams.
Overtheyears,LabVIEWhasmaturedintoageneralpurposeprogramminglanguagewithawideruserbase.
2LabVIEWasaPlatformforAutomationandInstrumentation
OurexperiencecreatingbenchtopinstrumentationandintegratedautomationsystemshasvalidatedourchoiceofLabVIEWasanappropriatetool.LabVIEWenablesrapiddevelopmentoffunctionallyrichapplicationsappropriateforbothbenchtopapplicationsandlargerintegratedsystems.Onmanyoccasionswehavefoundthatprojectrequirementsareinitiallyilldefinedorchangeasnewmeasurementsornewassaysaredeveloped..Thereareseveralkeyfeaturesofthelanguagethatmakeitparticularlyusefulinanautomationenvironmentforcreatingapplicationstocontrolandintegrateinstrumentation,manageprocessflow,andenabledataacquisition.
2.1TurnkeyMeasurementandControlFunction
LabVIEWwasoriginallydevelopedforscientistsandengineers.ThelanguageincludesarichsetofprocesscontrolanddataanalysisfunctionsaswellasCOM,.NET,andsharedDLLsupport.Outofthebox,itprovidesturnkeysolutionstoavarietyofcommunicationprotocolsincludingRS232,GPIB,andTCP/IP.ControlstructuressuchastimedWhileLoopsallowsynchronizedandtimeddataacquisitionfromavarietyofhardwareinterfacessuchasPCI,USB,andPXI.
2.2DataSocketandVIServer
Deploymentofanintegratedsystemwithmultiplecontrolcomputersrequirestheautomationcontrolapplicationtocommunicateremotelywithinstrumentdriversexistingonremotecomputers.LabVIEWsupportsadistributedarchitecturebyvirtueofenablingseamlessnetworkcommunicationthroughtechnologiessuchasVIServerandDSTP(datasocketstransferprotocol).DSTPisanapplicationlayerprotocolsimilartohttpbasedonTransmissionControlProtocol/InternetProtocol(TCP/IP).Datasocketsalloweasytransferofdatabetweenremotecomputerswithbasicreadandwritefunctions.ThroughVIservertechnology,functioncallscanbemadetoVIsresidingonremotecomputersasthoughtheyareresidingonthelocalcomputer.BothDatasocketsandVIservercanbeconfiguredtocontrolaccessesprivileges.
2.3SimpleUserInterface(UI)Implementation
Inadditiontocommoninterfacecontrolssuchastextboxes,menurings,andcheck-boxes,LabVIEWprovidesarichsetofUIcontrols(switches,LEDs,gauges,arraycontrols,etc.)thatarepertinenttolaboratoryequipment.ThesehavetheiroriginsinLabVIEWslaboratoryrootsandhelpindevelopmentofinterfaceswhichgivescientistsaclearunderstandingofasystem'sstate.LabVIEWsupportsUIconceptsincludingsubpanels(similartotheMultipleDocumentInterface),splitterbars,andXControls(analogoustoOCXcontrols).
2.