WAVESHARE logotipoaUSB-CAN Bus Interfazea
Egokigailuaren Interfazearen Funtzioa
Liburutegiaren Erabiltzaileen ArgibideakWAVESHARE USB CAN Bus Interface Egokitzailea Interfazea Funtzio Liburutegia

LEHENENGO ZATIA BUKATUVIEW

Erabiltzaileak USB-CAN bus interfazearen egokitzailea besterik ez badu erabiltzen CAN bus komunikazioaren probara joateko, eta, ondoren, zuzenean erabil dezake hornitutako USB-CAN Tool softwarea probaren datuak bidaltzeko eta jasotzeko.
Erabiltzaileak bere produktuetarako software-programa idatzi nahi badu. Mesedez, irakurri arretaz jarraibide hauek eta hartu erreferentzia sampematen dugun kodea:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Liburutegia garatu file :ControlCAN.lib, ControlCAN.DLL
VC bertsioaren funtzioaren deklarazioa file :ControlCAN.h
VB bertsioaren funtzioaren deklarazioa file: ControlCAN.bas
LaborategiaVIEW bertsio-liburutegiaren funtzio-pakete-modulua: ControlCAN.llb
Delphi bertsioaren funtzioaren deklarazioa file: ControlCAN.pas

BIGARREN ZATIA FUNTZIO BATERAGARRIAK LIBURUTEGIA ETA DATUEN EGITURA

2.1. MOTA DEFINIZIOA
2.1.1. Gailu mota

Motaren definizioa Idatzi balioa Deskribapena
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO egiturak USB-CAN Series interfaze txartelaren gailuaren informazioa dauka.
Egitura VCI_ReadBoardInfo funtzioan beteko da.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 1. irudia

Kide:
hw_Bertsioa
Hardwarearen bertsio-zenbakia, hamaseitar idazkera. Adib. 0x0100 V1.00 adierazten du.
fw_Bertsioa
Hardwarearen bertsio-zenbakia, hamaseitar idazkera. Adib. 0x0100 V1.00 adierazten du.
2. orrialdea
dr_Bertsioa

Gidariaren bertsio-zenbakia, hamaseitar idazkera. Adib. 0x0100 V1.00 adierazten du.
bertsioan
Interfazea liburutegiaren bertsio-zenbakia, idazkera hamaseitarra. Adibidez, 0x0100 V1.00 adierazten du.
irq_Num
Sistema erreserbatuta.
can_Num
CAN kanalen guztizko kopurua adierazten du.
str_Serial_Num
Arbel-txartel honen serie-zenbakia.
str_hw_Type
Hardware mota, adibidez, "USBCAN V1.00" (Oharra: '\0' kate-amaiera dakar).
Erreserbatuta
Sistema erreserbatuta.
2.1.3. VCI_CAN_OBJ
VCI_Transmit eta VCI_Receive funtzioetan, VCI_CAN_OBJ egitura erabiltzen da CAN mezu-markoa transmititzeko.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - Irudia

Kide:
ID
Mezuaren identifikatzailea. Zuzeneko identifikazio formatua, eskuinera lerrokatuta, ikusi: Lehenengo eranskina: ID-a lerrokatzeko xehetasunak.
Denbora St.amp
stamp denbora-tartearen informazioa, hasi denbora-tartea CAN kontrolagailua hasieratzen denean, unitatea 0. 1ms da.
TimeFlag
Denbora st erabili ala ez dagokionezamp, 1 TimeSt eraginkorra daamp. TimeFlag eta TimeStamp markoa jasotzen denean bakarrik dira esanguratsuak .
SendType
Bidalketa mota. = 0 mota normala adierazten du, = 1 bidalketa bakarra adierazten du.
Urruneko Bandera
Urruneko bandera den ala ez. = 1ek urruneko bandera adierazten du, = 0k datuen bandera adierazten du.
Kanpoko Bandera
Kanpoko bandera den ala ez. = 1ek kanpoko bandera adierazten du, = 0k bandera estandarra adierazten du.
DataLen
Datuen luzera (<=8) ,hau da, datuen luzera.
Datuak
Datu paketeak.
Erreserbatuta
Sistema erreserbatuta.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG egiturak CAN-en hasierako konfigurazioa definitzen du. Egitura VCI_InitCan funtzioan beteko da.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 2. irudia

