WAVESHARE logoUSB-CAN siini liides
Adapteri liidese funktsioon
Raamatukogu kasutajajuhendWAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu

ESIMENE OSA LÕPPENUDVIEW

Kui kasutaja kasutab CAN siini side testimiseks lihtsalt USB-CAN siini liidese adapterit ja siis saab ta testi andmete saatmiseks ja vastuvõtmiseks kasutada otse kaasasolevat USB-CAN Tool tarkvara.
Kui kasutaja kavatseb ise oma toodete jaoks tarkvaraprogrammi kirjutada. Lugege hoolikalt järgmised juhised ja kasutage viidet samppakume koodi:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹ Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Arendage raamatukogu file :ControlCAN.lib, ControlCAN.DLL
VC versiooni funktsiooni deklaratsioon file :ControlCAN.h
VB versiooni funktsiooni deklaratsioon file: ControlCAN.bas
LabVIEW versiooniteegi funktsioonipaketi moodul :ControlCAN.llb
Delphi versiooni funktsiooni deklaratsioon file: ControlCAN.pas

TEINE OSA ÜHENDAV FUNKTSIOONIDE TEEK JA ANDMESTRUKTUUR

2.1. TÜÜBI MÄÄRATLUS
2.1.1. Seadme tüüp

Tüübi määratlus Tüübi väärtus Kirjeldus
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO struktuur sisaldab USB-CAN-seeria liidesekaardi seadme teavet.
Struktuur täidetakse funktsiooniga VCI_ReadBoardInfo.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 1

liige:
hw_Version
Riistvara versiooni number, kuueteistkümnendsüsteem. Nt 0x0100 tähistab V1.00.
fw_Version
Riistvara versiooni number, kuueteistkümnendsüsteem. Nt 0x0100 tähistab V1.00.
2. lehekülg
dr_Version

Draiveri versiooni number, kuueteistkümnendsüsteem. Nt 0x0100 tähistab V1.00.
in_Version
Liidese teegi versiooninumber, kuueteistkümnendsüsteem. Nt 0x0100 tähistab V1.00.
irq_Num
Süsteem reserveeritud.
can_Num
Esindab CAN-kanalite koguarvu.
str_Serial_Num
Selle tahvlikaardi seerianumber.
str_hw_Tüüp
Riistvara tüüp, näiteks "USBCAN V1.00" (Märkus: sisaldab stringi lõpetajat '\0').
Reserveeritud
Süsteem reserveeritud.
2.1.3. VCI_CAN_OBJ
Funktsioonides VCI_Transmit ja VCI_Receive kasutatakse CAN-teatekaadri edastamiseks struktuuri VCI_CAN_OBJ.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joon

liige:
ID
Sõnumi identifikaator. Otsene ID-vorming, paremale joondatud, vt: Lisa üks: ID joonduse üksikasjad.
TimeStamp
Stamp info ajaraami kohta, käivitamise ajastus, kui CAN-kontroller on lähtestatud, ühik on 0. 1ms.
Time Flag
Seoses sellega, kas kasutada aega stamp, 1 on efektiivne TimeStamp. TimeFlag ja TimeStamp on tähenduslikud ainult siis, kui kaader on vastu võetud.
SendType
Saatmise tüüp. = 0 tähistab tavalist tüüpi, = 1 tähistab ühekordset saatmist.
RemoteFlag
Kas see on kauge lipp. = 1 tähistab kauglippu, = 0 tähistab andmete lippu.
Väline lipp
Kas see on välislipp. = 1 tähistab välist lippu, = 0 tähistab standardlippu.
DataLen
Andmete pikkus (<=8) , see tähendab andmete pikkus.
Andmed
Pakettandmed.
Reserveeritud
Süsteem reserveeritud.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG struktuur määrab CAN-i lähtestamise konfiguratsiooni. Struktuur täidetakse funktsiooniga VCI_InitCan.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 2

liige:
AccCode
Saate filtreeritud vastuvõtukoodi.
AccMask
Saate filtrimaski.
Reserveeritud
Reserveeritud.
Filter
Filtreerimismeetod, mis võimaldab seadistusvahemikku 0–3, vt üksikasju filtrirežiimide tabeli jaotisest 2.2.3.
Ajastus 0
SJA1000 edastuskiiruse parameeter, Timing0 (BTR0) .
Ajastus 1
SJA1000 edastuskiiruse parameeter, Timing1 (BTR1) .
Režiim
Töörežiim, 0 = tavaline töörežiim, 1 = ainult kuulamisrežiim, 2 = spontaanne lubamine ja saatmise testrežiim.
Märkused:
Filtri sätete kohta vaadake: Lisa II: CAN-parameetri seadistamise juhised.
CAN Timing0 ja Timing1 kasutatakse edastuskiiruse määramiseks, neid kahte parameetrit kasutatakse ainult initsialiseerimisel.tage.
Tavapärane Baudi viitetabel:

