USB-CAN Bus tengi
Aðgerð viðmóts millistykkis
Notendaleiðbeiningar bókasafns
FYRIR HLUTI LOKIÐVIEW
Ef notandinn notar bara USB-CAN strætó tengi millistykki til að fara í CAN strætó samskiptapróf, og þá getur hann beint notað meðfylgjandi USB-CAN tól hugbúnað til að senda og taka á móti gögnum um prófið.
Ef notandi hyggst skrifa hugbúnað fyrir eigin vörur. Vinsamlegast lestu vandlega eftirfarandi leiðbeiningar og taktu tilvísun í sampkóðinn sem við gefum upp:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Þróa bókasafn file :ControlCAN.lib, ControlCAN.DLL
VC útgáfu virka yfirlýsing file : ControlCAN.h
VB útgáfu virka yfirlýsing file: ControlCAN.bas
LabVIEW útgáfa bókasafnsaðgerðapakkaeining :ControlCAN.llb
Yfirlýsing um virkni Delphi útgáfu file: ControlCAN.pas
ANNAR HLUTI SAMRÆMT AÐGERÐARBÓKASAFN OG GAGNA UPPBYGGING
2.1. GERÐARSKILGREINING
2.1.1. Tegund tækis
Tegund Skilgreining | Tegund gildi | Lýsing |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO uppbygging inniheldur USB-CAN Series tengikortsupplýsingar um tæki.
Uppbyggingin verður fyllt út í VCI_ReadBoardInfo virka.
Meðlimur:
hw_Version
Vélbúnaðarútgáfunúmer, sextánskur nótur. Td 0x0100 táknar V1.00.
fw_Version
Vélbúnaðarútgáfunúmer, sextánskur nótur. Td 0x0100 táknar V1.00.
Síða 2
dr_Version
Útgáfunúmer ökumanns, sextánskur nótur. Td 0x0100 táknar V1.00.
in_Version
Útgáfunúmer viðmótssafnsins, sextándabil. Td 0x0100 táknar V1.00.
irq_Num
Kerfi frátekið.
can_Num
Táknar heildarfjölda CAN rása.
str_Raðnúmer
Raðnúmer þessa borðkorts.
str_hw_Type
Tegund vélbúnaðar, svo sem „USBCAN V1.00“ (Athugið: Inniheldur strengjaloka '\0').
Frátekið
Kerfi frátekið.
2.1.3. VCI_CAN_OBJ
Í aðgerðunum VCI_Transmit og VCI_Receive er VCI_CAN_OBJ uppbygging notuð til að senda CAN skilaboðaramma.
Meðlimur:
ID
Skilaboðaauðkenni. Beint auðkennissnið, hægrijafnað, vinsamlegast sjá: Viðauki One: Upplýsingar um auðkennisröðun.
TimeStamp
Að taka á móti Stamp upplýsingar um tímaramma, byrja tímasetningu þegar CAN stjórnandi er frumstilltur, einingin er 0. 1ms.
TimeFlag
Hvað varðar það hvort nota eigi tímann Stamp, 1er áhrifaríkur TimeStamp. TimeFlag og TimeStamp eru aðeins þýðingarmikil þegar ramminn er móttekinn.
SendType
Sendingartegund. = 0 gefur til kynna venjulega gerð, = 1 gefur til kynna staka sendingu.
RemoteFlag
Hvort það er fjarlægur fáni. = 1 gefur til kynna fjarfána, = 0 gefur til kynna gagnafána.
ExternFlag
Hvort það er utanaðkomandi fáni. = 1 gefur til kynna utanaðkomandi fána, = 0 gefur til kynna staðlað fána.
DataLen
Gagnalengd(<=8) , það er lengd gagna.
Gögn
Pakkagögn.
Frátekið
Kerfi frátekið.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG uppbygging skilgreinir upphafsstillingu CAN. Uppbyggingin verður fyllt út í VCI_InitCan virkni.
Meðlimur:
AccCode
Fáðu síaðan samþykkiskóða.
AccMask
Fáðu síugrímu.
Frátekið
Frátekið.
Sía
Síunaraðferð, sem leyfir stillingarsvið 0-3, sjá kafla 2.2.3 í töflunni fyrir síustillingar til að fá nánari upplýsingar.
Tímasetning0
SJA1000 Baud rate færibreyta, Tímasetning0 (BTR0) .
Tímasetning1
SJA1000 Baud rate færibreyta, Tímasetning1 (BTR1) .
Mode
Vinnuhamur, 0 = venjuleg notkun, 1 = Hlustunarhamur, 2 = sjálfvirk innlögn og sendingarprófunarhamur.
Athugasemdir:
Um síustillingarnar vinsamlegast skoðaðu: Viðauka II: CANparameter uppsetningarleiðbeiningar.
CAN Timing0 og Timing1 eru notaðir til að stilla flutningshraða, þessar tvær breytur eru aðeins notaðar við frumstillingutage.
Hefðbundin Baud viðmiðunartafla:
CAN Baud hlutfall | Tímasetning0(BTR0) | Tímasetning1(BTR1) |
10k bps | 0x31 | 0x1C |
20k bps | 0x18 | 0x1C |
40k bps | 0x87 | 0xFF |
50k bps | 0x09 | 0x1C |
80k bps | 0x83 | 0xFF |
100k bps | 0x04 | 0x1C |
125k bps | 0x03 | 0x1C |
200k bps | 0x81 | 0xFA |
250k bps | 0x01 | 0x1C |
400k bps | 0x80 | 0xFA |
500k bps | 0x00 | 0x1C |
666k bps | 0x80 | 0xB6 |
800k bps | 0x00 | 0x16 |
1000k bps | 0x00 | 0x14 |
33.33 Kbps | 0x09 | 0x6F |
66.66 Kbps | 0x04 | 0x6F |
83.33 Kbps | 0x03 | 0x6F |
- Notendur þurfa aðeins að fylgja SJA1000 (16MHz) til að stilla Baud rate færibreytuna.
- Millistykkið styður ekki tímabundið Baud hraða undir 10K.
2.2. LÝSING Á FUNC
2.2.1. VCI_OpenDevice
Þessi aðgerð er notuð til að tengja tæki.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex, DWORD Reserved);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
Frátekið
Varðveislufæribreytur, fylltu út 0.
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
2.2.2. VCI_CloseDevice
Þessi aðgerð er notuð til að loka tengingunni.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
2.2.3. VCI_InitCan
Þessi aðgerð er notuð til að frumstilla tilgreint CAN.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
CANIindex
CAN rásarvísitala, svo sem þegar það er aðeins ein CAN rás, er vísitalan 0, ef þær eru tvær, getur vísitalan verið 0 eða 1.
pInitConfig
Uppsetning frumstillingarbreytu. Færslulisti yfir meðlimi:
Meðlimur | Virkni lýsing |
pInitConfig->AccCode | AccCode og AccMask geta unnið saman til að ákvarða hvaða pakka er hægt að samþykkja. Þessar tvær skrár eru notaðar til að stilla auðkennið til vinstri, það er að segja hæsta bita (Bit31) AccCode og AccMask er stillt við hæsta bita auðkennisgildis. |
pInitConfig->AccMask | Um auðkennisröðun vísa til viðauka: Viðauki I: Upplýsingar um auðkennisstillingu. Td: Ef þú stillir gildi AccCode sem 0x24600000 (þ.e. 0x123 er fært til vinstri um 21 bita), AccMask gildi er stillt á 0x00000000, og þá er aðeins hægt að samþykkja pakkana með CAN-skilaboðaramma ID er 0x123 (AccMask gildi 0x00000000 gefur til kynna að allir bitar séu viðeigandi |
bitar). Ef AccCode gildið er stillt á 0x24600000, er AccMask gildið stillt á 0x600000 (0x03 færist til vinstri um 21 bita), og þá er aðeins hægt að samþykkja pakkana með CAN skilaboðarammanum er 0x120 ~ 0x123 (AccMask gildi 0x600000 gefur til kynna að fyrir utan bit0 ~ bit1 eru aðrir bitar (bit2 ~ bit10) viðeigandi bitar). Athugið: Þessi síustilling tdamples til venjulegs ramma, til dæmisample, hár 11-bita er gildur biti; þegar um er að ræða framlengda rammann, og þá er gilt auðkenni 29-bita. AccCode og AccMask setja hátt 29-bita sem gilda bita! |
|
pInitConfig-> Frátekið | frátekið |
pInitConfig->Sía | Stillingar síunarhams vinsamlegast skoðaðu hlutann í töflunni fyrir síunarham. |
pInitConfig->Tímasetning0 | Baud rateT0 stilling |
pInitConfig->Tímasetning1 | Baud rateT1 stilling |
pInitConfig->Mode | Ham: 0-venjuleg aðgerð 1-Hlustunarhamur 2-sjálfvirk innlögn og sendingarprófunarhamur (þetta gildi er útilokað frá ZLG virknisafninu) |
Tafla fyrir síustillingu:
Gildi | Nafn | Lýsing |
1 | Fáðu allar tegundir | Hentar bæði fyrir staðlaða og framlengda ramma! |
2 | Fáðu aðeins venjulega ramma | Hentar venjulegum ramma og framlengdur |
ramma verður fjarlægður með síun beint! | ||
3 | Fáðu aðeins framlengdan ramma | Hentar fyrir framlengda ramma og venjulegur rammi verður fjarlægður af síun beint! . |
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
Td
2.2.4. VCI_ReadBoardInfo
Þessi aðgerð er notuð til að lesa upplýsingar um millistykki vélbúnaðar. Almennt séð er hægt að hunsa það.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType, DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki, eru vísitölurnar í hækkandi röð frá 0. pInfo
VCI_BOARD_INFO er notað til að geyma uppbyggingarbendil fyrir tæki.
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
2.2.5. VCI_GetReceiveNum
Þessi aðgerð er notuð til að tilgreina móttekna en hefur ekki verið lesnar rammar í tilgreindum móttökubuffi.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki, byrja vísitölurnar í hækkandi röð frá 0.
CANIindex
CAN rásavísitala.
Skilar:
Skilaðu ramma sem ekki hafa verið lesnir ennþá.
Td
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Þessi aðgerð er notuð til að hreinsa móttöku- og sendingar biðminni á tilnefndri rás sem tilgreind er af
USB-CAN millistykki.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex, DWORD CANIndex);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki, byrja vísitölurnar í hækkandi röð frá 0.
CANIindex
CAN rásavísitala.
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
2.2.7. VCI_StartCAN
Þessi aðgerð er notuð til að ræsa CAN stjórnandi og innri truflunarmóttökuaðgerð millistykkisins.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex, DWORD CANIndex);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
CANIindex
CAN rásavísitala.
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
2.2.8. VCI_ResetCAN
Þessi aðgerð er notuð til að endurstilla CAN stjórnandi.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex, DWORD CANIndex);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
CANIindex
CAN rásavísitala.
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
2.2.9. VCI_Senda
Þessi aðgerð er notuð til að senda CAN skilaboðaramma.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
CANIindex
CAN rásavísitala. pSenda
Fyrsta heimilisfang gagnarammafylkja sem þarf að senda.
Lengd
Fjöldi gagnaramma sem þarf að senda, hámarksfjöldi er 1000, ráðlagt gildi er 48 undir miklum hraða.
Skilar:
Skilaðu raunverulegum fjölda ramma sem þegar hafa verið sendir, skilgildið = -1 gefur til kynna villu í tækinu.
Td
2.2.10. VCI_Receive
Þessi aðgerð er notuð til að biðja um móttöku.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
CANIindex
CAN rásavísitala.
taka á móti
Til að taka á móti fyrsta setta bendilinn af gagnarammanum.
Len
Fylkislengd gagnarammans verður að vera meira en 2500 til að skila venjulegum skilaboðum.
Annars verður endursendingarlengdin núll hvort sem skilaboðin berast eða ekki. millistykkið stillti 2000 ramma biðminni fyrir hverja rás. Byggt á eigin kerfi og vinnuumhverfi getur notandinn valið viðeigandi fylkislengd frá 2500.
Biðtími frátekinn.
Skilar:
Skilaðu fjölda ramma sem raunverulega hafa verið lesnir, -1 gefur til kynna villur í tæki.
Td
ÞRIÐJI HLUTI AÐRAR AÐGERÐIR OG LÝSING Á GAGNABYGGINGU
Þessi kafli lýsir öðrum gagnategundum og aðgerðum ósamrýmanlegs ZLG viðmótasafns sem er í USB-CAN millistykki viðmótasafni ControlCAN.dll. Gerðu það
ekki kalla þessar aðgerðir ef notað er samhæft ZLG líkan fyrir aukaþróun til að hafa ekki áhrif á eindrægni.
3.1 LÝSING Á GERÐI
3.1.1. VCI_UsbDeviceReset
Endurstilla USB-CAN millistykki, þarf að opna tækið aftur eftir endurstillingu með því að nota VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex, DWORD Reserved
Færibreytur:
DevType
Gerð tækis. Sjá: Skilgreining á gerð millistykkis.
DevIndex
Tækjavísitala, tdample, þegar það er aðeins einn USB-CAN millistykki er vísitalan 0, þegar það eru mörg USB-CAN millistykki byrja vísitölurnar í hækkandi röð frá 0.
Frátekið Frátekið.
Skilar:
Skilagildi = 1, sem þýðir að aðgerðin hefur tekist; = 0 gefur til kynna að aðgerðin hafi mistekist; = -1 gefur til kynna að tækið sé ekki til.
bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Þegar sama tölvan notar mörg USB-CAN getur notandi notað þessa aðgerð til að finna núverandi tæki.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Færibreytur:
pInfo
pInfo er notað til að geyma færibreytur fyrsta gagnabuffavistfangabendilsins.
Skilar
Skilaðu inn númeri USB-CAN millistykkisins sem er tengt við tölvuna.
Fjórði hluti tengibókasafnsaðgerðir með því að nota ferli
Til þess að margfalda virkni tækisins, útveguðum við viðbótaraðgerðir (aðgerðir kynntar með grænum bakgrunni), þessar aðgerðir innihalda: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Við seinni þróunina þarf ekki endilega að kalla fram þessar aðgerðir. Jafnvel þessar aðgerðir eru hunsaðar, hægt er að ná öllum USB-CAN millistykki.
www.waveshare.com
www.waveshare.com/wiki
Skjöl / auðlindir
![]() |
WAVESHARE USB-CAN Bus Milli Face Adapter Viðmótsaðgerðasafn [pdfLeiðbeiningarhandbók USB-CAN Bus Milli Face Millistykki Aðgerðarsafn viðmóts, USB-CAN, Bus Mill Face Adapter Viðmót Aðgerðarsafn, tengiaðgerðasafn, Aðgerðarsafn |