LabVIEW 3,1: radīt DLL C ar Dev-C + + un LabView zvaniet
Sveiki, es esmu nolēmis uzrakstīt vienkāršu piemēru vienkāršu veidu, lai radītu atklāti DLL (Dynamic Link bibliotēkas), C un tad varēs zvanīt LabView, piemērs ir pop ar "Hello World". Vairāk problēmas ir man, lai izveidotu DLL (jo dota tikai lieta ir apkopota tieši mašīnu kodu noteiktajām bibliotēkām), lai izsauktu C funkciju LabView, kā tas tiek darīts viegli ar Call Library funkcija Node VI.
Par valstu instrumenti ir trīs lappuses, kā piezvanītu, izveidot C failu un veidot DLL, es pirmos divus soļus, bet 3. nepieciešami programmu Microsft Visual C + + 6,0, kas man ir, tik vēl izcelt soļus to darīt, es atstāt lapu šeit starplaikā.
Tomēr es varu jums izveidot noteikumus par savām bibliotēkām un palaist, bet es ceru, ka jums patīk tas piemērs, lai saprastu visu šo jautājumu DLL. Es domāju, ka ir tutoriāļi par to, kā padarīt DLL ar Dev, tāpēc nav izlikties, ka tas ir viens, arī tāpēc, ka man nav lasīt to vēl nu, un tāpēc es domāju, man ir problēmas apkopojošā pats savus kodus. C galvenes. H. Def. Jūs varat ieteikt jebkuru citu komentārus uz saites, lai palīdzētu radīt DLL / C C + + viegli no jebkuras programmas, un tad dažus, ja LabVIEW skaidro daudz labāk.
- Solis 1: Vai uzstāda Dev-C + + un radīt DLL
Piemērs, ka man ir versija 4.9.9.2, jūs varat redzēt, kas ir pieejama šeit .
Lai izveidotu dll faila-> name-> Project
Izvēlēties DLL, izvēlieties valodu C un nodot projekta nosaukums tik HelloDll. Jums jāiziet projekts divi faili automātiski dllmain.cy dll.h. Ja izvēlēta C + + no šīm divām arichivos bet bez piemēra Hello World.
. Arhīvs C (es neesmu jāaizstāj ar citām vai 1. līnija):
/ * Aizstāt "dll.h" ar nosaukumu jūsu header * /
# Ietver "dll.h"
# Iekļaut <windows.h>
# Iekļaut stdio.h
Stdlib.hDLLImport neesošu HelloWorld ()
{
MessageBox (0, "Hello World no DLL \ n!", "Hi", MB_ICONINFORMATION);
}APIENTRY bool DllMain (HINSTANCE hInst / * Bibliotēka piemēram rokturis. * /,
DWORD iemesla / * Iemesls šī funkcija tiek saukta. * /
Rezervēts LPVOID / * Nav lietots. * /)
{
slēdzis (pamatojums)
{
lieta DLL_PROCESS_ATTACH:
pārtraukuma;DLL_PROCESS_DETACH lietu:
pārtraukuma;DLL_THREAD_ATTACH lietu:
pārtraukuma;lieta DLL_THREAD_DETACH:
pārtraukuma;
}/ * Atgriež TRUE, par panākumiem, neīstās bojājuma * /
atgriezties TRUE;
}
. H:
# Ifndef _DLL_H_
# Noteikt _DLL_H_# Ja BUILDING_DLL
# Noteikt DLLImport __ declspec (dllexport)
# Else / * Nav BUILDING_DLL * /
# Noteikt DLLImport __ declspec (dllimport)
# Endif / * Nav BUILDING_DLL * /DLLImport neesošu HelloWorld (spēkā neesošs);
# Endif / * _DLL_H_ * /
Tas ir tas, tagad jums nav nepieciešams rakstīt kaut ko, dodieties palaist-> sastādīt vai Ctrl + F9 vai ikonu krāsu cudraditos virs kreisā un mēs rada DLL. Varbūt viņš lūdz, lai jūs saglabātu projektu attīst un izdalījušos failus.. C. H, DLL tiks saglabāts tajā pašā mapē, vai ja jūs norādiet savu vārdu un projektu> Projekta opcijas-> celtniecības Jūs varat mainīt tos.
- Solis 2: Izveidojiet VI
Jūs lietojat jaunu VI, dodieties uz blokshēmā, un ievieto Call Library funkcija Node vi, var atrast conectivity-> bibliotēkām un executables. Un tas, tas ir tik vienkārši, bet labs RUN darba better'll izveidoto struktūru, saskaroties ja Tiesa, pogas kontrolē logisku, un visi atrodas cilpas Loop, kas var kontrolēt arī pārtraukt ar pašu pogu.
- Solis 3: Zvanīt bibliotēka funkcija Mezgls Aizpildiet
To ievada divreiz sesto vai 2. pogu kopu:
- In bibliotēkas nosaukums vai adrese ir noteikts ceļu uz DLL
- Atkarībā HelloWorld un tas būs rakstīt (bet tas iet slikti es domāju)
- Iebrauc konvencijas C mēs
- Parametrs neesošu ka mēs wrote sevi (ti, ne atgriezties neko)
- Veids anulēts.
Un tas arī viss, zemāk ir forma funkciju neesošu HelloWorld (spēkā neesošs); Ja tā nav funkcija VI tipa atgriezties neko mainīs veidu, kā jūs varat savienot ievadparametrus vai rezultātus.
Tas ir vairāk nekā destilācijas un veiksmi.



















