CAN Baudi kiirus Ajastus0 (BTR0) Ajastus1 (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
  1. Kasutajad peavad järgima ainult SJA1000 (16MHz), et määrata Baud rate parameetri.
  2. Adapter ei toeta ajutiselt alla 10K edastuskiirust.

2.2. FUNKTSIOONI KIRJELDUS
2.2.1. VCI_OpenDevice
Seda funktsiooni kasutatakse seadmete ühendamiseks.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD Reserved);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
Reserveeritud
Säilitusparameetrid, sisestage 0.
Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 3

2.2.2. VCI_CloseDevice
Seda funktsiooni kasutatakse ühenduse sulgemiseks.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 4

2.2.3. VCI_InitCan
Seda funktsiooni kasutatakse määratud CAN-i lähtestamiseks.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIindex,
PVCI_INIT_CONFIG pInitConfig);

Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
CANIindeks
CAN-kanali indeks, näiteks kui on ainult üks CAN-kanal, on indeksi number 0, kui neid on kaks, võib indeksi number olla 0 või 1.
pInitConfig
Initsialiseerimisparameetrite struktuur. Liikmete parameetrite loend:

liige Funktsionaalne kirjeldus
pInitConfig->AccCode AccCode ja AccMask saavad koos teha kindlaks, milliseid pakette saab vastu võtta. Neid kahte registrit kasutatakse ID vasakule joondamiseks, st AccCode'i kõrgeim bitt (Bit31) ja AccMask on joondatud ID väärtuse kõrgeima bitiga.
pInitConfig->AccMask ID joonduse kohta vt lisasid: I lisa:
ID joonduse üksikasjad.
Nt: kui määrate AccCode'i väärtuseks 0x24600000 (st 0x123 nihutatakse 21 biti võrra vasakule), on AccMask väärtus
on seatud väärtusele 0x00000000 ja siis saab vastu võtta ainult need paketid, mille CAN-teatekaadri ID on 0x123 (AccMask väärtus 0x00000000 näitab, et kõik bitid on asjakohased
bitti). Kui AccCode väärtuseks on seatud 0x24600000, määratakse AccMaski väärtuseks 0x600000 (0x03 nihutatakse vasakule 21 biti võrra) ja siis saab aktsepteerida ainult pakette, mille CAN-teate kaadri ID on 0x120 ~ 0x123 (AccMask väärtus
0x600000 näitab, et peale bit0 ~ bit1 on asjakohased teised bitid (bit2 ~ bit10).
Märkus. See filtriseade ntampstandardraamile, ntample, kõrge 11-bitine on kehtiv bitt; laiendatud kaadri puhul ja siis on kehtiv ID 29-bitine. AccCode ja AccMask määravad kehtivaks bitiks kõrge 29-bitise väärtuse!
pInitConfig->Reserveeritud reserveeritud
pInitConfig->Filter Filtreerimisrežiimi seaded vaadake filtrirežiimide tabeli jaotist.
pInitConfig->Timing0 Baadisageduse T0 seadistus
pInitConfig->Timing1 Baadisageduse T1 seadistus
pInitConfig->Mode Töörežiim:
0 - normaalne töö
1-Ainult kuulamisrežiim
2-spontaanse vastuvõtu ja saatmise testrežiim (see väärtus on ZLG funktsiooniteegist välja jäetud)

Filtrirežiimi tabel:

Väärtus Nimi Kirjeldus
1 Võta vastu kõik tüübid Sobib nii standard- kui ka pikendatud raamile!
2 Võta vastu ainult standardraam Sobib standardraamile ja pikendatud
raam eemaldatakse otse filtreerimise teel!
3 Võta vastu ainult pikendatud kaader Sobib pikendatud raamile ja standardraam eemaldatakse
otse filtreerimine! .

Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.
Nt

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 4

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 6

2.2.4. VCI_ReadBoardInfo
Seda funktsiooni kasutatakse adapteri riistvara teabe lugemiseks. Üldiselt võib seda ignoreerida.
DWORD __stddcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntample, kui on ainult üks USB-CAN-adapter, on indeksi number 0, kui on mitu USB-CAN-adapterit, siis indeksinumbrid kasvavas järjekorras alates 0-st. pInfo
VCI_BOARD_INFO kasutatakse seadme teabe struktuuri osuti salvestamiseks.
Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 7

2.2.5. VCI_GetReceiveNum
Seda funktsiooni kasutatakse määratud vastuvõtupuhvris vastuvõetud, kuid mitte loetud kaadrite määramiseks.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
CANIindeks
CAN-kanali indeks.
Tagastab:
Tagasta raamid, mida pole veel lugenud.
Nt
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Seda funktsiooni kasutatakse määratud kanali vastuvõtu- ja saatmispuhvri tühjendamiseks
USB-CAN adapter.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
CANIindeks
CAN-kanali indeks.
Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 8

2.2.7. VCI_StartCAN
Seda funktsiooni kasutatakse CAN-kontrolleri ja adapteri sisemise katkestuste vastuvõtu funktsiooni käivitamiseks.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
CANIindeks
CAN-kanali indeks.
Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 9

2.2.8. VCI_ResetCAN
Seda funktsiooni kasutatakse CAN-kontrolleri lähtestamiseks.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIindex);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
CANIindeks
CAN-kanali indeks.
Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 10