Kide:
Sarbidea
Jaso iragazitako onarpen-kodea.
AccMask
Jaso iragazki maskara.
Erreserbatuta
Erreserbatuta.
Iragazkia
Iragazte-metodoa, 0-3 tartea ezartzeko aukera emanez, ikus iragazki moduen taulako 2.2.3 atala xehetasunetarako.
Denbora 0
SJA1000 Baud-abiadura parametroa, Timing0 (BTR0) .
Denbora 1
SJA1000 Baud-abiadura parametroa, Timing1 (BTR1) .
Modua
Funtzionamendu modua, 0 = funtzionamendu normala, 1 = Entzuteko modua, 2 = berezko onarpena eta bidalketa proba modua.
Oharrak:
Iragazkien ezarpenei buruz, ikusi: II. eranskina: CANparametroen konfigurazio-argibideak.
CAN Timing0 eta Timing1 baud-tasa ezartzeko erabiltzen dira, bi parametro hauek hasierako s-etan soilik erabiltzen dira.tage.
Ohiko Baud erreferentzia-taula:

CAN baud-tasa Denbora 0 (BTR0) Denbora 1 (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. Erabiltzaileek SJA1000 (16MHz) jarraitu behar dute Baud-tasa parametroa ezartzeko.
  2. Egokitzaileak ez du onartzen aldi baterako 10K-tik beherako baud-tasa.

2.2. FUNTZIOEN DESKRIBAPENA
2.2.1. VCI_OpenDevice
Funtzio hau gailuak konektatzeko erabiltzen da.
DWORD __stdcall VCI_OpenDevice (DWORD DevType, DWORD DevIndex, DWORD Erreserbatua);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
Erreserbatuta
Atxikipen-parametroak, bete 0.
Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 3. irudia

2.2.2. VCI_CloseDevice
Funtzio hau konexioa ixteko erabiltzen da.
DWORD __stdcall VCI_CloseDevice (DWORD DevType, DWORD DevIndex);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 4. irudia

2.2.3. VCI_InitCan
Funtzio hau zehaztutako CAN hasieratzeko erabiltzen da.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
CANIndex
CAN kanalaren indizea, esate baterako, CAN kanal bakarra dagoenean, indize-zenbakia 0 da, bi badira, indize-zenbakia 0 edo 1 izan daiteke.
pInitConfig
Hasierako parametroen egitura. Kideen parametroen zerrenda:

Kide Deskribapen funtzionala
pInitConfig->AccCode AccCode eta AccMask elkarrekin lan egin dezakete zein pakete onar daitezkeen zehazteko. Bi erregistro hauek ID-a ezkerrean lerrokatuta ezartzeko erabiltzen dira, hau da, AccCode-ren eta AccMask-aren bitrik altuena (Bit31) ID balioaren bit altuenarekin lerrokatzen da.
pInitConfig->AccMask NAN lerrokatzeari buruz, ikusi eranskinak: I. eranskina:
ID lerrokatzearen xehetasunak.
Adib.: AccCode-ren balioa 0x24600000 gisa ezartzen baduzu (hau da, 0x123 ezkerrera 21 bitz desplazatzen da), AccMask balioa
0x00000000-n ezarrita dago, eta, ondoren, CAN mezu-markaren IDa 0x123 den paketeak soilik onartu daitezke (AccMask 0x00000000 balioak bit guztiak garrantzitsuak direla adierazten du.
bits). AccCode balioa 0x24600000-n ezartzen bada, AccMask balioa 0x600000-n ezartzen da (0x03 ezkerrera 21 bitz desplazatzen da), eta, ondoren, CAN mezu-markaren IDa duten paketeak soilik 0x120 ~ 0x123 onar daitezke (AccMask balioa
0x600000-k adierazten du bit0 ~ bit1etik gain beste bit batzuk (bit2 ~ bit10) bit garrantzitsuak direla).
Oharra: Iragazki ezarpen hau adibidezampleak marko estandarrera, adibidezample, 11-bit altua da baliozko bit-a; fotograma hedatuaren kasuan, eta orduan baliozko IDa 29 bitekoa da. AccCode eta AccMask 29-bit altua ezarri dute baliozko bit gisa!
pInitConfig->Erreserbatuta erreserbatuta
pInitConfig->Iragazkia Iragazte moduaren ezarpenak, mesedez, ikusi iragazki moduen taulako atala.
pInitConfig->Timing0 Baud-tasaT0 ezarpena
pInitConfig->Timing1 Baud-tasaT1 ezarpena
pInitConfig->Modua Funtzionamendu modua:
0-funtzionamendu normala
1-Entzuteko modua
2 onarpen espontaneoa eta bidalketa proba modua (balio hau ZLG funtzioen liburutegitik kanpo geratzen da)

Iragazki moduen taula:

Balioa Izena Deskribapena
1 Mota guztietakoak jaso Egokia da marko estandarra zein hedatua!
2 Jaso ezazu marko estandarra soilik Marko estandarrerako egokia eta hedatua
markoa iragazketa bidez kenduko da zuzenean!
3 Jaso marko hedatua soilik Marko hedatuetarako egokia da eta marko estandarra kenduko da
zuzenean iragaztea! 。

Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.
Adib

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 4. irudia

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 6. irudia

2.2.4. VCI_ReadBoardInfo
Funtzio hau egokigailuaren hardwarearen informazioa irakurtzeko erabiltzen da. Oro har, alde batera utzi daiteke.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, hainbat USB-CAN egokitzaile daudenean, indize-zenbakiak goranzko ordenan 0tik hasita. pInfo
VCI_BOARD_INFO gailuaren informazioaren egituraren erakuslea gordetzeko erabiltzen da.
Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 7. irudia

2.2.5. VCI_GetReceiveNum
Funtzio hau jasotzeko baina irakurri gabeko fotogramak zehazteko erabiltzen da izendatutako buffer hartzailean.
DWORD __stdcall VCI_GetReceiveNum (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, hainbat USB-CAN egokitzaile daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
CANIndex
CAN kanalaren indizea.
Itzulketak:
Itzuli oraindik irakurri ez diren fotogramak.
Adib
#include "ControlCan.h" int ret=VCI_GetReceiveNum (2,0,0);
2.2.6. VCI_ClearBuffer
Funtzio hau zehaztutako kanalaren jasotzeko eta bidaltzeko buffera garbitzeko erabiltzen da
USB-CAN egokitzailea.
DWORD __stdcall VCI_ClearBuffer (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, hainbat USB-CAN egokitzaile daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
CANIndex
CAN kanalaren indizea.
Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 8. irudia

2.2.7. VCI_StartCAN
Funtzio hau CAN kontrolagailua eta moldagailuaren barne etenen harrera funtzioa abiarazteko erabiltzen da.
DWORD __stdcall VCI_StartCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
CANIndex
CAN kanalaren indizea.
Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 9. irudia

2.2.8. VCI_ResetCAN
Funtzio hau CAN kontrolagailua berrezartzeko erabiltzen da.
DWORD __stdcall VCI_ResetCAN (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
CANIndex
CAN kanalaren indizea.
Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 10. irudia

2.2.9. VCI_Transmit
Funtzio hau CAN mezu-markoa bidaltzeko erabiltzen da.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
CANIndex
CAN kanalaren indizea. pBidali
Bidali behar diren datu-markoen matrizeen lehen helbidea.
Luzera
Bidali behar diren datu-marken kopurua, gehienezko kopurua 1000 da, gomendatutako balioa 48 abiadura handian.
Itzulketak:
Itzuli lehendik bidalitako fotogramen benetako kopurua, itzultzeko balioak = -1 gailuaren errorea adierazten du.
Adib
WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 11. irudia

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 12. irudia

2.2.10. VCI_Jaso
Funtzio hau harrera eskatzeko erabiltzen da.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
CANIndex
CAN kanalaren indizea.
pJaso
Datu-markoen lehen multzoko erakuslea jasotzeko.
Len
Datu-markoaren matrizearen luzerak 2500 baino gehiago izan behar du mezu normala itzultzeko.
Bestela, itzuleraren luzera zero izango da mezua jaso ala ez. egokitzaileak 2000 fotogramako buffer bat ezarri zuen kanal bakoitzeko. Bere sisteman eta lan-ingurunean oinarrituta, erabiltzaileak 2500etik aurrera array luzera egokia aukeratu dezake.
Itxaron denbora erreserbatuta.
Itzulketak:
Itzuli benetan irakurri diren fotograma kopurua, -1ek gailuaren erroreak adierazten ditu.
Adib
WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 13. irudia

HIRUGARREN ZATIA BESTE FUNTZIO ETA DATUEN EGITURA AZALPENA

Kapitulu honek ControlCAN.dll USB-CAN egokitzaile interfazearen liburutegian dagoen ZLG interfaze-liburutegi bateraezinaren beste datu-mota eta funtzio batzuk deskribatzen ditu. Mesedez, egin
Ez deitu funtzio horiei bigarren mailako garapenerako ZLG eredu bateragarri bat erabiltzen baduzu, bateragarritasuna ez eragiteko.
3.1 FUNTZIOEN DESKRIBAPENA
3.1.1. VCI_UsbDeviceReset
Berrezarri USB-CAN egokitzailea, gailua berriro ireki behar da berrezarri ondoren VCI_OpenDevice erabiliz.
DWORD __stdcall VCI_UsbDeviceReset (DWORD DevType, DWORD DevIndex, DWORD erreserbatuta
Parametroak:
DevType
Gailu mota. Ikus: gailu egokitzaile motaren definizioa.
DevIndex
Gailuen indizea, adibidezample, USB-CAN egokitzaile bakarra dagoenean, indize-zenbakia 0 da, USB-CAN egokitzaile anitz daudenean, indize-zenbakiak goranzko ordenan 0tik hasita.
Erreserbatua Erreserbatua.
Itzulketak:
Itzultzeko balioa = 1, horrek esan nahi du eragiketa arrakastatsua dela; = 0-k eragiketak huts egin duela adierazten du; = -1ek gailua ez dagoela adierazten du.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 14. irudia

bRel = VCI_UsbDeviceReset (nDeviceType, Independentzia, 0);
3.1.2. VCI_FindUsbDevice2
PC bera USB-CAN bat baino gehiago erabiltzen duenean, erabiltzaileak funtzio hau erabil dezake uneko gailua aurkitzeko.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametroak:
pInformazioa
pInfo lehen datu-buffer helbide-erakuslearen parametroak gordetzeko erabiltzen da.
Itzuliak
Itzuli ordenagailuan konektatutako USB-CAN egokigailuaren zenbakia.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 15. irudia

Laugarren zatia Interfaze-liburutegiaren funtzioak Prozesua erabiliz
Gailuaren funtzioa biderkatzeko, funtzio osagarriak eman ditugu (hondo berdearekin aurkezten diren funtzioak), funtzio hauek honako hauek dira: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Bigarren garapenean, funtzio hauek ez dira derrigorrez deitu behar. Funtzio hauek alde batera uzten badira ere, USB-CAN egokigailuaren funtzio guztiak lor daitezke.

WAVESHARE USB CAN Bus Interface Egokitzailea Interfaze Funtzio Liburutegia - 16. irudia

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

Dokumentuak / Baliabideak

WAVESHARE USB-CAN Bus Interface Egokigailua Interfazea Funtzio Liburutegia [pdf] Argibideen eskuliburua
USB-CAN Bus Interfazearen Egokitzailea Interfazearen Funtzio Liburutegia, USB-CAN, Bus Interfazearen Egokitzailea Interfazearen Funtzio Liburutegia, Interfazearen Funtzio Liburutegia, Funtzio Liburutegia

Erreferentziak

Utzi iruzkin bat

Zure helbide elektronikoa ez da argitaratuko. Beharrezko eremuak markatuta daude *