Sveiki
Man viņiem DLL ar TurboExploer http://www.turboexplorer.com/~~pobj kas ir bezmaksas, bet sver 200 megs. Jūs varat arī izdarīt ar bezmaksas kompilatoru Borland piedāvājums (5,5).
Sveicieni!
thank you very much! Man ir bijusi ļoti noderīga.
Sveiki ka šāds!
Es gribu savienot Canon barošanas shot G9 cmaara un iegūt attēlu pa logu no LabVIEW, acīmredzot Man vajag dažas DLL failus šāda veida intefaces .... Vai varat palīdzēt vai dot man padomus.
Cēzars Jimenez Calvillo.
Hi Cēzara.
Pirmā lieta, ko es redzu ir vieglāk vai jūsu kamera bija redzēt to kā webcam programmatūra vai kontaktdakša ir redzams "My Computer", kā webcam, Ja tā, ka jūs varat izmantot pasta kods? LabView Vision 0.5: kods vienkāršs USB kamera
un indekss norāda nosaukumu kameras ir izvēlējusies.
Ja nē, programmatūra vai nedarbojas USB kabeli (kas, protams, saista arī) cenšas generic draiveris, kas kalpos kā webcam, vai programmā importēt fotogrāfijas tieši no fotoaparāta ... es nezinu, lietu ka, ja jūs redzat video, izmantojot datoru ar to skaidrs, ka tiek uzskaitītas sarakstā.
Es nedomāju, ka vieglāk atrast (daudz mazāk do) dll, kas satur funkciju, kas aicina uz attēla secību, kas darbojas kā video. Ja jūs atradīsiet, kā jūs zināt, izmantojot funkciju zvanu mezgla punkta uzzināt, kāda veida dati jums ir jāsazinās ar funkciju vai jūs atpakaļ, ja masīvs, ja masīvs rādītājs, utt ... lai definētu zvanu).
Jauki jauna, piemēram, izmantojot bibliotēku ar tādu pašu dev ar sadarbības lengauje c + +
Nu, tāpat kā jebkurš bibliotēkā, ielieciet # ietvert bibliotēka (starp trīsstūri un citātiem, pamatojoties uz faila atrašanās vietu, ja noklusējuma mape vai nē), un jau, izsauktu funkciju programmā.
Turklāt man ir konstatēts, ka liekot tikai. C priekšā funkcijas mēs vēlamies eksportēt, ja mēs definējam funkcijas sākumā, atslēgvārds __ declspec (dllexport) ir jau valsts funkciju, tad dod pogas, lai izveidotu dll programmas mēs esam utlizando sastādīšanai. Šis atslēgvārds var būt nedaudz atšķirīgs es domāju, ka no vienas programmas uz otru, bet google ir ātrs.
Hey hey es varu darīt programmu veidotāju un izmantot to kā jūs raksturotu 6.1 LabView? Man ir jādara programmu LabView bet es uzskatu, ka daudz sarežģītāk es esmu, ko izmanto, lai vienmēr izmantot C valodai
Būtu ļoti pateicīgi par mani no jautājuma!
Paldies jau iepriekš!
Jūs varat izmantot jebkuru programmu, lai DLL, ja jūs zināt un ko jūs varat darīt. Lai pierādītu, vai man publiskas funkcijas, kā es izmantoju maz programmu Dependecy Walker.
Un ja LabView 6.1 var darīt pats, lai izsauktu dll, es domāju, ka tas mainās, kā jūs darīt, un kopš 7 versijas vietu, bet jums ir funkcija Zvanīt Node Libray līdzīgi. Arī novērš kods interfeisa Node (CIN), kas arī kalpo izpildīt kodu, bet fakts, ka tomēr daudz lasu es neesmu enterder kā tā darbojas.
Arī jāatceras, ka jūs varat izmantot C kodu vai valodu tādā pašā veidā padara strukturēts mezglu struktūru, bet nevarēju šeit ietilpst vai funkcija zvani ... Un ar MathScrpt Node Matlab valodu, bet par to es domāju, ka mums LabVIEW, kas ietver pilnu ...
arī šeit ir angļu valodā pamācība zvanīt ārējo kodu LabView I 6.0 un 6.1, mēs izmantojam mezglu kā jūs teicāt iepriekš, bet ilgāk, arī radot dll no paša sākuma ...
http://www.ni.com/pdf/manuals/370109a.pdf
Es varētu jums paskaidrot mazliet labāk kā es varu iet no C + + valodas LabView?
Iet iet neiztur, jūs varat pievienot kodu papildina.
- Ja ir funkcijas, vai lec, vai kaut kas neparastas struktūras vienīgi tad, ja .. cits .. jo ... tad Formula Node.
- Ja ir funkcijas un komplicētākā programma rada DLL un sauc to ar izsaukuma funkcija Node Libray panta palīgs Instrumenti »Imports» Kopīga bibliotēka (DLL) nāk parocīgs.).
Kods saskarne Mezgls nezinu, kā tas tiek lietots, šeit ir piemērs: Piemērs no CIN ar LabVIEW un MS Visual C + + 5.0 .
Ārējais kods LabVIEW - CIN / DLL - Sākumpunkts
-. MathScript Mezgls Matlab kods Mans birojs, jums ir Matlab.
- Vēlaties vairāk C? Es domāju pasate uz LabWindows CVI.
hi exite gribēja zināt, vai citu veidu iespēja ap, uz kuru es, ka, ja es varētu saņemt to, ko es daru LabView uz C. mans jautājums ir tas, ka to, ko es daru LabView es varu darīt ar to mikroorganismu
Tagad jautājums, ko es es esmu darījis vairākas reizes, bet ko es esmu guvuši, pēc līniju FPGA ir tā, ka es domāju, ka ne.
Ieplānot FPGA, ja viss LabVIEW programmu un, ņemot vērā, sastādot failu konvertēt VHDL vai vienu, kas akceptē šo FPGA (kā viegli, kā uz NXT), bet ir derīgs tikai 4 vai 5 modeļiem un FPGA modulis maksā daudz naudas. Es domāju par mikro versijas ARM ¿? Es neatceros darīs tāpat.
Cik jūs varat iegūt Būla noteikts, Cluster ... Jo C. ti, ja jūs savienot Klasteris (piemēram, tāpēc vairāk lietas un sarežģītas) uz Call Library funkcija Mezgls panta 1. jums ir iet un nodot kā tipu Adpat tipa parametriem) jums sniegt uz otro pogu, lai apskatītu iespējas viņiem ir VIS un jūs hit Izveidot. C failu. Nu es esmu spēcīgi jūs tikai iegūt sākt ar faila galvenes C aizpildīt visu savu kodu..
Kā vienmēr iespēja LabView CVI, bet tas ir kā programmas C (ne vizuālās) un zvana no bibliotēkām bija saskarnes pogām subVI LabView.
Hello,
Es esmu Newbie DLL jautājumiem, bet es brīnums, ja saistībā ar Matlab MEX failus, es sapratu, ir līdzīgi DLL, es varētu arī izmantot tos LabVIEW. Tas ir, man ir kods C q ir sarežģīts un ir izmantota Matlab kā MEX failus, un es to izmantot LabVIEW. Ne, ja iespējams, vai, ja es būtu labāk pārvērstu šo kodu, lai C DLL ar metodēm, kuru Jūs piedāvājāt.
Par līdz šim vēl nekad lasīt neko par dll failus, kā Matlab MEX sauc. bet skatoties NI.com ar atslēgvārdiem "Matlab Mex" ir atstājis mani šādi:
* Līdz MEX VI izmantojot NI LabVIEW Math Interface Toolkit Calling LabVIEW Vis no The MathWorks Inc MATLAB ® programmatūras vidē
* Šeit es domāju, ka padara savienojumu starp Simulink un LabVIEW NI LabVIEW simulācijas Interface rīkkopa
Lai izmantotu jo LabView MEX nav atstājis neko tik ātri, un es nekad devās uz lasījumā, lai izveidotu savienojumu ar LabView bibliotēkām, bet, protams, es nekad nebiju gājusi citādi, vai no normālas AutoCAD failus ... Tātad, ja jūs varat sastādīt C jebkura programma un darīt DLL ir risinājums.
*
[...]
Labs periods pēc tam, kas spēs radīt dll tiek izmantotas LabView nav svarīgi, kas kompilators jūs izmantojat, tas paver jaunu pasauli ar iespējām, bet arī redzēt pasauli nepatikšanas, jo īpaši, ja ko darām, ir vairāk nekā "Hello World". Esmu strādājis grūti izmantot DLL'S savākta no mākslīgajiem neurunales tīkla bibliotēkās izmantot LabVIEW.
Pirmā problēma, datu tipi, kad jums ir nepieciešams bibliotēku dll pagājis kā parametros sarežģītu datu tipiem, kā lielo struktūras C + +, uzdevums ir nedaudz traucējošs, lai risinātu maz ar šiem šķēršļiem, izveidot saitei funkcijas c + +, kas var apstrādāt datus struktūras C + + un LabVIEW padarīt tos ēdami.
Otra problēma, atmiņas vadību, dažreiz, it īpaši, ja jūs sāktu programmēšana, Jums ir tendence domāt "ja jūs esat apkopojusi Jo šim labi", bet, ja jums izveidot cilpu, LabVIEW kur funkcija tiek aktivizēta tūkstošiem reižu sekundē , tur dll un ja funkcija nav sniegt pienācīgu izmantošanu atmiņu varat vienkārši atgriezt sistēma nestabila. Tas ir tik pēc tam, kad priecīgi redzēt, kā RNS strādāja ideāli, es samazinājās pēc dažām sekundēm decepcioncuando redzēja visu un apstājās, jo dators kļuva lēns. Piereģistrējos visu kodu c + +, iznīcinātāji, celtnieki, tā sauktās jaunās un dzēst, bet neatrada problēmas.
Es jums piekrītu, patiesība, jo tas nav saņemt datus uz DLL LabView, ja jūs pavadīt ar izmēru, kuru mērķis ir kaut kas cits ... pēkšņi padara LabView kreka un aizver pēkšņi. Un lēnām skaidrs, vismaz 8.6.1.