2.2.9. VCI_Edasta
Seda funktsiooni kasutatakse CAN-teateraami saatmiseks.
DWORD __stdcall VCI_Transmit(DWORD seadmetüüp,DWORD seadmeind,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD pikkus);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
CANIindeks
CAN-kanali indeks. pSaada
Andmeraami massiivi esimene aadress, mis tuleb saata.
Pikkus
Andmekaadrite arv, mida tuleb saata, maksimaalne arv on 1000, suure kiiruse korral on soovitatav väärtus 48.
Tagastab:
Tagastab juba saadetud kaadrite tegeliku arvu, tagastatav väärtus = -1 näitab seadme viga.
Nt
WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 11

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 12

2.2.10. VCI_Receive
Seda funktsiooni kasutatakse vastuvõtu taotlemiseks.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIindex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
CANIindeks
CAN-kanali indeks.
pVastu
Andmekaadrite esimese seatud osuti vastuvõtmiseks.
Len
Tavalise sõnumi tagastamiseks peab andmeraami massiivi pikkus olema suurem kui 2500.
Vastasel juhul on tagastamise pikkus null olenemata sellest, kas sõnum on vastu võetud või mitte. adapter seadis iga kanali jaoks 2000 kaadri puhvri. Kasutaja saab oma süsteemist ja töökeskkonnast lähtuvalt valida sobiva massiivi pikkuse vahemikus 2500.
Ooteaeg reserveeritud.
Tagastab:
Tagastab tegelikult loetud kaadrite arvu, -1 näitab seadme vigu.
Nt
WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 13

KOLMAS OSA MUUD FUNKTSIOONID JA ANDMETE STRUKTUURI KIRJELDUS

Selles peatükis kirjeldatakse USB-CAN-adapteri liidese teegis ControlCAN.dll oleva ühildumatu ZLG-liidese teegi teisi andmetüüpe ja funktsioone. Palun tehke
Ärge kutsuge neid funktsioone välja, kui kasutate sekundaarseks arendamiseks ühilduvat ZLG mudelit, et mitte mõjutada ühilduvust.
3.1 FUNKTSIOONI KIRJELDUS
3.1.1. VCI_UsbDeviceReset
Lähtestage USB-CAN-adapter, pärast lähtestamist tuleb seade uuesti avada, kasutades VCI_OpenDevice'i.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD Reserved
Parameetrid:
DevType
Seadme tüüp. Vaadake: Adapteri seadme tüübi määratlus.
DevIndex
Seadme indeks, ntampkui on ainult üks USB-CAN-adapter, on indeksi number 0, kui USB-CAN-adaptereid on mitu, siis indeksinumbrid kasvavas järjekorras alates 0-st.
Reserveeritud Reserveeritud.
Tagastab:
Tagastusväärtus = 1, mis tähendab, et toiming on edukas; = 0 näitab, et toiming ebaõnnestus; = -1 näitab, et seadet pole olemas.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 14

bRel = VCI_UsbDeviceReset(nSeadmetüüp, Sõltumatus, 0);
3.1.2. VCI_FindUsbDevice2
Kui sama arvuti kasutab mitut USB-CAN-i, saab kasutaja kasutada seda funktsiooni praeguse seadme leidmiseks.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parameetrid:
pInfo
pInfot kasutatakse esimese andmepuhvri aadressi osuti parameetrite salvestamiseks.
Tagastab
Sisestage arvutiga ühendatud USB-CAN-adapteri number.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 15

Neljas osa Liidese raamatukogu funktsioonid protsessi abil
Seadme funktsioonide mitmekordistamiseks pakkusime lisafunktsioone (rohelise taustaga funktsioonid), nende hulka kuuluvad: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Teise arenduse ajal ei pea neid funktsioone tingimata kasutama. Isegi neid funktsioone eiratakse, on võimalik saavutada kõik USB-CAN-adapteri funktsioonid.

WAVESHARE USB CAN Bus Interface Adapteri liidese funktsioonide raamatukogu – joonis 16

www.waveshare.com
www.waveshare.com/wiki

Dokumendid / Ressursid

WAVESHARE USB-CAN siini liidese adapteri liidese funktsioonide raamatukogu [pdfKasutusjuhend
USB-CAN siini liidese adapteri liidese funktsiooniteek, USB-CAN, siini liidese adapteri liidese funktsiooniteek, liidese funktsiooniteek, funktsiooniteek

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *