Você está na página 1de 295
LabVIEW" Intermediario II: Manual do Curso de Conectividade <7 NATIONAL, INSTRUMENTS" | p be Ghose Geren LabVIEW™ Intermediario II: Manual do Curso de Conectividade Software do Curso Versio 8.6 Edigdo Outubro 2008, Part Number 3237580-0188 irate tor Prot urea ds Programa d Computer (© 2204-200 Nata istunerts Carpet Tedscs eos seas. ‘ho sbogo asec eta d ut epynghv Psa Suc es Metanss6 Compusay, ea putas ra pode 1 ‘odd a rei oo qucque oma, conan mecca, flu ada, ara, amazenaprn a ar (espera ces, ou Vaduz, feo ogre, Se cosas peba po: oda Nand as Copoaion ‘Aaa amet naps propedal ese slits sb ikl ue amo esi, avert Masi pete oa Oto de AuCopyh Pref Judea das Peanas ce Carga eats ks de rote esta On soar pode er usa para repeat aces ass perce a wes, pe ‘eof apr erodes psa ae repoansde atd com os lms de usu kenga et ter on eto ea ssi utes ator oem se patos as componuesutleaos aS rcs, CU, HOS Cte 5,264 ary, Sg) Prs ur it de conge restlg elaea extes comune, ese ous Cony sight. oro st pe inc stare sonal pl Apache ature Founton ne ep: aww. epochs.) Capa oe get Sawa Foundton, Tos 08 os safes. CU, copy 1905-2078 neal Busines Machine Corrine. Teo ats ara. OFS NCSA HOF ert Data format ) La Saar Uses ‘apg 998, 1969, 200 201, 2009 plo Caen de Tasted Uniersace denasTdo des rere, ‘ate! 5. coma 20s componsts que usam adapters 0 sous dea uta: Capri 109 aad Company bet rary Copy © 204-206, ate Wison ane yrs Stware. Tos os eos Resa Sana. Et ster es Say Sater desi a cso Rog Ve Satan de ade. Capi 1098-2108, ovrn eTocs oc Drees Reser, areas Raistasas Nana nraren Woy LBV si ras estas de Nsona nstunsntsCporaon Por vor ensue Terme Useem oi con/ Sega ita misinorge obe eaas oRtrlnsinats Css noma de secaese reds acu menos macs rela ou res dh cmb ts spect Os tam tr! sant soe Par Progra so ete epics nde atonal nem 8 noth ese res snes, pers, ey snags cca com a aon sens, sec Pate ara ptera ore pods clei cd Soa ister, vos los apoprio: Mlp-Patns no este, ‘eo patents ext em sa mide i Na Istomens Peas ncon/bat ns, ‘Supe Tesco Iermages sobre msc prodstos le ness she sito Ceuta! ana tastuent Corporate 11800 Nach Meqac Experoay "Austin, Tena 74758-3904 USA. Tec S12 6896100, srr neato ‘Aca Su 27011 107. Aleman 4989743130, Aus 4 6694579900, sri 80030020, ‘alge 32(0)2757 00, Sri $9.11 3149 348 Con 40043248, Ch 8621 SSDSREE Chespre 180026 S886 Con 2 2 USI a, Damen 4437626, 86 1425120 pnt 3498 D008 nnd 355 (0) 972572511 Prango 57 6742 Nolnd 1 () 3833 kn 919419000, 97439379 ‘ua 9 4130827, 12032796. Lane 961) 133 28 2%, Msn 188 887710 Meio 8001079 Nonsp £7 () 66997 0 Nova Zaina O80 58932, ona 4 2 26910 Pomel 21031) 210 eto Uni 440 1685 52525 Repen eben 12072425714, Ra 740518 8], Sula 6 (9837 8950, Sg 4156 2008151, Tani 663278677, Tn 6022 277220, arun 99212279500 "a mais nformatie oote omni Ifompie eRe Adon Pus cmentis ou ess, ass pig Welsnvsem/ineoe dies eéaiga esas Contetido Guia do Aluno A. Certificagio NI... B. Deserigio do Curso. C. O gue voce precisa part Iniciar. 1D. Instalando 0 Software do Curso E, Objetivos do Curso F. Convengdes do Curso. ~ Ligdo 1 Chamando Bibliotecas Compartilhadas no LabVIEW ‘A, Tnfrmagies Gerais sobre Biblotecas Compartthadas B. Chamando Bibtiotecas Comparithadss Exefteio 1-1 Nome do Computador €. Use o pon Shared Library Wizard Exefeteio 1-2» Wizard Importe Biblioteca Compartihada Ligdo 2 Wi Server ‘A. Oqueé VI Server”, B. Modelo VI Server de Programagio . Fangées do VI Server Exercicio 2-1 Opgbes de VI Server. Exercicio 2-2 _VI Statistics. D. Comenicagio Remote. Exereicio2-3 Remote Run VI E. Chamando e Carregando Vis Dinamieamente. Exereicio 24 Vis Chamades Dinamicamente Ligdo 3 ‘Chamando Objetos no LabVIEW ‘A. Chamando objetos no LabVIEW usando ActiveX B, Usando 0 LabVIEW como um Cliente ActiveX Exerecio 3-1 Browse 19 URL nn : Exereicio 32 VI Statistics Report C. Usundo o LabVIEW como um Servidor ActiveX. Byereicio 33. VI Frequeney Response... - D. Eventos Activex E, Chamando objets no LabVIEW usando NET... F. Implementando NET. : Exerecio +4 Font Dialog. Excreiio 35 Word Processor sou (ca tome Cron a an es on VEW mma G. Registranda eventos NET. Enerefeio 3-6 Auto Salvamento Ligao 4 Conectando a um Banco de Dados ‘A. Oqueé um Banco de Dados? B. Padrdes de Banco de Dados Exerc 4-1 Bxaminando um Banco de Dados. . Conectando a um baneo de dados Exercicio 4-2 Conecte 0 Banco de Dados de Theatre Usando o LabVIEW. , Desempenhando Operagdes Padronizadas no Banco de Dados. Exercicio 4-3 Selecione Dats de uma Tabela. Exercicio 44 _Inserir Novos Registros., EE. Sirucwred Query Language (Linguagem Exercfcio 4-5 “SQL QUetyiornnsnnms nnn Ligéo 5 ‘Transmitindo Dados A. Informagbes Gerais de Broadeastng de Dados. B, Irmplementanda Modelos de Broadeast. Exerefio 51 VI Statistics Broadcast Requisicdo Esruturada) Ligdo 6 Servindo Dados a um Cliente Usando TCP/P A. Informagaes Gerais sobre o TCPAP. os Berio M1 Sip Dat Chen Vi Simple Da ere 'B. Inplementando o Modelo Cliente/Servidor Exercicio6-2 TCP File Transfers Ligdo 7 Publicando Dados para um Subscriber A. Informagdes Gerais do Modelo de Comunieagto PublisherSubscrber .. B. Implementando o Modelo de Comunicagio Publisher/Subscrber. Bxereicio7-1 Publisher e Subscriber ‘Apéndice A Informagies e Recursos Adicionais indice Avaliagao do Curso at oad a0 ne » TD 7 718 Guia do Aluno gB ef ome ‘Obrigado por adquirir © kit do curso LabVIEW Intermedia I: Curso de Coneetvidade. O manual deste treinamento eo software que 0 acompanha ‘io utlizados no curso prtico, com duragio de dois dias, LabVIEW Intermedivo Iz Curso de Conectvidade. oct pode solicitar a compra do kit eompleto de curso com a ccorrespondente taxa de registro se vac8 se registrar no perfodo de 90 dias a compra do kit. Visite ni -con/ training para calenditios de cursos ‘online, conteddo centros de treinamento e insergdo de turmas.. Nota Para atualizngfns comecdies deste mantil, sopsse comin fa entre cam o chdiga rdcelv2, A. Certificagao NI (© Curso LabVIEW Inrermedidio I: Curso de Coneerividade 6 pate de uma série de cursos projetados para construir sua prefciéncia no LabVIEW e aju-Lo a preparar-se para os examesetornar-se um NI Certified Lab VIEW Developer e NI Certified LabVIEW Architect. A lustragio a seguir mostra (0s cursos que pertencem A série de weinamentos em LabVIEW, Acesse i .con/ training para mais informagGes sobre a Certficago NL * Galician | * Seteaastoa + Conor tence gto de « Soran Siareeaesctcctina * Sawer ae — | == SS ee == = = E Es tna tego Sourcing -Moglrinuews luton Aan ‘anaes "Seana ens Capea . ot 0 cso 6 BW marae Ca A B. Descrigao do Curso Este manuat de curso ensina como usar eoncetvidade avangada em Vis, Este manual presume que voc8 conhece Windows, que voce tem experiéncia {em escreveralgoritmos na forma de fuxograms ou diagrammas de blocos. fe que vocé partcipou do LabVIEW Basico I: Curso de Introdusiio © LabVIEW Basico I: Curso de Desenvolviment> ou que conlece todos 0s ‘conceitos contidos nos mesmos. Este curso também presume que vace tem "uma experiéncia de um ano ou mais de desenvolvimento no LabVIEW, [Este manual é dividido em ligbes, cada uma sobre um tépico ou sobre ume sétie de t6picos. Cada ligio consiste em: + Uma introduce que descreve 0 objetiva e tpicos da ligt, + Umma toca de idlas sobre os tépicos icios para reforcar os tpicas apresentados na + Um conjunto de exe ‘roca de informagaes ‘arias ligdes deste manual ineluem segbes de exereeios desafiadores & ‘opcionais + Um questionétio que rev8 0s conceitos importantes e funt da ligio. lidades C. 0 que vocé precisa para Iniciar ‘Antes de utilizar este manual, certfique-se que vact tem os seguintesitens: 'D. Windows 2000 ou posterior instalado no seu somputador este curso est ‘otimizado para Windows XP ©. LabVIEW Professional Development System 8.6 ou posterior 1D Microsoft Excel FOC do Curso LabVIEW Imermediario Il: CD do Curso de Conectividade, contendo as soguintes pastas Diretério Deseri Exercises Pasta contendo Vis e outros arquivos usados neste Solutions Pasta contendo exereicios eompletos do curso aa bd EW oe w on D. Instalando o Software do Curso ‘Complete os passos a seguir para instalar 0 software do cuts. |. Insta © CD do eurso em seu computador. A eaixa de dislogo LabVIEW Intermediate Course Material Setup aparece. Cigue Next. ‘Selecione Complete clique Nest (Clique Next para iniciar a instalugio, (Clique Finish para ssir do assistente de coniguragio. O instalador coloca as pastas Exercises e Solutions no nivel mais alto do diretrio raiz. (Os arquivos de exercicis esto localizados no diresério \ LabVIEW Intermediate 17 Diea _Nomes das pastas em aspas angular tas como , se referem as pastas do diretéro raz do seu computador. Reparando ou Removendo o Material do Curso \Vocé pode reparar ou remover 0 material do cur usando 0 recurso Adicionar ou Remover Programas no Paine! ce Controle do Windows. Repare 0 material do curso para sobreeserever 0 naterialexistente do curso com as vers6es origina nao editadas das pastas. Remova o material do curso se voo® ndo precisa mais das pastas em sux maquina, E. Objetivos do Curso Este curso apresenta os seguimtes tépicas: + Tecnologias de Rede = Modelo de procedimento de chamada exerna = modelo broadcast modelo clienvserver ~ modelo PublishiSubseribe + Implementar 0 modeta de pracedimento de chamada externa ~ Chamarbibliotecas compartithadas do LabVIEW ~ Controlar programaticamente Vis usando 0 VI Server + Usar as fungoes do VI Server para programaticamente carregar ce operar os Vis e LabVIEW em si. tt inant Copan 40 Cr a8 mat ~ Chamar objetos no LabVIEW usando ActiveX + Usaro LabVIEW como um cliente ActiveX + Usar @ LabVIEW como um servidor ActiveX + Bventos Activex ~~ Chamar objeos no LabVIEW usando NET + Usar'o LabVIEW como um cliente NET + eventos NET + Implementar 0 modelo broadeast = Usar-o UDP Vie fungées para criar umn sessio multicast UDP + Implementar 6 modelo clientserver = Usaro VI TCPIP e fungGes para comusicar-se com outras aplicagées localmente sobre uma rede + Implementar © modelo publish/subseribe = Usare 0 n6 Shared Variable para ler, escrever, e compantlhar dados entre Vise outras aplicagdes localmente e sobre uma rede Este ndo apresenta nenhum dos seguintes tpicos: + Principios bisicos da LabVIEW cobertos no LabVIEW Basico I: Curso de inrodugdo ¢ LabVIEW Basico Il: Cursode Desenvolvimento + Todo VI, fungio ou objeto; consultam 0 Help do LabVIEW para mais informagdes sobre caracterfsticas do LabVIEW nio desertas neste + Desenvolver um aplicativ completo para qualquer estudante em sala; ‘Va ao NI Example Finder, disponivel selecionando Help» Find Examples, para exemplos de Vis que voe8 >ode usar e incorporar em Vis que era F. Convengées do Curso a@ ae a EH indie [As seguintes conveng6es slo usadas neste manval (© sfmboo » o leva através de itens aninhados do menu o opsses da caixa de didlogo a uma ago final. A sequéncia File»Page Setup»Options 0 sireciona a abrir © menu File, selecionaro item Page Setup, escleciot Options da shtima caixa de didlogo. Este feone apresenta uma dice, que arta yoc® de informagtes de consulta, Este fcone apresenta uma nota, que alerta voc€ sobre informagaes importantes. Negrito alico Plationm ace Ana ste feone apresenta um aviso, que informa de yan precausio que deve ser ‘tomada para evitaretras, perda de dados av proslemas do sistema. ‘Textos em negrito destacam tens que voe# deve selecionar ou clicar no software, como itens do menu e opsbes de caixe de dilogo, Textos em egrito também deaotam nomes de parimetros, controles e botBes no panel frontal, caixas de didlogo, segdes de caixas de didlogo, nomes de menus © rnomes de paletas. ‘Texto em ico apresenta variéves, Gnfase, uma eferéncia eruzada ou uma introducio a um conceito importante. O texto em itélico também apresenta ‘uma palavra ou valor que voce deve insert. ‘Textoe nesta Fonte aprosontam um texto ou caracer que vooe deve inser a partir do teclado,sep8es do eddigo, exemplos dc programas e exemplos de simaxes. Esta fonte também é ullizada para noms de discos drives, Airet6rio, programas, subprogramas, subrotinasnomes de dispositivos, fungdes, operagdes,variveis, nomes eextensdes de arquivos eexcegbes do céaigo. ‘O texto nesta fonte mostra as mensagens e respestas que © computador automaticamente imprime na tela. Esta fonte também enfatiza linhas de ‘écigo que sio diferentes de outros exemplos. “Texto nesta fonteapresenta uma plataforma espcffica@ indica que o texto seguinte se aplica somente a aquela plataforma, © in sama Caputo ® Mao AW aio Chamando Bibliotecas Compartilhadas no LabVIEW Topicos ‘Voce pode usar o Lab VIEW para chamar c6dige escrito em outras linguas da seguinte forma: + Usando protocolos de plataformas espectfics. + Usar 6 Call Library Function Node para chamar os seguintestipos de bibtloteeas compartinadas: Dynamic Link Libraries (DLL) em Wincows = Frameworks em Mac OS Bibliotecas Compartithadas em Linus © excopo deste curso cobre 0 uso do Call Library Function Node para chamar Dynamic Link Libraries (biblotecas con partlhadas) em Windows Consulte 0 Help do LabVIEW para mais informagies sobre outras formas de uso do LabVIEW para chamar cédigo escrito em outras Knguas A. Informagies Gerais sobre Bibliotecas Compurilhadas B. Chamando Bibliotecas Compartilbadas ©. Use olmport Shared Library Wiza to iat Captor 4 our 4b ANEW sie (nt Ghani Bes Cangas ro LOVE A. Informag6es Gerais sobre Bibliotecas Compartilhadas Em Windows, uma biblioteca compartthada & chamada de DLL. Uma biblioteca compartilhada é uma bidioteca de fungbes executives ou dados ‘que podem ser usados por uma aplicago Windows. Uma biblioteca compuartilhada oferece uma ou mais fungBes que um programa pode acessar criando urn ink esttico ou dinamico para a bitlioteca eompartilhada. Um link esttic se mantém constante durante aexeaucio do programa eum link tinamico écriado pelo programa quando necessétio. A biblioteca comparilhada & armazenada como um arquivo binéio. ‘oct pode user qualquer linguagem para escrever em bibliotecas ‘compartilhadas contanto que bibliotecas comparilhadas possam ser ‘chamadac neande wma dae eonvengies dn eho suportada pelo LabVIEW, tanto stdcai2 quanto ¢, Exemplose informagio esclarecedores,ajudam a construire usar bibligecas compartithadas © ‘configuram com sucesso 0 Call Library Funetien Node no LabVIEW. (Os métodos gerais deseritos agui para DLLs também se aplicam para outros tipos de bibliotecas compartthadas. (0 LabVIEW carrega biblioteca compartthadas em uma aplicagio de Instincia Gniea. Abrindo uma biblioteca compatilhada em uma aplicago de instancia tnica evita nomear confit com Vis na biblioteca comparttbada, e VIs fora da biblioteca comparilhads, Vi ao diretorio Labviaw\exampies\d21 porexemplos de uso de bibliotecas compartilnadas, B. Chamando Bibliotecas Compartilhadas Esta sopio descreve o processo de usar uma biblioteca compartilhsda no LabVIEW. Descrevendo e Definindo Bibliotecas Compartilhadas \Voct pode chamar a maioria das bibliotecas compartithadas padriio com 0 Call Library Function Node. No Windows, estasbibliotecas compactihadas slo DLLs, em Mac OS, sio Framowearks, © em Linux, 0 Bibliotecas ‘Compartithadas. © Call Library Function Node inclui um amplo niémero dos tipos de dados e convengGes de chamada, Veo® pode usar o Call Library Function Node para chamar fungdes das bibliotscas mais padronizadas © personalizadas. tana esd bE we 1” see Lio taman Bis Compr EN Fungées, Vantagens, e Limitagdes de DLLs DLLs tem as seguintes vantagens: 1. Voce pode mudar o DLL sem mudar qualquer um dos Vis que se ligam 0 DLL, se voe® nio modifcar os protétipos de fungi. 2. Muitos dos ambientes de desenvolvimento nodernes ofereeem suporte para a ctiagdo de DLLs, no entanto, o LabVIEW suporta apenas um subconjunto de ambientes de desenvolvimento para eriagdo de Nos de Interface de Cédigo (CIN). 3. Em alguns casos, voo® pode querer desempenhartareFasadicionais em ‘certos tempos de exccugio, Para est fim, o Call Library Funetion Node ‘oferece rés pontos de entrada Reserve, Unreservee Abor. Por exemplo, aed ple eter ineiaizarestroqura de dados em tempo reservado ara o Call Library Function Node ou dados privadas lives quando © Call Library Funetion Node nto ¢ reservado ou abortedo. Para estas situagdes, vocé pode eserever e exportar rotinas do seu DLL que o LabVIEW chama nestes hordri pre-definidos. Vooé pode configurar testes pontos de entrada na pagina Callbacks da caixa de didlogo Call Library Funetion, (0 Call Library Function Node é mais spropriade quanda voce tem eédigo cexistente que voce quer chamar, ou se vocd est familiarizado com 0 processo de rizgio de bibliotecas comparilhadss padre. Como uma biblioteca usa um formato padrio entre vitios ambientes de desenvolvimento, voo€ pode usar qualquer ambiente de desenvolvimento para criar uma biblioteca que 0 LabVIEW possi chamar. Consult @ 'documentaglo para seu compilador para determ nar se voc® pode eriar bilbiotecas compartlhadas padrao, 0 compitador do LabVIEW pode gerar céigo sificientementeripide para 18 maioria des tarefas de programagio. Voc® pode chamar bibliotecas ‘compartithadas ou CINs para completa tarefas para 0 qual outta linguagem ppoderia combinar melhor. Também use CINs e bibliotecas compartlhadss| para tarefas que voc no pode desempeaar dirstamente do diagrama de locos, como chemar rotinas do sistema pars as quais no existe fungio correspondente no LabVIEW. CINS e biblioteca: compantilhadas também podem lincar cédigo existente 20 LabVIEW, embors voo® possa precisar ‘modifica 0 cédigo, assim 0 C6digo usa 0s tipos dados corretos do LabVIEW. CINsc bibliotecas compartilhadas executam de forma sineronizada,entd0.0 LabVIEW nilo pode usar o thread de execusto usado por estes objeto para quaisquer ovtras tarefas, so ntune cron 19 aaa de re dW rmeii 07 chan Betas Conger NEW (© LabVIEW nio pode interromper um eédigo de objetoem execuco, entio ‘yoc® no pode liberar um VI que esti exectando um CIN ou biblioteca ‘compartilhada até a execusfo completar. Se voct deseja escrever um CINou biblioteca comparithada que desempenhs umatarefa longa, figue ciente que 0 LabVIEW no pode desempenhar ovtrastarefas no mesmo thread enquanto estes objetos executam Quando um VI executa, o LabVIEW monitora 3 interface de usuirio, incluindo os menus ¢ teclado. Em aplicagées multithreaded, 0 LabVIEW tsa um thread separaco para tarefas de interface de usuario. Em aplicagées de thread iia, © LabVIEW alterna entre tarehis de interface de usuario e Vis em execugio. ‘Quando execvta um e6digo de objeto de biblioteca compartilhads, toma 0 Controle do seu thread de execuglo. Se uma apicagdo tem somente um tread nico de controle, a aplicagdo espera até que 0 cédigo de objeto retome. Em sistemas operacionais de thread dnico como Mac OS, bibliotecas compartlhadas evitam que outras aplicagées execute. ‘Método para Chamada de Bibliotecas Compartilhadas Use o Call Library Function Node para chamar diretamente wma DLL de 32 bits no Windows, um Framework Mac OS, eu uma func Biblioteca compartilhada no Linux. Com este né, voe® poe eriar uma interface 10 LabVIEW para chamar bibliotecas exisentes ou novas bibliotecas especificamente escrtas para usar eom 0 LabVIEW. A National Instruments recomenda usar Call Library Function Node para eriar uma interface para cédligo extern. Nota Assegure-se que quando usar o Call Library Function Node ou eserever um e6digo {que & chamado pelo Call Library Function Node, que o LabVIEW reserva mensagens ‘Windows WM_USER através de WM_USER#99 somente fara uso interno, Clique com o bot direito no Call Library Fun:tion Node e selecione Configure do menu de atalho para exibira caixa de distogo Call Library Punetion. Usa a caixa de disiogo Call Library Funetion para especificar biblioteca, fungi, pardmetos, valor de retorn para on6, convenges de cchamada, ¢ fungdes callbacks no Windows, Quando voce elics no botde OK ne eaixa de dislogo Call Library Funetion, o LabVIEW atualiza Call Library Function Node de acordo com suas Configuragses, exibindo © riimero correto de terminais ¢definindo os terminais dos tipes de didos correes. Bat Se wet quer execu plcages ou biliotecas comparihadascradas com diferentes verse do LabVIEW no mesmo computnoro computador deve na versio do abVIEW RonTime Engine que € compat! com ca verso do LabVIEW ‘sa para clr as apicages ou bees comparihadas eae a8 esti 6 ‘ison 90 cana tc nope 0 AEH Definindo a Rotina de Chamada ‘Uma rota de chamada define a forma de passarinformagdes de uma parte do céiigo para uma funcio. Use 0 controle Calling convention na aba Funetion da caisa de didlogo Call Library Funetion para selecionar & rotina de chamada para 2 fungio. A roti de chamada padrio éc. A rotina de chamada em c permite listas de pardmentros de comprimento variago na pilla de ordem inversa Isto pode conduzira ura leve diminuigéo de velocidede, (Windows) Vooé também pode usar rotina de chamada padre do Windows, ‘stdeal 1. Quando voe8 usa steal, os parmetros passam por wma fungao a pha na mesma ordem em que aparece na decaracdo da fungio. O ntimero de pardmetros passados & fungao é fio, Consulte a documentagio da DLL que voce quer chamar para as convengaes de chamada apropriadas. Cuidado _Usar as rotinas de chamada erradas pode causar um fechamento iregular do LabVIEW. Configurando Parametros Para configurarparkietros para o Call Library Function Node, navegue aé 2 aba Parameters de caixa de dislogo Call Library Funetion, Inicialmente, o Cal Library Function Node aio tem parimetrose tem um return type de Void. ‘A medida que vocé configura pardmetros, a caiva de texto Function Prototype exibe 0 protstipo em C para a fungic que est construinda. Esta caixa de texto & uma tela s6 de leitura Bola se um tipo de bibiotea 6 encontrado, os pardmetros si atualizados pra combinar os parimeteosenconrads na ibloteea de types para a fungi second ‘Nordem dos artmetos deve combinar com oprotétipo da nso encontrado a, biblotcs, (© return type para o Call Library Function Node retorna 20 terminal dieito| 4 terminal superior. Seo return type € Woid, 0 terminal superior nto é usado. Cada par de terminals adicionais correspoxde a um parametronalista| Parameters do Call Library Function Node. Pa passar um valor 20 Call Library Function Node, conecte ao terminal esqxerdo de um par de terminas, Para ler 0s valores de um parimetro apés a chamada do Call Library Function Node, eonecte a partir do terminal direito de um par de terminais. A Figura I-I mostra um Call Library Funetion Node que tem wim return type de Votd, um pardametro de string, © um parimetro numérico, sans samen Copan os Mot 0 Co ANEW ei haan Bocas Cangas LEY a Figura 1-1. Cal Libeary Functon Node Return Type Para return type, voce pode detinir Type para Void, Numeric ou String ‘Void esta somence disponivel para return type ¢ no esté dispontvel para ‘outros parimetros, Use Void para o return typese sua fungd0 ni retomna ‘quaisquer valores Mesmo sea fungio que voe® chama retorna um valor, vacé pode usar Vokd ‘parao return type-Quanda a funglo retorna ues valor vae# eleciona Vaid como 0 return type, o valor retornado pela funcio € ignorado. Nota _A funedo que voe®esté chamando pode retornar um Cstring pointer, Se voc8 quer Ueslocar 0 pontero, voct deve Fazer isso de forma bom explicita, Visto que o LabVIEW io desioca automaticamente 0 ponteiro C string pointer para voe8. Diea Se a fungao que voce esta chiamando retorna um tipo de dado no listado,escolha tum tipo de dado de retorno do mesmo tamanho de dados retornad pela fun, Por ‘exemplo, sea fungo retorna um tipo de dado char, use um intero nao sinalizado de 8 bits, Uma chamada a uma funcdo em uma DLL, mio pode etornar um ponte porgue lo hi tipos de ponteiros no LabVIEW. No entanto, vc8 pode especificuro return type ‘como um inter que & do mesmo tamanho do pontcro. © lapVIEW entao trata @ tenderego como um simples inteiro, e voce pode passé-lo pak Fuuras chamads de DLL, Adicionando e Apayando Parémetros Para adicionar parimetros para o Call Library Function Node, navegue a ‘aba Parameters da caixa de dislogo Call Library Function, Cligue no botio Add a parameter. Para remover um pardmetro, clique no botzo Delete the selected parameter. Para mudar a o'dem do parimeto, use os bottes Move the selected parameter up one e Mave the selected parameter down one 3 direita da lista de pardmetro. Editando Parametros Selecione pardmetro a partir da lista Parameters para editar os tips de «dados ou nome do parimetro. Voc€ pode editar 9 nome do pardmetro ‘para alguna coisa mais deseritiva, qe torne mais facil distinguir ent Parimetros. O nome do pardmetro nao afeta a ckamada, mas €transmitido 2s conexdes de sada Também, voc® pode editar todos os campos na sega Current parameter para o parimetro selecionalo. edo cuamane tos congrats oe Selecionando Tipo de Parametro Use o menu pull-down ‘Type para indicaro tipo de dado para cada, ppardmetro. Voc8 pode selecionar a partir dos Seguintes tipos de parimetros: + Numeric + Array + String + Waveform + Digital Waveform + Activex, + Adapt to Type + Instance Data Pointer ‘Apés voct selecionar um item do menu pull-down Type, voce v8 mais tens ‘que voce pode usar paraindicardetalhes a respeit do parfmetroe a respeito ‘de como passar os dados a fungao biblioteca. O Call Library Function Node tem viios itens diferentes para ipos de pares por causa da variedade de tipos de dados necessirios para diferentes bitliotecas. Consult a \LabVIEW Intermediate T\ Computer Nane, Chie o controle Buffer Size como deserita na Tabela. 1 B Crie o indicador Computer Name comodescrito na Tabela I+. (2s tt Coctin 19 ta ase Ln ames hte emt Bue Copia ASHE 2. Crie um tipo de controle enumerado com tipo denido, para contolar a miquina de estades. 1. Acresconte um controle de enom a0 panel frontal © Nomeie oenum seats Eom Clique com © batio diteitoe seleione o controle State Enum ¢ selecione AdvancedsCustomize do menu de atallbo pars abit ‘© Balitor de Conte, Clique com 0 botto direito no controle eselecione Eat items a parti do menu de atatho. GF 0s tens como mastrado na Figura 1-3 ¢ eligue OK. Figura 1-3. State Enum Provertos O Selecione Type Det. do menu pull-down Type Det. Status 1 Salve o controle como state snum.ctl no diretério \LabVIEW Intermediate IT\Conputer Name, G _Feche o Editor de Controle e clique Yes quando sugerido substituir ‘ controle original pelo personalizado, aC 6H tent v0 cee jo amad es Conrado EW © Nodiagrama de blocos, clique com o botio direito no contole State Enum ¢ selecione Change to Constant do menu de atalbo. |B Defina valor da constante do enum de estado para Get Computer Name. 3. Cre uma méquina de estados para controlar o programa como mastrado 1a Figura 1-4 usando os seguintesitens Figura 1-4. Wéquina de Estidos {.Aéicione um controle Exror In 3D 0 paiel frontal A partir do diagrama de blocos, clique ccm o botBo direito no controle error in (no error) ¢ selecione Change to Constant do ‘menu de atalho, Nomeie aconstante exzor in, CCologue um Loop While no diagrama de blocos. ‘Coloque uma estrutura Case dentro do Loop While oooa ‘Conecte a constante enum de estado Get Computer Name ao ease terminal seletor através de um shift regiser no Loop While. o CCique com o botdo direto na estrutura Case e solecione Add Case for Every Value do mene de atalho paraadicionar um case para cada valor na constante enum de estado Get Computer Name. “© aot srt copa net Mo bt LEW Ina sie unane tc Conprses aE G Conecte a constante error in i estruturs case através de um shift register |G Conecte 6 controle Buffer Size 3 miquina de estados como rmostrado na Figura 1-4 (Chame a funglo GetComput.erNane com os parimetros mostrados na “Tabela 1-3 Tabla 4-3, Parimetros GetComputerName Nome do Parametro [Tipo | FormatofTipo de Dados Outro return type ‘Numérico | Inteiro sinalizado de 32 bits = IpButfer String (CString Pointer ‘Selecione IpnSize ‘para Minimum size Ipnsize Namérico | Inteiro nlo sinalizado de | Sclecione Polnter to 32 bits ‘Value para Pass Abra a referéncia de fungio Getcomputername a partir de \LabVIEW Intermediate T1\Computer Name \getcomputernane. pa ¢ idemifigue o protétipo e pardimetros para a fungio. 1D. Cologue o Call Library Funetion Node no case Get Compoter Name, ddaestrutura Case Clique duas vezes no Call Library Function Node para abit a eaixa de didlogo Call Library Function. © Clique na aba Function e configure as cefinigses para combinar ‘com a Figura 1-5. — Clique no botto Browse e navegue para \W2NDOHS\ systen32\kernol32.4L1 = Selecione GetComputerNamed domens pull-down Funetion Name. = Selecione Run in any thread da segio Thread, Bits como as anges Windows AP sto reenantes(muliteaded) harando Getcomputertane cin Ul tread finiona conetamentc, exe seo eo no xh amazenado na locago de memoria apropriada para qbe GetLaetEror oaese = Selecione stdeall (WINAPD da segio Calling convention eat 0 ase aN ames 10 icon aio canine Rootes oot no VEN Figura 1-5. GetComputerName Call brary Function 1 Ciique na abe Parameters. — Assegure-se de que o pardmetro return type € selecionado. = Selecione Numeric do mena pull-down Type na seco Current parameter ~Yerifique que o menu pull-down Data type estédefinido para Signed 32-bit Integer. = Clique no botdo + para adicionar um parimetroapés 0 parémetro return type. = Bnire appurter na caixa de texto Name, = Sclecione String do menu pulldown Type. = Verifgue que o menu pull-down String format esti definide para C String Pointer: BZ Nota Voce deve dectarar um pardmetro adicional antes de define o tamanho minima para o parimetro IpBuffer. Deixe em branco Minimum size Clique no botso + para adictonar um parsmett. — Entre apnsiize na caixa de texto Name. —Selecione Numeric do men pull-down Type. (© Neon int atin 120 ere Cra an temas etchant ates Copa LEW ~ Selecione Unsigned 32-bit Integer do menu pull-dovin Data type ~_ Selecione Pointer to Value do men pull-down Pass, —_ Selecione o parimetro IpBuffer a partir da lista de pardmetro. = Selecione IpnSize do mens pull-down Mi = Confirme que a fungi prottipo combina com 0 texto a seguir Ant32_t GatComputerNanen Cstr IpBuf fer. wint32_t ‘Ipasize); 8 Clique OK. 5. Chame a fungio GettiastBeror com os perimetros mastrados a ‘Tabla 4 Tabela 1-4, GelLastérror Parameters NomedoParimetro | Tipo Formato/Tipo de Dados Outro return ype Numérico | Inteiro no sinalizado de 32 bits = Abra a refertacta da fungio Gatzasterror & partir de \LabVIBW Intermediate IT\computer Name\getlasterror pat e idenifique o prottipo e pardmetros, para a fungi. |B Cologue outro Call Library Function Nede no ease Get Computer Name. |G. Clique duas vezes no Call Library Function Node para abriaeaixa de Gidlogo Call Library Funetion. O Cligue na aba Funetion. — Clique no botto Browse e navegue pars \WTNDOHS\ systen32\kernel32.d11. = Selecione GetLastError do menu pill-éawn Funetion Name. — Selecione Run in any thread éa segio Thread. Sclecione stdcall (WINAPI) da secio Calling convention. D Clique na aba Parameters. _Assegure-se de que o parametro return type € selecionado, = Selecione Numeric do menu pull-dewn Type. = Selecione Unsigned 32-bit Integer do menu pull-down Type. onal eed oer a4 com ‘ie chm ones Cora 9 (OME = Confirme que a funeio protstipo combina com 9 texto a seguir uint32_t GetLasterroriveia) D Clique OK. 6. Crie o ease Get Computer Name como mostado na Figura 1-6 usando (0s seguintesitens Figura 1-8. Case Get Compute: Name {G Estrutura Fat Sequence ~ Coloque uo redor dos dois Cal Library Function Nodes BZ Nota a estrutura Flat Sequence assegura que o VI verifica wn erro imediatamente depois de chamara funcio GetComputerNames do dll | Shift Register ~ Clique com o boti dirito ne bord do Loop While eselecione Add Shift Register. Este shifirepister armazena a safda ‘do Call Library Function Node chamando a fungi GestLastEtror do DLL. Equal To 07 Unbundle By Name or Select ooooon ‘ndicador Computer Name atte Cupoaton 1s sabe do LEW tsi 17 rac Bees Congas Lane DDuas constantes de enum —Crie duas corstantes de enum adicionais licando com o botdo direto na constante de enum existente no iagrama de blocos e selecione Create-Constant, Define um valor para Stop e outro para Handle Error. 1D Constante False 1. Crie 0 caso Handle Error como mostrado na Figura [-7 usando os seguintes tens. ce Figura 1-7, Caso Handle 101s 1. VIGeneral Error Handler Q. Enuim constant —Crie uma constante a partir do enum terminal no lado direito da estrutura Case e defina © valor para Stop. Q Constante False G. Estrutura Case ~‘Tome o interior da estrtura case grande @ sulcente para incluir o o6digo mas, deice-o em branco. Neste ‘Passo, voce somente conecta o case Err. en or an ms 198 icon 201 ama te Compan SEW CChame a fungdo Formatitessage com os parimetros mostrades na Tabela 1-5, Tabela 1-5. Parémetros FormatMessage Nome doParimetro | Tipo Formato/Tipo de Dados ‘Outro return type ‘Numérico Tnteiro nBo sinalizado = de 32 bits wFlags Numérico Tnteiro nto inalizado | Selecione Value para de 32 bits Pass IpSouree ‘Adapt to Type | Pointers to Handles 7 ‘dwMessageld Numérico Tnteito no sinalizado | Selecione Value para ae 32 bits Pass ‘dwLangusgeld Numérico Inteiro rio sinalizado | Selecione Value para de 32 bits Pass IpBufler Swing (C Swing Pointer ‘Splecione nSize para ‘Minimum size nSize Numérico Ineiro nao sinalizado | Selecione Value para de 32 bits Pass ‘Arguments ‘Adapt to Type _ | Pointers to Handles 7 Aso hom Capron ‘Abra a referéncia de fungio Formatitessace a partir de \LabVIEW Intermediate TI\Computer Name\, cormatnmessage .paf e identifique o protétipo e pardmetros para a fungi. | Mude para o caso No Error da estrutura case dentro do caso Handle Error da méquine de estados. DCologue um Call Library Function Node no caso No Esror, Clique duas vezes no Call Library Function Node para abrir a eaixa dedidlogo Call Library Funetion, 1D. Clique na abs Function, Clique no botdo Browse e navegue para 0 \ systoni2\kernel32-dL1, ~_ Selecione Formattessaged do mem pull-down Funk Name. 12 aa 0d URE ei gio Cams ete Ceprate D ~ Sclecione Rum in any thread da se;%0 Thread. = Selecione stdcall (WINAPD) da segio Calling convention, 2 Clique na aba Parameters, = Assegure-se de que 0 parimetro return type &selecionado, = Selecione Numeric do menu pull-down Type, = Selecione Unsigned 32-bit Integer do meny pull-down Type. = Clique n0 botio + para adicionar um pardmetro = Entre dwrlage nacaixa de texto Name, =. Selecione Numeric do menu pull-down Type. =. Selecione Unsigned 32-bit Integerdo menu pull-down Data type. = Verifique se o menu pull-down Pass est definido para Value = Clique no botio + para adicionar um parimetro. = Entre apsource na eaixa de texto Name. = Selecione Adapt to Type do menu pull-down Type. = Selecione Pointers to Handles do menu pull-down Data Format. = Clique no botio + para adicionar um parémete. ~ Entre anttessagerd na caixa de texto Name. = Selecione Numerie do menu pull-down Type. = Selecione Unsigned 32-bit Integer do menu pull-down Data, type. = Verifique se o menu pull-down Passesté definido para Value. Clique no botio + para adicionar um parimetro Entre dvtanguagerd na c —_ Selecione Numeric da mena pull-down Type. ~_ Selecione Unsigned 32-bit Integer 4o menu pull-down Data type. = _Verifique se o menu pull-down Passesté definido para Value. Clique no botio + para adicionar um: pardmetro = Entre tpput ter na caixa de texto Name. = Sclecione String do menu pulldows Type. = Veifique que o menu pull-down String format est definido para C String Pointer, 2 de texto Name. Mana ec a EW v8 ew {iio avon anos onprtat no (ER J Nola Voos deve dectarar um parimetroadicional antes de definiro menu pull-down Minimum Size. Mantenha Minimum Size definido para por egora, a : (Clique no botdo Add a parameter para adieionar um parimetr Enire nSize na caixa de texto Name. Selecione Numerie do menu pull-down Type, Selecione Unsigned 32-bit Integer do menu pull-down Data type ‘Verifique se o menu pull-down Passesté definide para Value. (Clique no botao Add a parameter pera adicionar um pardimetro, Entre arsuments na caixa de texto Name. ‘Selecione Adapt to Type do menu pull-down Type. Selecione Pointers to Handles co menu pull-down Data Format. Selecione o pardmetro IpBuffer a parr da lista de pardmet, Selecione nSize do menu pull-down Minimum siz. Confirm que fung20 protétipo conbbina com o texto a seguir, uint32_t FormatMessagen(uinm32_t dwelags, void ‘sipsource, uint32_t dwifessagerd, uint32_¢ Awbenguageld, CStr IpBuffer, vint32_t nSize, void *Argunents) Boros termini conesponéentes aos agumentos do tip Vai esi om baneo sé ones porgu pros vid neta usu ip das Clique OK. nt cape 1 Mo es MEW te or una ns Capt EW 1. Cri o caso Handle Error como mostrado na Figura 1-8 usando 0s sequintes tens. Figura 1-8. Caso Handle Errors 1D Constante numérica — Defina a representagio para U32 ~ Nomele aconstante string size, ~ Defina valor da constante String Size para 1000. 1D Constante numérica Defina a representagdo para U32 Nomeie a constante nu21. value. ao Cluster de Biro do VI Exror Code = Clique com o botio direito no terminal de entrada de eSdigo de certo do Cluster de Erto do VI Error Code e selecione Creates Constant = Defina o valor da constante para 5000. ~ Nomeie a constante User Defines Error, eo 04s 0 LE mat 10 eo tise cman Boon comma ns Lae Constante numérica ~ Defina a tepresentagdo para U32 = Clique como botto direito no controle numérica € selecione Display Format do menu de aalho. Configure cada constante como mosado na Figura 1-9. icereataies 18 Figura 1-8, Numeric Constant Properties ~ Pressione o botio OK, ~ Defina 0 valor da constamte para 00000200. ~ Nomeie aconstante tgnore arguments = Crie uma eépia da constante Ignore Arguments = Mude o label da nova constante para syatem Message, — Defina 0 valor da constante System Message para 00001000, srt Copenan 10 a Cn dob MEW mit edo cana Bos anasto La 11, Cre o caso Stop como mastrado na Figura 1-10, Figura 4-10, Caso Stoo Selecione o caso Stop da estrutura Case © ric uma constante a partir do tne! enum no lado direito da cestrutura Case edefina valor para Stop 1. Crie uma eonstante a partirdo tinelstopno lado direito da estrutura Case e defina 0 valor para True © Conecte o ease como mostrado na Figura 1-10. 12, Salve VI Teste |. Teste 0 VI com um tamanho adequado de buffer © Execute 0 VI com o padrio Buffer Size 256), DO nome do seu computador deve ser exibido no indicador Computer Name, 2. Verifique que o nome de computador aparega corrto G Localize Meu Computador no desktop do seu computador ov no Windows Explorer, Clique com o botio diteto em Meu Computador e selecione Propriedades do menu de atalha, Me SEW eri 1 soon 201 ana us Copia LAY Sclecione a abz Nome do Computadore verifique gue ¢ Nome ‘Completo do Computador combina o valor que o VI retora, BB Wats caso dos nomes nto precisa combina 2, Teteogeonclamero deer n0 VL 1 Define o controle Bue Size para e cee 0 VL 1 Verifique queo Viexibe the file nane Ss too ong. como uma mensagem de exo, Q ica A mensagem de erro que exibe para este VI 6a descr para a mensagem de erro do Windows ERROR_DUPPER_OVERPLOn (Syaten Exver 121). Consulte nsda.microsoft .com/1ibrary/en-us /debug/base/systan exror_codes. ‘25p para mais informagbes sobre céigs de sistem de erroe suas deserigdes, Fim do exercicio 1-1 ata seme Cpr 1 Mant es LANE ei ps0 Orato ns rs SEH C. Use o Import Shared Library Wizard Use o Import Shared Library Wizard para ciar ov atvalizar uma biblioteca de projeto do LabVIEW de Vis wrarper para fungGes em um arquivo Windows .2iL1, um arquivo Linux .2c, 08 um arquivo Macintosh framework. O wizard Import Shared Library suporta a maioria dos arguivos header Ce C+. Os Vis wrapper criados pelo wizard usaim 0 Call Library Funetion Node, 0 qual nio suporta 0 penteiro C++ this ou todos de chamada em classes C++. Bota 1Se vot querimgorarumarguve de biblioteca compatada para um diver de insrumento vee pode baixar o LabVIEW Instument Dover Import Wiad pari Jo Instrument Driver Network nani 20m (0 Import Shared Library wizard analsa o arquivo header, lista as fungoes ‘a biblioteca compartithada, converte tipos de cados na biblioteca ccompartilhada para tipos de dados do LabVIEW. e gera um VI wrapper para cada fungi. O wizard salva 0s VIs em una bibl oteca de projeto LabVIEW {que voe® pode editarecria um relatério em HTML sobre a biblioteca gerada ‘que voc? pode langar quando completar o wizard. [No wizard, voce pode especificarincluindo caminhos edefinigdes de pre processos, configurar os Vis individuais que coxrem cada fungi, © configura a localizagao de meméria e gerencianento de erro. O wizard também exia controles personalizados para elementos estruturais nas fungaes originirias e adiciona os controes i biblioteca de projeto. Vooe pode usar os controles personalizados para modificar todos os VIs da biblioteca que contém tipo de dados correspondentes. Voe® pode executar 0 wizard miltiplas vezes nc mesmo arquivo de bibliotecas compartlhadas. Se voc# seleciona a opeio Update Vis for a shared library na pigina Specify Create or Update Mode, o wizard sobreescreve a versio anterior do arquivo da biblioteca de projeto eos VIs existentes dentro deste arquivo. Se vooé escolhe mo importar novamente Vis gerados dentro do arquivo de biblioteca de projeto, os Vis se mantém sem mudangas no diretGrio,O wiard retém as definigbes mais recente para cada fungio individual em uma biblioteca comeatilhada individual, Por cexemplo, se vo tem uma biblioteca compartlhada que contém trés fungdes, voe® pode utilizar somente a segunda fung0. A préxima vez que voce exccutar 0 wizard naquele arquivo de biblioteca compartlhad, rem as configuragdes originals para fungSes um ates e as novas definigdes para 2 funcZo dois ea oe EW Intro 1 som doch sitas Compras eA Selecione ToolssImportsShared Library parainiciaizaro wizaed Import Shared Library. Siga a sugestGes para criar Vis wrapper para eequives de Dibliotecas comparilhadas. Voce deve oferecero nome de um arquivo de biblioteca comparithada e um arquivo header (.h) para que o wizard analise. Consulteo tpico nporiing Functions from a Shared Library File do Help ddo LabVIEW para instugSes passo a passo para importar una biblioteca compartilhada ecriar Vis wrappet ‘Consults 0 VI Import Shared Library Tutorial GUL no diretrio Labview\examples\dil\regexpe para exenplos de use do wizard Import Shared Library. ‘© roasts Capaaten 15 ent 0 SBE mes (ie ama bees Comguacs obEW Exercicio 1-2 Wizard Importe Biblioteca Compartilhada ‘Use 0 wizard Import Shared Library para gerar Vis a partir de uma DLL. Descrigao Use o wizard Import Shared Library para criar uma biblioteca de projeto LabVIEW contendo Vis wrapper para fungées 10 arquivo de biblioteca ‘comparilhada dado cai .A1.¢ no arquivo header calc. O wizard Import Shared Library analisao arquivo header, lista as Fungbes na biblioteca compartilhads, converte tipos de dadas na biblioteca ‘compartilbada para tipos de dados do LabVIEW. gera um VI wrapper para cada Fangio selecionada, The wizard salva os Vis.em una biblioteca de projeto LabVIEW. Também eria um rela6rio er HTML sobre a biblioteca gerada que vocé pode langar quando voce comletar 0 wizard, Voc® entio ria um VI simples usando 0s Vis na biblioteca de projeto gerada, Implementagao 1. No Windows Explorer, navegue pars 0 diretrio \ LabVIEW Intormediate II\Inport Shared Library wizerd\ calculator Project e crie uma subpasia chamada Caleulator Library. 2. No LabVIEW, sclecione ToolssImport.Shared Library (ll para iniciliaae 0 Import Shared Library Wizard, 3. Configure o Import Shared Library Wizard, 1 Selecione Create Vis for as wed library e clique Next 1D Para o Shared Library (ll) File, procure \, LabVIEW Intermediate I1\Inpor: Shared Library Wizard\cele.al1 ‘Veja que 0 Import Shared Library wizardpreenckido no caminho do arquivo para 0 Header (.h) Fie, Clique Next. 1 Clique Next 1 Selecione cada uma das fungses na listbox esquerda para ver o rotstipo de funges n0 panel delta” 1D. Verifique que todas caixas de veriticago de Fungies esto selecionadas e clique Next. Q Defina Project Library Name para calculator. oa cat oo LAE dio 195 ew “© hao stan opatan Lie tomas Boos Compan Lae Para o Project Library Path, procure por \ LabVIEW Intermediate TI\Impor> Shared Librexy Wizard\calculator Project\Calevlator Librazy, o \Verifique quoa caixa de verificago Copy the shared library Mle to the destination directory esti selecionsda, ‘Clique Next Defina Error Handling Mode para Simple Error Handling, Clique Next, goog Selecione a funglo ad, Examine 0 comttdo da aba Settings no Paine! aire o ‘Selecione a aba Name and Description, Defina VI Deseription para outputs the sum of the inputs. No pane! esquerdo, clique em + prOxim> a Fungo ad para expand a Srvore ~ Sob a fungao ada, selecione a fungie return. = Selecione a aba Settings no pane! dreito ¢ examine seu conteido, ~ Selecione a aba Name and Description ¢ defina Control Description para Sun of x and y A Vejao conteso das abas Settings e Name and Deseription para os ‘outros itenslistados no paine! esquerd, Cligue Next quando Finalize. Veja © conteido do Generation Summary e clique Next. 1. Selecione Open the generated library e View the report, Clique Finish. Leia Import Shared Library Report gerado, Feche o relatGro, Examine o contetdo das abas Items Files para cada biblioteca de Vis sgerada, Feche a janela da biblioteca, Cie um novo projeto que inclua 05 arquivos de biblioteca que voce erou. No LabVIEW, sclecione File»New Project. A Na janela Project Explorer, clique com o botto direita em My Computer c sclecione AddsFile. Navegue para 0 ca tom go nan nemeet (et cena tos Compras bE \LabVIEW Intermediate IZ\Import Shared Library Wizard\Calculator Project\Calculator Library\calculater.1v1ibe clique Add File * Salve o projeto como careulator. 1ypros no diretério \LabVIEW Intermediate IT\Import Shaxed Library Wizard\calculator Project. Expands oitem catcutator. vi ra janla Project Explorer YY parnexaminao contesdo da iblitecaclculadora 7. Use.os Vis gerados para criar o VI calculador. 1D Najaneta Project Explorer, clique com bot direito em >My Computer e selecione New-VI 1D Coloque ada.vi e answer.vi no diagrama de blocos do novo VI «partir da janela Project Explorer. 1D Cologue um VI Simple Error Handler no diagrama de blocos. Chie o diagrama de blooos mostrado na Figura I-11. ri Kain ee sre = Ee ei Figura-1-11, Diagrams de Blocos co V Calculate Sum Abra a jancta Context Help. Coloque seu cursor sobre o VI Add no wgrama de blocos. A janela Context Help deve conter a deserigao do VI que voeé entrou no Import Sharec Library Wizard, 1 Salve o Vicomo calculator Sum.v: no dtetério \LabVIBM Intermadiate IT\Import shared Library Wizard\Celculator Project, 8, Testeo VI No painel frontal, defina x para 3 edefira y para 2. Q Execute o VI QA fungio return indicator deve ler The answer is 5.000000. Fim do exercicio 1-2 ono Cs oad te 18 noo {iio hare Boros compas EN Resumo — Perguntas |. Quais das seguintes opgies sto vantagens de ter bibliotecas ccompartithadas? 4 Habilidade para mudar a biblioteca compartithada sem mudar 0 VI de charmada, 1. Hobilidade de acessar eédigo originalmente existente em um ambiente de desenvolvimento diferente © Ambosa & b 2. Qual das seguintes opedes voc# precisa para saber chamar uma fungio em uma biblioteca compartilhada? Data type retornado pela fungi. Convengio de chamad, Ambiente de desenvolvimento que crioua biblioteca compartlhada, (Ordenar os pardmetros a ser enviados 2 fungi 3. Verdadeito ou Falso? © sinico arquive que olmport Shared Library ‘Wizard precisa € uma biblioteca compartilhads. torts Cpe 1 Me Ca 0 EW Ineo (0 ans aes Cangas anv Resumo - Respostas (ia tenn apaton Quais das seguintes opgdes sto vantagens deter bibliotecas compariThadas? 1. Hobilidade para mudara biblioteca compartilhada sem mudar @ VI de chamada, bb. Habilidade de acessarc6igo riginalmente existent ern am ambiente de desenvolvimento diferente. & Ambosa & b (Qual das seguintes opgbes vocé precisa para saber chamar uma Fangio ‘em uma biblioteca compartilhada? ‘a. Data type retornado pela fungi. . Convengiio de chamada, ‘c. Ambiente de desenvolvimento que criou a biblioteca compartithads. 4. Ordenar os parametros a ser enviadosa fungi. ‘erdadeiro ou Falso? © dnico arquivo que o Import Shared Library Wizard precisa & uma biblioteca compartilhada, Falso O Import Shared Library precisa tanto uma biblioteca Ihada quanto um arquivo header. 1 oo re LOEW ia 1 chan tines Corsaro abe Anotacées ‘hoa es EWI) VI Server (0 Vi Server permite controlar programaticamente Vis © 0 LabVIEW. Voce pode acessar 0 VI Server através de diagramas ce blocos, tecnotogia [ActiveX e protocolo TCP. Vocé pode desempenhar operagtes do VI Server ‘em um computador local ou remotamente através de uma rede, Tépicos ‘A. Oqueé VI Server? B. Modelo VI Server de Programagio C. Fungées do VI Server D. Comunicaglo Remota E. Chamando e Carrogando Vis Dinamnicamente toh? Us A. 0 que é VI Server? (0-VI Server é uma tecnologia independente de plataforma e orientada & ‘objeto que oferece acesso programatico a0 LabVIEW e as aplicagbes do LabVIEW, (0 VI Server é um grupo de funsses que Ihe permite controlar Get VI Version obtém a versio do LabVIEW nia qual 0 VI foi salvo por ttimo, © métode Bring To Front traz a janclas da aplicago para frente ‘© x staat Capen 2 Mau of EW eno ae? Se Métodos do Objeto VI ‘Quando vocé conecta a referéneia do VI a0 Invoke Node, voce pode acess ‘os métodos de classe do VI ‘Alguns dos métodos importantes exportados pelo VI Server so Export VI Stings, Set Lock State, Run VI, Save Instrument, etc. 0 método Export Strings exporta strings pertencentes 20 VI e objets de painel frontal para lum arquivo de texto mareado. O método VI Lock State ~ define o estado travado de um VIO método Run VI jnicia a execugdo do VI. O método SaverTastrument salva um VI. lea _Apés vooé selecionar um meétodo, voc® pode obter infermagko de ajuda arespeita dele clicando com o botdo direito no métodoe selecionanda Help for Method Name do ‘menu de atalho, onde Method Name € 9 nome de mete. Configuragao do VI Server Para configurar 0 VI Server, selecione Tools» Options no servidor & selecione VI Server: Configuration da lista Category para exibira pégina VIServer: Configuration. Se um target em ure projeto do LabVIEW suporta 0 VI Server, oc8 também pode clicar cam o botio dirito no target, como My Computer, selecione Properties do menu de atalho, e selecione VI Server: Configuration da lista Category para exibie esta pigina Use esta pagina para configurar © VI Server. Se voe8 est usando um projeto,exiba esta pigina a partir da caixa de dislogo Options para configurar 0 VI Server para a instincia da aplicagao principal. Para configurar o VI Server para o target, exiba esta pigina a partir da caixa de Aidlogo Properties para o target. A configuraglo padrio do VI Server sto AetiveX habilitado e TCPAP, desabilitado, Esta pagina inclui os seguintes componente. + Protocols — Define os protacolos para o VI Server. = TCPAP—Habilta suporte do VI Server para TCPMP. Se vooe ‘permite conexces de aplicagses remoas usando TCP/IP, voc? também deve especificar quals enderecosde méquina podem acessar ‘0 VI Server na pgina VI Server: Machine Access da caixa de idlogo Options. Esta csixa de verticagto por padrio nao é selecionada + Port — Define a porta TCPAP na qual o VI Server espera pela solicitagdes. Por padro, o nimero deste porta € 3363, 0 qual & ‘um nimero de porta registrado reservado para uso do LabVIEW. Para targets, o padrao & 0, fazendo ccm que o sistema ab Oe NEW 20 sew ‘operecional selevione uma porte dinamicamente. $e vocé quer ‘executar miltiplas instancias de aplicagdo na méquina, cada uma ‘com seu préprio VI Server exceutanéo, vocé deve ter um vnico ‘ndmmero de porta de VI Server. Voo®‘ambém pod usar a propriedade Server:Port para definira porta do VI Server do LabVIEW programaticamente. BB wats Asconiguragdes do VI Serer na cata deddlogo Options eapicama insacia ‘deaplicago padrio, ou Vis quem fagam parte do projet. Pra defini as configuracées ido VI Server para uia instincia de projeto de aplicagto, clue com o botao direto no target na janela Project Explorer. sions eames Copeaton + Service name ~ Define © nome de servigo para ainstineia VI Server TCP. Para obter uma refertnc a da aplicago sem 0 rndmero de porta, use 0 nome de servigo em conjunto com a ‘ungto Open Application Reference conectand 0 nome de servigo a0 nimero de porta polimér'co ou 8 entrada nome de Scrvigo. Se vocéexibe esta pagina a partir da caixa de didlogo ‘Options, este nome de servigo por padrio é vain application Instance/VI Sexver. Se voct exibe esta ppigina a partir da caixa de dislogo Properties para um target, {ste nome de servigo por padido€ targe= name/VI Sorver. ‘Voce pode usar a propriedade ServerService Name para definit ‘onome de servigo programaticament. — Use default ~ Define Service name para seu valor pada damain Application Instance. Esta 6 selecionada por ;padsio, Para editar Service name, retire essa selego, ~ ActiveX ~ (Windows) Habitta suporte do VI Server para Automagio ‘ActiveX. Esta caixa de verificagao ests somente disponivel a partie «da navegagio Tools»Options. Esta € selecionada por pad ‘Accessible Server Resources ~ Indica astarelas que aplicagbes remotas| podem completar = VLealls -Permite que aplicagies remotaschamem VIs expartados através do VI Server. Se vocé permite oacesso remota deaplicagbes. a Vis, especifigue quais Vis podem ser exportados. Esta é selecionada por padro, VI properties and methods ~ Permite que apicag@es remotas leiam e definam propriedades de Vis através do VI Server. Se voce ‘permite oacesso remoto de aplicagées a Vs, especifique quis Vis podem ser exportados. Esta €selecionade por padro Application methods and properties ~Permite que aplicagses remota leiam e definam propriedades da VI Server. Esta selecionada por padto, ay Mo od SE tee 19io2 sso ‘+ Métodos e Propriedades dos Controles ~Permite que aplicasbes remotas Ieiam e definam as propriedades de controles em Vis ‘exportados. Voot também pode chamar métodos que sBo uilizados coma ‘controles. Esta éselecionada por padrto, Configuragao do Machine Access (Quando voe# permite que apicagGes remotas acessem 0 VI Server usando ‘oprotocolo TCPAP, voce deve espeificar quais hosts de Internet tem acesso ao servidor. Para configurar o machine access, elecione Tools»Options para exibir a caixa de didlogo Options e selecicne VI Server: Machine ‘Access da lista Category para exibira pigina VI Server: Machine Access ‘Scum target em um projeto do LabVIEW suportao VI Server, voc® também pode elicar com 0 botio direito no target, come My Computer, slecione Properties do menu de talho,c selecione VI Server: Machine Access da Tista Category para exibir esta pigina Use esta pigina para controlar 0 acesso méquina para Vis através do VI Server. Para controlar o acesso & méquina para a instancia da aplicago Principal, exiba esta pfgina a partir da caixa de dislogo Options. Para ‘controlar acesso & maquinar para um target, exika esta pagina a partir da caixa de dislogo Properties pera o target. ‘Quando uma aplicaglo remota do Lab VIEW tenia abrir uma conexdo ao VI Server, 6 VI Server compara o enderego de IP 3s entradas na Machine ‘access list para determinar se deve oferecer acesso. Se uma entrada na ‘Machine access list é igual ao enderego IP, o VI Server permite ou nega, acesso baseado em como voo® define a entrada, Se nenbuma entrada combina com enderego de IP, VI Server nega acesso. Quando vocé adiciona novas entradas Machine aceess list, ecita entradas existentes, 08 remove entradas, use a sintaxe, ordem e simboles corretos nas entradas. ‘Um endereso IP, como 130.164.15.138, pode ter mais de urn nome de dominio associado a ele. conversio de um nome ée domfni para seu enderego de IP correspondents, & chamado de resolugdo de nome. A conversio de um endereco de IP para um nome de dominio 6 chamade de procura do nome. Uma resolugio ou procura de nome pode falhar quando 0 sistema no tem acesso ao servider DNS (Domais Name System) ou quando ‘endereco ou nome nao é vilido. ‘A piigina VI Server: Machine Access inclui os seguintes componentes. ‘+ Machine access list ~ Lista de maquinas gu> tem e no tem acesso 20 ‘VI Server. Voc® também pode usar a propriedade Server:TCP/IP ‘Access List par listar programaticamente os endeteros TCP/IP de maquinas que podem acessar 0 VI Server ae ca LEW ras an nese Uyte2 Smee 1H Wola Se voct muda a Machine acces list, miquinas que eso atualmente conectadas ao VI Server mio serdo desconectadas mesmo se ndo tem mais acesso autorizado 20 servidor. + Machine name/address ~ Entre o nome ou enderego de IP da miguina ‘que voe$ deseja adicionar & Machine access list, + Allow Access ~ Permite 0 acesso as} miuina(s) selecionada(s) em Machine access list + Deny Access — Nega o acesso a(as) maquina(s)selecionada(s) em ‘Machine access Uist. + Add ~ Aciciona uma nova entrada 20 Machine aceess list. nove entrada aparece abuixo da entrada selecionada na Machine access list + Remove —Remove a entrada selecionada da Machine access list. Configuragao dos Vis Exportados ‘Quando vot permite que aplicagdesremotas acesem Vis atavés do VI Server, voc deve espeificarquafs Vis esas apiagQes podem acess. Para configura 0s Vis exprtader,selecione Tonls»Options para exibir a cana de dilogo Options e selecone VI Server: Exported Vis é ista ‘Category para exibira pigina VI Server: Esported Vis. Se wm target em tum projet do LabVIEW suportao VI Server, vor também pode clear com 6 botio dizeto no target, como My Computer, :elecione Properties do ‘menu deatalho selecione VI Server: Exported Vis da list Category para exiir esa pina, Configure os Vis exporados usando os seguintes componente da pig + Exported Vis Lists 0s Vis que podem serenportads. Voc também pode usar a propriedade Server:Vi Access L st par istar prosramaticamente 0s Vis que so aessados por clientes rematos no Vi Server. + Exported VI Ente wm VI para lst em Exported Vis. Voot pode usar sibolos no nome do VI ou camino do deri que v8 eta + Allow Access ~Permite 0 acessoa(os) VI) selecionado(s) em Exported Vis. Esta opeto éseleciontda porpadro + Deny Access~Negno acessoafos) Vis) seeionado(s) em Exported Vis + Adld~ Adiciona via nova entrada a0 Exported Vis + Remove Remove a entrada selecionada do Exported Vis. ‘Se uma entrada tem acesso autorizado para VIs, aparece um visto préximo entrada. Se uma entrada tem acesso negado pata VIs, um x aparece perto dda entrada. Se nenhum simbolo aparece perto daentrada, a sintexe da entrada est incorets. (lr nme Capon a8 tae aad EW mei ie? sane Cada entrada natista Exported Vis descreve un nome de VI ou um ‘camino de Vie pode contersfmbolos. Quando um cliente remoto tents acessar um VI, 0 VI Server examina a lista Exported Vis para determinar se oferece acesso a0 VI requisitado. Se uma entrada na lista é igual a0 VI requisitado,o servidor permite ou nega acesso aquele VI baseado em como ‘voc® define a entrada, Se uma entrada subsequeate também combina com 0 VI, sua atorizagio de acesso & usada no lugat a autorizagdo anterior. Se nfo |hé um Vina lista que no ¢ igual 20 VI requistado, o acesso a0 VI é negado. ‘oot pode usar os caracteres 2, +, ¢ ** como simbolos. Os simbolos ? © * ‘lo incluem o separacor de eaminho, ** incluio separador de caminho, Moma car ao VE) a ‘eon so? seme Exercicio 2-1 Opgdes de VI Server Objetivo Observe e define as opetes de configuragio do VI Server, Descrigao (OVI Server apresenta um rsco de seguranga en potenctal porgue outros programas e/ou computadares podem usa-lo para chamar Vis, os quais ‘podem em ordem ser usados para fazer quase qualquer coisa com mn ‘computador. Para proteger seu computador, o servidor de VI eontém opges de seguranca as quas Ihe permitem selecionar quem pode usar © VI Server, ‘uais Vis podem ser acessados pelos usuirios, como os VIs podem ser usadls, e que mecanlsiaos de comuncagao podem ser usados. Este exereicio demonstra as opgbes de configuracio do VI Server eas define para uma configuragio que vace pode usar para executar os exerecios Femanescentes no curso. configuracio de seguranca definida neste exereicio & muito leve, Portanto, se vact esté completando estes exercicios erm urna miiguina de desenvotvimento ou em qualquer outta maquina importante, aumente o nivel de seguranga permiind somente que algumas imaguinasacessem o VI Server ou retornem as coafiguragdes para os valores padre quando voe® terminar 0 curso. Implementagao 1. Configure o VI Server 1 Selecione Tools»Options selecione VIServer: Configuration da lista Category. 1. Verirque se ActiveX ests selecionado, |G. Verifique que todas es opgtes sob Accessible Server Resources esto selecionadas. Q Selecione TCP/IP Configuration. Anot: 0 nimero de Port. 2. Configure o Machine Access. 1 Selecione VI Server: Machine Access ca lista Category. | Entre « no campo Machine name/addess @ bieaarando = no campo Machine mamsaddres ae VI Server Acces par dos os compuadores. Por res de seguanga, oct no deve haz ito em om computer {ke proto. Ao contr adoneo meme on maquina ou ener J Pps cada omputndr que nesta aes V1 Server nests compu to tama Capen 26 al ea NEW tei) 902 sine 3. Configure os Vis exportades. Selecione VI Serve + Exported Vis dalista Category. .Verifique se * fo digitado na lista Exported Vis, © Clique OK para sair de eaixa de diloge Options. Fim do exercicio 2-1 uns C ab Eiti 26 io? son Exercicio 2-2 VI Statistics Objetivo ‘Abra c use as referencias do VI Server para objetos de Aplicagio ede VI para obter informagSes sobre todos 0s Vis abertss, Cendrio objeto Application VI Server permite que voc® obtenha uma lista de todos 0 Vis na meméria, Usando esta lista, voe8 pode determinar informagées sobre os Vis na memeria Esta informacdo € stil para ferramentas de escrta as quais rastreiam informacio sobre os Vis em seu sistema, Neste exercicio oe rastreia as estatsticas de uso do VI para identificar o nimero de VIs ‘executando e o numero de Vis na memsria a qualquer dado tempo. Como VE Server tema habilidade de acessar instancias de aplicago em méquinas Femotas, Yoo’ pode usar este programa para rasrear 0 uso de Vis em ‘qualquer computador que permita seu acesso a0 VI Server Projeto Entradas e Saidas Tabela 2-1, Entradas ¢Saidas do WI Statistios Tipo Nome Propriedades. ‘Valor Padrio ‘Controle de String | Machine Name | String ‘Vazio (definido pora réquina local TIndicador Numérico | Vis Open Inteio sinalizade [0 e 32 bits Indicador Numérico | Vis Running | imeiro sinalizado | 0 de 32 bits Tabeta Vi Report ‘Tabela, Headers de | Vazio (somente Coluna visiveis headers de Colina) Fluxo do Programa 1. Adgoira uma reteréncia par o objeto da Aplicagdo LabVIEW usendo 4 fanga0 Open Applieaton Reference 2. Use esta refestncia para acessar a propriedade Exported Vis, a qual Ihe ‘da uma lista de cada VI na meméria, 3. Use umn Loop For ea fungio Open VI Reference para obter uma referéncia para cada VIna lista © Aston tame Capen on Mal od BW nemei ye sine 4, Usando a referéncia do VI, acesse as propriedades desejadas, neste c350, Nome, Tipo de Vie Estado de Execusio. 5. Feche cada referéncia de VI 6. Agrupe eexiba os dads. 7. Feche a referéncia da aplicagio. Descrigdes de Propriedade Use as seguintes propriedades neste programa Exported Vis (Application Object) ~ Esta prop:iedade retorna um array de strings. o qual representa 0 nome de todos os Vis na mem, se execitada ‘na maquina local, ou uma lista de todos 0s Vis exportados na meméria, se executa em uma maquina remota, Voe® deve usar esta propriedade ao inwés e propriedade AIIVIs para executar 0 programa em uma méguina remot, ‘Veja que as strings contém somente os nomes des Vis, e no seus caminhos, No entanto, porque as VIs estao na memoria, voc® somente neces nome do VI para abrir uma referéncia de VI [Name (VI Object) ~ Esta propriedade aeessa o Nome do VI. Vaot poderia usar os nomes da propriedade ExportedVis no lgar desta propriedad, no entanto usar esta propriedade, oferece uma técmca consistente para acessar (0 dados do VI e também simplifica @ conexao. \ViTrype (V1 Object) ~ Esta propriedade retorna uma enumorago contendo ‘tipo do VI. Esta propriedade é itil porque nem todas os Vis so norms, ‘executiveis. Exemplos destestipos de Vis inclucm varidveis plobais, type definitions e controles personalizados, Neste programa, esta propriedade ‘oferece informagao para orelatério do VI. eras propriedades de VI sio vilidas somente para alguns tipos de VI, ¢ portnto, pode ser necessério verificar 0 valor desta propriedade antes de acessé-a. Por exemplo, se 0 programa usa quaisquer propriedades do grupo Execucio exceto para Exec.State, voce poderia necessitar verificar esta propriedade antes de acessar as propriedades para assegurar que a eferéncia de VT atwal mio um ‘controle ou uma varivel global Exec-State (VI Object) ~ Esta propriedade rotoma uma enumeragio contendo o estado de execugao do VI. Neste pregrama, voc® incrementa o ‘limero de Vis em execugdo se esta propriedades igual a Run Top Level ow Running. ad ab So EW me a em Implementagao ot istomansCopoaton od Crie um Viem branco e salve o VI como VI statistics.vi no diretério \LabVIEW Intermediate Z2\ VE Statistics (Ctie o painel frontal mostrado na Figura 2-3 Figura 2-8. Painl Frontal do VI Statistics 1D. Crie os seguntes items como deserito na Tabela 2-1 = Controle Machine Name = Indicador Vis Open — Indicsdor Vis Running | Cologue um controle de Tabela no pane! frontal — Rotule a tbela VE Report. = Clique com o botio dreito na tabelae selecione Change to Indicator. = Clique com 0 botio direite na tabelaeselecione Visible Ktems> ‘Column Headers, Enue vr Name, Vr Type, VI Staze como os primeiros rés benders de coun, on no do ANEW amit ied Sen 3. Adguira uma referéncia para o objeto da Aplicagdo LabVIEW e acesse «a propriedade ExportedVIs.Crie o diagram de blocos como mostrado ina Figura 2-4 usando os seguintes iter, ee geet HE ait mae Figura 2-4. Propriedades de Aplicagio 2 Open Application Reference ._ExportedVis Property Node Cligue ecm o botio dircito a saa pplication reference da funcio Open Application Reference © selecione CreatesProperty for Application Class» Application» Exported Vis In Memory. Close Reference @ dea Deixe expago nr o Property Node fngo Close Reference asim vot pole inser als oho ene ces em parton poserones, ote ade ae ew coo soe sow 4. Adguira uma referéncia de VI para cada VI exportado. Use os seguintes itens para modificaro diagrama de blocos coma mostrado na Figura 2. Figura 2-8. Propredades co VI Loop For 1D Open VI Reference 1D VIName Property Node = Clique com o botao direito na safda VI reference da Fungo Open VI Reference e selecione CreateyProperty for VI Class> ‘VI Name para criar 0 VI Name Property Node. Expand o VI Name Property Node para trs tens ficerem a isposig = Clique no segundé item do Property Node e selecione VI Type a lista = Clique no tereiro item do Property Node e selecione ExecutionsState da lista Close Reference G Shift Registers ~ Substiwe os tineis da referéncia de apicagio e do crT0 no Loop For com Shift Registers. ‘© taste Copaton aa a 0 uso 0 LANE aera p02 sane 5. A Figura 2-6 mostra os itens ¢ conexto que voc® adiciona nos passos 5 6. Neste passo, adicione os seguintes iten para exibir as estaisticas 0 VI Figura 2-6. Diagrama de Blocos 1 Statistes 1 Constante numérica = Defina a representagio para U32 ~ Nomeieaconstante Number Running. |G Primeira Fungao Increment ~ Conecte o valor da constante Number ‘Running através da fungoInezement para oindicador VIs Running. Use shit registers para conecir através do Loop For. O Estrutura Case = Cologue a esratura case ao redor da funglo increment ~~ Conccte a safda da propriedade Exec State ao terminal seletor do Clique com 0 botdo dircto na estrutra Case e selecione Add Case After do menu de alo. = Vetifique que o case Run Top Level da estrutura Case est -isivel, Clique com o botio direto na estrutura Casee selecione ‘Swap Diagram With Case»Tdle no menu de atalho. = Conecte os dados numéricas através dos cases Idle e Bad éa estrotura Case = Mude para o case Run Top Level o qpal deve tera fungo increment nele, entio clique com o botio dieito na estrutura Case eselecione Duplicate Case do ren de atalho.Istocria um case Running o qual contém uma funglo inerement. ‘A esicutura Case incrementa 0 nime:0 no indicador Vis Running se 0 VI esté no estado Run Top Level ou no Running oo Co LE resi 2 sex ue? sine 1G Segunda fungi ée Increment. = Coloque a Fungo a direta do Loop For. = Conecte 0 terminal de teraga0 do Leop For segunda Fungo Increment através da borda do Loop For. Desabiliteindexagio no tne! |. Duas fungtes Format Ino String ~ A furgo Format Ino String determina a representacio de sting de um valor enuimerado. Build Arey 6. "Neste passo,aliione Seguin item para gorenciar eros, Simple ror Hanae VI 4. SalveoVI Teste 1. Bxceute 0 VI 1. Peche todos 05 outros Vis aberts. 0 Brecute 0 VI Statsties 2. Execute 0 VI com miitiplos Vis na meni {O.Abraasolugao para o projeto do LabVIEW Intermedirio 1 Jo \uabVIEW Intermediate I\Course Project\Beerciee 7-B\PLC Main.vi BZ Nota Se voce nao tema solucio do LabVIEW Intermediéro f, voce pode usar qualquer ‘utra aplicagio complexa, A soliglo do projeto Word Processor no diretério \LabVIEW Intermediate 1\skercise 3-5 ésuficien Execute o VI Statistics. 1D. Observe os resultados no VI Report. (© tan pater 2 Ms ae 9 VW me m2 soar 3. Teste 0 VI em um sistema remoto, Determine o enderego da rede de um computador target perto de voe® e digte-o no controle Machine Name. Q dea Namur dos casos, vost pale war Computer Nave 0 gual vot enconra ne Etec Il, como im endteg de rede eet home [clr encone oenderegs Ge Po computador usando a Tongs Sing oP cP Sting Verifique que as definigdes do VI Server no computador target stejam configuradas como deserito no Exereicio 2-1 O. Abra um ou mais Vis no computador target Grecute o VI Tados os Vis exportados na memria do computador target devem ser ex Desatio Adicione informagdo esttistica para a prioridade do VI, sistema de ‘execu do VI, e/ou estado do painel frontal para sua tabela. Lembre que nem todas as propriedades sto vilidas pare todes tips de Vis. Use o ‘context help para identiicar quas tipos de Vis podem ter uma propriedade aplicada e a propriedade VI'Type para determina quais Vis tem a propriedade, sendo voot receberd um ert. Fim do exercicio 2-2 an ese Lv mame pe sim 92 sane D. Comunicagao Remota ‘Um aspecto importante de ambos refnums, de Aplicagio e de VI, é a sua transparéncia de rede. Ito significa que voc€ pode abrir refnums para objetos em computadores remotos da mesma forma que voct abre refnums para aqueles objetos em seu computador ‘Apis voce abrir um refnum a um objeto remota, vocé pode tata-o igual a um objeto local, com poucas resrigdes. Para operagGes em umm objeto remoto, o VI Server envi 2 informaguo a respeto da operagio através da rede e devolve os resultados. A aplicagia parece quase intica no Jimportando se a operacdo é remata ov local Para alvin un vefec€ncia de aplicayao para ume versto remota do LabVIEW, voce deve especificar a entrada machine name da ungsie Open Application Reference. Entio 0 LabVIEW tentaestabelecer uma conexdo “TCP com um VI Server remoto naquele computador na porta especificad, Exemplo: Acessando uma Propriedade de um VI Remato |A Figura 2-7 mostra como acessar as propriedades de um objeto de Vem tum computador remoto. A fungio Open Application Reference abre uma ‘conexi a um computador remoto.& funcaa Ogen VI Reference abre um ‘Vi.em um computador remota especiticado. O Property Node abreo painel frontal do VI especificado. O Invoke Node exee:ta 0 VI especificado e espera pela execuso para completar antes de sar da funcao. Coma 0 Auto Dispose Ref esti definido para False, uma funcie Close Reference deve ser sada para libera a referéneiae o espago paraleio de dads. Figura 2-7. Acessando ume Propiadade de um Vi Remoto fs hn Caetn as tant oO 0 LBV Ii pss? saw ‘Abra as Entradas de Referéncia do VI (© caminho do V1 aceita uma string contendo o nome do VI que voed esti referenciando ou um caminho contendo o camirho completo ao V1 que voce esti referenciando. A fungfo carrega o VI especificado na meméria, se n80 estiver aberto, e retoma uma referéncia para ese VI. Se voo8 conecta uma string de nome, 0 VI deve estar na meméria, $e voce conecta um camino © um VI do mesmo nome que jd esti na memétia, a funeao retorna uma referéncia ao VI aberto, independente de se seu camino & 0 mesmo que a ‘enirada. Se o VI ni esid na meméria, 0 VI deve estar no camninho especifieado para esta Fungo obier sucesso, application reference é uma referéncia a ume aplicagdo do LabVIEW. O. pedro € uma referéncia de uma aplicagao na irstancia local do LabVIEW. ‘Se eaneviady ca yeferenea € para ws Instancia remota do LabVIEW, 8 instincia remota do LabVIEW estéenfileirada ara retornar a teferéncia do VI Consulte 0 LabVIEW Help para mais informagées a respeito usando a ungo Open VI Reference. Mocs MEW mraaY 28 com ise? sone Exercicio 2-3 Remote Run VI Objetivo CConstrua um V1 que programaticamenteabra e execute outro VI em um ompotador emoto. Descrigaio ‘oot viu como 0 refnum Aplicagio executa de forma transparente sobre uma rede. Neste exercicio, ue o VI Server para exeeutar wm VI remotamente. As técnicas deste exercicio mostram como usar @ VI Server para abrire executar um Vi em uma maquina eenata, © VE Server opera da ‘mesma forma estando conectado a uma rede ou a uma méquina focal Implementagao 1, Abra o Remote Run VI loealizado no diret6io \ LabVIEW Intermediate IT\Renote Run. O Paine! frontal ets ‘construido para voc. slntans ial ts Roeser u Pinel Frontal Remoe Run V1 Figura 2. No-controle VI to execute, pesquise no \LabVZEW Internadiate 11\Renote Run\freqresp. 11b\Frequency Response. vi. Clique com 0 botio direitoe selecione Data ‘Operations»Make Current Value Defavlt. Q tea Parapet sets de ruivos 325, clique com oto dono fore de ‘ausca de arquivo, selecione Browse Options ¢selecione ‘Treat LLB as folders. Cligue OK. at teens Cpt ea an ur 0 EW ra ese? sons rama de bloces como mostrado na Figura 2-9 usando os seguintes tens. Renae Figura 2-8. Disgrama de Blocos Remote Run Vi a © Open Applzstion Reference [3] Open Vi Reference DConecte 0 controle de caminho VI to execute, o qual determina o VI sa executar, para a entrada vi path da furcio Open VI Reference, Duss Close References fy 1 Property Node = Conecte a fungio Open VI Reference ao Property Node, Clique o terminal de propriedade e selecione Front Panel Window»Open, = Clique com o hotto dieito no Property Node e selecione Change All To Write ~ Conecte uma constante Booleana Tre ao terminal da propriedade Front Panel Window Open. 1 Invoke Node ~ Conecte a referéncia de VI a0 Invoke Node. — Clique ne terminal de método e selesione Run Via partir da lista = Conecte a constante Booleana True ao terminal da propriedade ‘Wait Until Done e uma constante Bosleana False ao terminal da propriedade Auto Dispose Ref. eo Ga MEW tera aa nee io? Msi Simple Etvor Handler VI Esirutura Case ~ Use a estrutura Case para selecionar seo pained fronl do VI chamado se mantém aberto quando 0 VI completa a cexecugto, = Cologue a estrutura case ao redor do Property Node. ~ Conecte uma constante Booleana False & propriedade Front Pane! Window Open do Property Node. Verifique se estes itens estdo no ease True. Este case fecha 0 panel frontal da VI cchamado se € selecionade, — Conecte 6 VI refnum e cluster de er através do ease False. = Conecte o Seletor de Case ao controle Close Front Panel on ‘Completion. 4. Salveo VI Teste [Execute 0 VI no computador local Este VI abre uma referencia ao VI Frequency Response localizada no diretrio \LabVIEW Intermed-ate IT\Remote Run (© painel frontal do VI € aberto acessando a progriedade Front Panel Open ‘do V1. Entlo, © método Run execute 0 VI, Com a propriedade Wait Until Done € Truc, este VI espera pelo VI Frequency Response para completar 2 ‘execugio. Apss sair do VI Frequency Response,» panel frontal se mantém sberto ou fechadio dependendo da posigao da chave do paine! frontal Finalmente, a fungio Close Reference fechaa referénci do VI, liberando os Se. tempo permitir, complete os soguintes passes Optional e Challenge, senfo feche 0 VI (©0604 cana copa a eat cud EW ine iio seve Opcional Desatio ‘Se seu computador est conectado através do TCPIP para outro computador {que tem LabVIEW e cada compotador tem um tnico enderego IP, voce pode executar 0 VI Remote Run em urn computadore faze-lo ehamar o VI Frequency Response no outro computador. 1 Encontre um parceiro troque endesegos deIP Decida qual computador 6 0 servidor. Complete os seguintes passos ro servidor para definiro VI Server |G Selecione Tools» Options e selecione Vi Server: Configuration da lista Category para exibira pigina VI Server: Configuration. \Verifique que TCPAP Configuration esti selecionado ¢ que umm ‘ndmero de porta etl digitado, 1D Selecione VIServer: Machine Access ca ista Category para exibir 1 pagina VI Server: Machine Access. Digite 0 endereco de IP do ‘computador cliente, Selecione Allow Azcess ¢cligue Add G Selecione VI Server: VIs exportados a lista Category para exibir 4 pagina VI Server: Exported Vis. Coxfirme que € permitido 0 acesso simolo (+). Isto permite que © computador cliente, ov {qualquer computor tenka acesso permitida na seco VI Server: ‘Machine Access, para acessar quaisquer VIs em seu computador. Cligue OK. No computador cliente, verifique o caminhozo VI Frequency Response no servidor. Digite o endereso de IP do servidor no controle Machine ‘Name, |. Execute 0 VI Remote Run no computador diente. O VI se comporta ‘comio esperado? Repita os passos Ie 2, mas revertasituagBes com seu pareeiro. ‘Quebre em grupos de ts. Escreva um VI no primeiro computador que cchama o VI Remote Run no segundo computador, o qual ent chama 6 VI Frequency Response no terceira computador. Fim do exercicio 2-3 aa os LEW im 20 con ie? Winer E. Chamando e Carregando Vis Dinamicamente ‘Voct pode dinamicamente cartegar Vis aoinvés de usar chamadas de subVI estaticamenteligados. Um subVI esaicamente | gado€ um que voc8 coloca diretamente no diagrama de blacos de um VI chamador. Ele carrega 20 ‘mesmo tempo que o VI chamador earega ‘Ao contririo de subVIs estaticamenteligadas, os Vis carregados ‘dinamicamente nfo cartegam até que o VI chamador os carregue com 0 ‘Open VI Reference. Se voc® tem um VI chamador grande, vocé pode salvar ‘0 tempo de carregamento € memria carregando dinamicamente 0 VI ‘porque o VI no carrega até que o VI chamador precise, ¢ voc® pode Tibera-lo da meméria ap6s completa @ operagdo Voc também pode usar a calaa de diglogo VI Call Configuration para couligurat yuan eaiveua 0 subVL \oo8 usa dois tipos de refnums de VI para caregst dinars ‘Vis no LabVIEW ~ referéncias e VI strictly typed ou referéncias © VI weakly typed. Usando Refnums de VI Strictly Typed + Weakly Typed VI Reference —Inciui um camino para o VIO tipo de referencia do VI nto € especifiado. Se voce cria um indicador a partir da suida vi reference da fungio Open VI Reierence, ele parece como © ‘controle mostrado & esquerda se é weakly Wed Use refertncias de VI weakly typed para passar uma referéncia do Via partir de uma fungao Open VI Reference ou uma fungao Application Reference para ur Property Node ou um Invoke Node. Crie uma referéncia de VI weakly typed ndo especificando a entrada type specifier VI Refnum. ui + Strictly Typed VI Reference — Incui a info-maco do connector pane do VI ser chamado. Um indicador eriado a partir da saida vi reference 4a fungdo Open VI Reference, parece como o controle mostrado 3 lesquerda se € strictly typed, Use a eferéncin de VI strictly typed para diramicamente chamar ou carregar um VI Crie uma referéncia de VI sticvtly typed especificando (tipo de refnum de VI. Conecte 0 refum da VI strictly typed A entrada type specifier da funco Open VI Referencea ser usada, Strictly typed significa que os terminais do conector de um VI chamado e o tipo de ddados que cles podem acciter so fx0s. Quanto voo® usaafungio Open ‘Vi Reference, ela verifica para verse 0 VI tem os mesmos conectores € tipos de dados como definido na entrada typespeeifir vi refmum, Caso no sea, 6 gerado um er, oat heme Cprton 2a ado 06 ABE oni 52 Save J] Nela_O VI que vo especitica para refiums stritly type oferee somene a Informagdo do connector pane. Ou seja, ioexiste associag permanente entre o refntim ‘co VI Particularmente, evite confundirselecionar o connector pane do VI com obter um refnum para 0 VI selecionado. Vocé especifica um VI em particular usando 2 entrada vi path na fungao Open VI Reference. (Odiagrama de blocos a seguir mostra como usar 0 Call By Reference Node para chamar dinamicamente 0 VI Frequency Response. O Call By Reference Node necessita 0 uso das funges Open VI Reference e Close Reference, semelhamte as fungGes que vocE usa para o Property Node e 0 Invoke Node. arc (Geen Ft Le Lee foe Figura 2-10. Usando o Call By Reference Node para Chamar Vis Dinamicamente 0 Call By Reference Node necessita um VI refsum strictly typed. OVI refnum strictly typed identifica 0 connector pane do VI que voce esté ‘chamando, Ele ndo cia uma associagio permanente com VI ou contém ‘otra informagao do VI, tais como o nome ea lecalizago Voce pode ‘conectar as entradas safdas do Call By Refereace Node assim como voc®: conecta qualquer outro VI Refnums de VI strictly typed permite salvar tempo de carregamento e ‘meméria porque o subVI no carrega até que o VI chamador necessite © vvocé pode liberaro subVI da meméria aps completar a operago. a os 69 NEW aac ae com ei02 Swe ‘A Figura 2-1 mostra como usar o Call By Reference Node para chamar na Figura 2-14 Figura 2-14. Fochando a Retordrcla 30 Usando Referdncias de VI Weakly Typed ‘Voc® pode usar métodos no LabVIEW para modifcar os valores dos contrales em um Vie ter os valores de indicadores usando ur refaum de VI ‘weakly typed, como mostrado na Figure 2-15. Sp en a2l— eee sy Figura 218. Use Métodos para Medica Le Valores Usando um Call By Reference Node € um refnumn de VI strictly typed 20 invés, coma mostrado na Figura 2-16, voe8 pode eserevere ler dads para tum VI de uma forma muito mais simples eee, ge ot SE oc Figura 2-18. Use Call By Reference Node paraEscrever ou Ler Dados ota aman Copsctin aa oles EW andi 02 sae Comportamento das Referéncias do VI Strictly Typed ‘Quando vooe abre uma referéncis strictly typed, o VI referenciado & reservado para execuedo e nfo pode ser editado, Por exemplo, vocé pode abrir uma referéncia de VI para um VI target © editaro VI. Enquanto a referCnciaestéaberta, oc® pode abrir outra referéncia ~ como seferéncia strictly typed ~¢ chame o VI target como un) subVI através do Call By Reference Node, No entanto, até vose fechar a refertncia sicily typed, edita operagdes através dos Property e lnvoke Nodes fala porque 0 VI a0 qual se referem esti reservado para execu pela refecéneia strictly typed, ‘Como abrir uma referéncia de VI strictly typed coloca o VI referenciado no cesuda de reservado para execu, cn Signifieaqien VI fot verifcnd para ter certeza de que ndo estécorrompido, que nao est executando no ‘momento como umn VI de nivel superior, que foi compilado (se necessério) ce outras verficagtes. Um VI referenciado por uma referéncia de VI stitly {typed pode ser chamado usando 0 Call By Reference Node a qualquer momenta sem ter de verificar todas estas condigoes mais uma vez, Assim, no estado reservado para execugio voce nio pode edit © VI ou fazer ‘qualquer coisa a ele que poderia mudar a forma de execusio. ou ao Cas so ve meres 28 icon Exercic Objetivo Descrigao Instrugdes 102 sme 2-4 Vis Chamados Dinamicamente Observe dois métodos diferentes para chamar VI dinamicamente aprenda a diferenga entre refinums strictly e weakly type. Este exerecio demonstra duas Formas de chamar dinamicamente um VL 0 primeiro métado€ usar um Weakly Typed VIRefnum. Esta cnicaé vanajosa porque pode ser usada para chamar qualquer VI, independente do connector pane do VI‘. Noentano, passat dado: 20 VI usando um Weakly “Typed VI Refoum é cif (© segundo método usa um Strictly Typed VI Refnum. O Strictly Typed Refnum especifica o connector pane para o VI chamado, e permite usar Call By Reference Node, o qual simplifica a pessagem de dados a0 VI chamado dinamicamente, No entanto, um Strely Typed VI Refaum somente petmite chamar Vis com um connector pane que combine, portanto fo € to flexivel quanta 0 Weakly Typed VI Refnum. |. Abra Dynamically Calling Vis VI localizado no diretsrio| \LabVIEW Intermediate IT\Dynanically calling vis, 2. Complete © painel frontal do VI como mostrido na Figura 2-17 usando (5 seguintes ites. D Cologue um VI Refnum & esquerda do irterruptor Booleano. ~ Rotuleo refmum weakly Typed. = Clique com o botto direito no reinume clique Select VI Server ‘Class, Verfique que o VI estejaverficado, O. Cologue um VI Refnum & diteta do interruptar Booleano. Rotule orefnum Seeictly types. = Clique com o botio direito no refiume clique Select VI Server Class» Browse, Navegue para 0 diretirio \, LabVIEW Intermediate TT\Dynanically Calling Vie eselecione © VI Pop up. Clique OK.O refoum se adapta 20 ‘connector pane do VI Pop up. (© ssn msm Coen ao Mat Coad mei slo? swe 1) oak wiknclacsafuyes | weit open wat a Sees Ba Figura 2-17. Panel Frontal do VI Woakl versus Strictly Typed Ret 3. Complete 6 case como mostrado na Figura 2-18, CConecte o refnum de VI Weakly Typed a entrada Type Specifier 4a fungo Open VI Reference no case False como mostrado na Figura 2-18, EEeormey Diagrama de Slocos do Caso False do VI Weakly versus Swictly Typed Rat Figura 24 ‘O case False contém uma refertncia de VI fara o VI Pop up. Esta referéncia de VI abre 0 painel frontal do VI esando a propriedade Front Pane} Window:Open property. O método Set Control Value passa ‘valores aos conuroles Numeric e String do VI Pop up, ‘© método Run executa 0 VI e espera até que ele complete a execucto. (© método Get All Control Values retorna os valores dos indicadores do pine! frontal do VI Pop up. Estes valores aparecem no pine! frontal ‘deste VI Finalmente, afungdo Close VI Reference fecha. paine! frontal «do VI Pop up ¢ libera o VI Reference, aa Ga 0 LEW to 28 sean ido? wsnar 4. Complete o caso True no diagrama de blocos como mastrado na Figura 2-19. |G Conecte © VI refium Strictly Typed a entrada Type Specifier da fungio Open VI Reference. Q. Cologue um Call By Reference Node no diagrama de bloces. [FB py 5 Conccte asada Vi reference da fungso Open VI Reference &cnrada = A reference do Call By Reference Node. O néadota o connector pane do VI Pop up, como mostrado a esquerda, FJ Nota Quando voc’ conecta o refnum de VI strictly typed para o VI Pop up da fungio ‘Open VI Reference, uma referéncia de VI strictly typed & gerada que voe® pode conectar 0 Call By Reference Node. Figura 2-19. Codigo do Diagreme de Blocos Dentro do Case Tue 6. Salveo VI Teste L. Bxecute 0 VI 2. Selecione a referéncia strictly typed ecligue na bot GOI. Aparece o ‘ViPop up. Ele etorna o valor que recebe ou permite que mude os dade. Quando voce finaliza o VI Pop up eclica ne botko DONE, os valores dos indicadores do V1 Pop up aparecem no gainel frontal 3, Execute o VImais uma vez selecionea weably typed pobremente. Veja ‘que 0 comportamento é 9 mesmo do que o comportanento de uma referéncia strictly typed, [Embora ambos métodos de chamada produzam 0 mesmo resultado, ‘ométodo Run oferece mais flexibilidade permite chamar um VI assineronamente. Se voc chama um VE assincranamente usando uma valor false 20 pardmetro Wait Until Done do método Run, o VI chamedo Registrando eventos NET 9i03 chan obs no WHEE A. Chamando objetos no LabVIEW usando ActiveX ‘Voot pode usar 0 LabVIEW como um cliente ActiveX para acesser os ‘bjetos, popriedades, métodos ¢ eventos associados com outras aplicagies habilitadas pelo ActiveX. O LabVIEW tambérr pode atvar como um servidor ActiveX, entio outrasaplicagdes podem acessar objetos do LabVIEW, propriedades e métodes. Objetos ActiveX, Propriedades, Métodos e Eventos. Aplicases que possuem ActiveX habilitadas ircluem objetos que tem propriedades e métodos expostos que outras ap icagdes podem aeessar, ‘Objetos podem fica Visveis para os ususrios, tis eomo botbes,janelas, figuras, documentos, ¢ caixas de dislogo, ou invsiveis para o usuario, tas ‘vamu objets deaplicagav. Voee acessa uma.apl capa aeessando um ebyeto associado com essa aplicagio e definindo uma propriedade ou executando tum méicdo daquele objeto Eventos sio agdes tomadas sobre um objeto, come elicar em um mouse, pressionar uma tecla, ou receber notficagbes a ‘espeito de coisas como acabar a meméria ou completa tarefas. Sempreque estas agdes acontegam para o objeto, o objeto envia um evento para alertar o container do ActiveX Junto com os dados especiticas do evento. O objeto ActiveX. define os "eventos disponfveis para um objeto, Mapeamento do Tipo de Dado ‘O LabVIEW converte 0s tipos de dados de ulgumas propriedades e métodos ‘ActiveX em tipos de dados do LabVIEW, assimo LabVIEW pode ler e imerpretar os dados. A seguintetabela lista 0s tipos de dados ActiveX e 05 correspondentes tipos de dados Lab VIEW convertios. ‘Tipo de Dados Activex Tipo de Dados do LabVIEW Jong Maal 0 EW eri ea ox (ees cv Doesro aE “Tipo de Dados ActiveX | Tipo de Dados do LabVIEW net isc] oat = double = Bere fe] so Vis, Fungdes,Controles e Indicadores ActiveX Use as seguintes fungbes, Vis, controle ¢ indieadores para acessar 0: ‘objets, propriedades, métodos e eventos associsdos com outras apicagees ‘que possuem ActiveX habilitada: + Useo controle de automation efnum para eriar uma referencia para um ‘objeto ActiveX. Clique com o bot direito neste controle no panel ‘frontal para selecionar um objeto a partir da biblioteca de tipos que voe® desea acessar. + Use a fungio Automation Open para abrir um objeto ActiveX. + Use o Activex container para acessare exibir um objeto ActiveX no pine! frontal. Clique com 0 botodireito no zontainer, selecione Insert ‘ActiveX Object do menu de atalho, e selecione 0 objeto que vor® quer + Use o Property Node para obter (ler) define (escrever as propriedades. associadas com o objeto ActiveX. + Use Invoke Node para chamar os métodos associados com um objeto ActiveX. + Use a fungio Register Event Callback para gerenciar eventos que contecem em um objeto ActiveX. + Use o controle eindicador variant para passardados pare ede controles| ActiveX. Q dice ScecioneToolsnNECT & AeliveX>Add ActiveX Controls to Palette para ina arose contleprsonaizas plete ActiveX Contels © tes rman Copacton as Most od LE i 93 amas i oa B. Usando o LabVIEW como um Cliente ActiveX Quando o LabVIEW acessa 0s objetos associacos com outra apicagio que possui ActiveX habilitada,estfaluando como um cliente ActiveX. Voee ppode usar o LabVIEW como um cliente ActiveX nas seguintes formas + Abra uma aplicasio tal como Microsoft Exel, erie um documento & adicione dados a esse documento, + _Tnsira um documento, como um documente do Microsoft Word ot urn formula de Excel, no pine! frontal em um container, + Cologue um botdo ou outro objeto a partir de outa aplicagio, tal como tum botdo Help que chama o arquivo de ajula de outa apicacao, no pine! frontal + Conecte um controle ActiveX construido pot voeé com outra aplicago. (© LabVIEW acessa um objeto ActiveX com 0 controle automation refnum ‘ou um container ActiveX, ambos objetos de panel frontal, Use © controle automation reinum para selecionar um objeto ActiveX, Use o container ‘ActiveX para selecionar um objeto ActiveX que pode ser exibido, tal como um botdo ou documento e coloque-o no painel ‘ontal. Ambos objetos ‘aparecem como controles automation refnum no diagrama de blocas. ‘A implementasio, ou 0 objeto que voc® selecionov, & necessirio quanda o COM cria a implementagio. No entanto, 0 COM pode somente retornar Interfaces. Quando 0 LabVIEW cria uma implementagao, o LabVIEW acerta a implementago na interface correts. Uma nica implementegao ‘pode implementar miltiplas interfaces, Nesse c1so, o LabVIEW pega a imerface pada no objeto ererorma essa interface. A Fungo Automation ‘Open retoma 2 interface padrao e voc® pode use Variant To Data para converter a uma interface diferente. Voc8 nto pode retornar a ‘implementacdo, somente 2 interface, Nota © diagrama de blocos exibe a interface padréo concctada ao Automation Open, no a classe de implementagio. Se voo$ abre uma caixa de dilogo Select Object From ‘Type Library, o LabVIEW seleciona a classe de implementagio por padi. at ac LEW ire 4 ce io chanans sro Loner ‘A Figura 3-1 mostra como 0 LabVIEW atuando como um cliente ActiveX, imerage com aplicagdes do servidor. lent Aplin LabMEW Poste Aton ‘joes Oe isence 6 3 to Ae covet Saison Ses Oct ate Poets ‘spacisnain] A eon Sox Popes Taree Sa Tes usay ‘Daina Exons Desens Papammsit Obes “umole ec \Canbs Fer of BL or Saree) Figura 0 LabVIEW como um Cliente ActiveX Automation 0 LabVIEW acesse a biblioteca server type para obter informagio sobre seus objetos, métodos e propriedades. O LabVIEW pode desempenhar g6es tnis como chamar métodos, obter¢ detinit propriedades, etc. \¢40 que possui ActiveX Habilitada ara acessar uma aplicaglo que possui ActiveX habilitada, use o controle Automation refoum no diagrama de blocos para eriar uma Feferéncia a uma aplicagio. Conecte o controle & fungio Automation Open, que abre a aplicagio que realiza a chamada, Use o Property Node para selecionar e acessar as propriedades associadas com 0 objeto. Use o Invoke Node para selecionar e acessar os métados associa como objeto, Feche a referencia a0 objeto usando a fungio Close Reference. Fecw a refertacia, remove o objeto da meméria Por exemple, voe8 pode construir um VI que abre 0 Microsoft Excel assim ‘que aparece na tela do usuétio,eria um eaderno de trabalho, cria uma planiha, cia uma tabela no LabVIEW, eescreve essa tabela na plailha Excel Consulte 0 VI Write Table To XL no labview\exarelss\conn\ Excel xamples.11b para um exemplo de uso do LabVIEW como um cliente Excel ‘ton istonens Cop 6 onal Os EW mere iio 8 ame ogee Lae Inserindo um ActiveX Object no Painel Frontal, Para inserir um objeto ActiveX no painel frontal, clique com o botto direito| no container ActiveX, selecione Insert ActiveX Object do men de atalho, «eselecione o controle ou documento ActiveX que vac® deseja inserir. Voc pode definir as propriedades para um objeto AstiveX usando o ActiveX. Property Browser ou piginas de propriedade ou voc® pode definir as ropriedades programaticamente usando o Property Node. Use 0 Invoke Node para chamar os métodos associados com um objeto Por exemplo, vocé pode exibir uma pigina da Web no painel frontal usando lum container ActiveX para acessar 0 controle Microsoft Web Browser, selecionando a classe Navigate de métodos,selzcionando o método URL, ce especificanda a TRL. Se voce usar o container ActiveX, voc€ nfo tem que conectar controle ‘automation refnam no diagrama de blacas na fengo Automation Open ou fechar a referéncin ao objeto usando a funcio Close Reference. Voeé pode ‘conectardiretamente ao Tavoke Node ou Property Node porque o container ActiveX embarca a aplicago que realiza a chamada no LabVIEW. No entanto, seo container ActiveX incloi propriedsdes ou métodos que ‘etornam outros refnums de automago, voce deve fechar estas referéneias adicionais, ‘Modo Projeto para Objetos ActiveX CCique com o botio dieito em um container ActiveX e selecione Advanced»Design Mode do menu de ata pera exibir 0 container em ‘modo de projeto enquanto voce edita 0 VI. Quando voeé selecione a opgio mado ée projeto,o container do ActiveX possui a referéncias aos controles «© € responsive! por criare liberar novos controls. H4 modes diferentes de projeto e execugio para controles, Cada vez que vocé executa um VI, © LabVIEW remove o controle do mod de projeto 0 substiui com um novo controle em mode de execusio. Quando @ V1 para, o LabVIEW remove 0 controle do modo execugo e cria um nove controle de modo de projet, [Em uma aplicagio auténoma nio existe contole de modo de projeto, (© LabVIEW cria o controle do modo de execusto quando. VI inicia libera o controle quando © VI para. No modo de projet, os eventos no so _erados ¢ 0s procedimentos de eventos ndo executam. © modo padrio € 0 mode de execuso, onde voc8 interage com o objeto come faria um ustrio, oo Osco Lae ome 6 foe ged crema oe rouse Definindo Propriedades Activex ‘Ap6s voe® abrir um servidor ActiveX ou inserir um controle ov documento ‘ActiveX, voc€ pode defini as propriedades associadas com esse.contraleout ‘documento usando 0 ActiveX Property Browser, pginas de propriedade e 0 Property Node. ‘Activex Property Browser Use o ActiveX Property Browser para ver e definir todas as propriedades associadas com o controle ou documento ActiveX em ura container ‘ActiveX. Para acessar 0 ActiveX Property Browser, clique com 0 botdo direito n0 controle ou dacumento no container do painel frontal eselecione Property Browser no menu de atalho. Voc também pode slecionar ‘View ActiveX Property Browser. O ActiveX Property Browser & uma forma fcil de defini, interativamente, 2s proprisdades de um objeto ‘ActiveX, mas vooé no pode usar o browser para define propriedades programaticamente, e voe® pode usar 0 ActiveX Property Browser s6.com objetos ActiveX em um container. O ActiveX Property Browser no esté Jisponivel no modo execugio ov enquanta o VI executa Paginas de Propriedade ActiveX “Muitos objetos ActiveX ineluem piginas de propiedad, as quais organizam as propriedades associadas com o objetoem abas separadas. Para acessar piginas de propriedade ActiveX clique com o bot direito no objeto do container do paine frontal e selecioneo nome do bjeto a partir do menu de atalho, Como o ActiveX Property Browser, us paginas ce propriedade ActiveX sii uma forma fil de definir propriedades de um objeto ActiveX. intorativamente, mas voce néo pode usa-los para definir propriedades programmaticamente, e voe® pode usar piginas de propriedade somente com ‘objetos ActiveX em um container. Paginas de propriedade ndo estio Aisponiveis para todos os objetos ActiveX. As piginas de propriedade ‘também no estio disponiveis em modo de execaglo ou quando 0 VI esti executando, tet chom Caron w anal a LEW mer 03 una ot ote Property Nodes Use o Property Node para definr propriedades ActiveX programaticamente, Por exemplo, se voc® usa um objeto ActiveX pasa avisar um usuario quando ‘uma temperatura exceder um limite, use o Progerty Node para definir a propriedade Value do objeto para especificaro limit, ( dingrama de blocos a seguir mostra um exemple que muda a propriedade ‘Value do controle ActiveX CWBution que € parte da Biblioteca ActiveX da National Instruments Measurement Studio Use: Interface quando a temperatura aleanga 85 graus Fahrenheit ou mais. FE se cnn Gveaton abe aiet rear eo Onc Neste cas0, 0 controle CWButon atua como utr LED, muda cores, e exibe arming quando a temperatura aleanga o limite, que é um estado do controle CWButton Bata Neste exemplo, voct pode usaro ActiveX Property Browser ou piginas de ropriedae para defini as proptiedades Offext,OffColor,OnText © OnClor para © controle CWButton porque voce no necesita defnr esa propiedades programatcament nl Os LE mtr ” som {03 ehannd oxen Exercicio 3-1 Browse to URL Objetivo Cenario Projeto Use ActiveX automation para controlar o Imernet Explorer Exibir uma pégina da web ou elat6rio em HTML é uma tarefa comum para aplicagBes de medigao ¢ teste. Desenvolva um componente reuiizavel que permita criar um buscador da web e navegue para um enderego especifico Entradas @ Saitias Tabela 8-1. Frradas oSadas do Browse to URL Tipe Nome | Proprieiades. | Valor Padrio Controle de String | URL = Vazio Controle de Chuster_|Brorin | Cluserse Eo | Sem Exo Indicador de Cluster | Error Out_| Clusters e Eero _| Sem Evo Microsoft oferece duas interfaces ActiveX para interagir com Internet Explorer, Internet Explorer pode ser inserido dentro de outraaplicagio como um controle ActiveX ou a Internet Explorer pode ser acessado como ‘uma entidade separads através de um automation server. lserir © Imernet [Explorer dentro de um painel frontal do LabVIEW, é uma ferramenta povlerosa que permite ao usustio ver paginas da veb ou outros documentos sem mudar programas. No entanto, um controle inserido necessite um container ActiveX no painel frontal, que € meno: reutlizvel de que uma chamada do automation serve. Para criar um componente web browser reutilizéve, esereva um subVI realiza as seguintes agaes: 1. Abre uma referéncia ao automation server do Internet Explorer 2. Mostra uma janela do Internet Explorer. 3. Navega para um site da web especificado pelo controle URL. 4. Fecha areferéncia Activex. net Capertan 2 oa 05080 LEW mesic (03 clans ayer ase Descrigao da Interface WebBrowser2 Para abrir uma referéncia a0 automation server do Internet Explorer, erie wm ‘objeto IntemetExplorer.TWebBrowser2 da Microsoft internet Controls Type Library. A Microsoft Internet Controls Type Library comtém mais de um objeto WebBrowser?, assim tenia certeza no selecionar o abjeto na pasta Internet Explorer. Neste exercicio, voc8 usa as eguintes propriedades e métodos do objeto IWebBrowser2 Propriedade Visible ~ Quando vocé abre uma referéncia de automagao no Internet Explorer, jenela da Internet Exploreresté oculta por padrio. Defina a propriedade Visible para True para exibir a janela do Internet Explorer, Método Navigate — 0 método Navigate incr o Internet Explorce a abrir uum documento ou URL. Use o controle URL. para passar uma string a esta fungdo. Veja que o objeto MWebBrowser? também contém ura método [Navigate2, Além dos URLs padrio, o segundo método permite que voce pesquise em pastas nfo padronizadas como a pasa Impressoras ou a Lixeira [Embora o método Navigate? também trabalha para este exereiio, use 0 _método Navigate porque voc€ ndo necessita uma funcionalidade extra, @ dice ocomexthep do LabVIEW oferec desrgbs de mit ropredaes modes ActiveX. Implementagao |L_ Crie um Vem branco e salve © VIcome Browse to URL.vi no diretrio \UabVIEW Internediate IT\Browss £0 URE. Figura 3-2. Pesquse para Paina Frontal do URL 2. Crie 0 paine! frontal mostrado na Figura 3-2. ub Ose do LEW msi Ho nee

Você também pode gostar