WAVESHARE-logoUSB-CAN-väyläliitäntä
Sovittimen käyttöliittymätoiminto
Kirjaston käyttöohjeWAVESHARE USB CAN Bus Interface Adapter Interface Function Library

ENSIMMÄINEN OSA PÄÄTTYNYTVIEW

Jos käyttäjä käyttää vain USB-CAN-väyläliitäntäsovitinta mennäkseen CAN-väylän tiedonsiirtotestiin, ja sitten hän voi suoraan käyttää mukana toimitettua USB-CAN Tool -ohjelmistoa testitietojen lähettämiseen ja vastaanottamiseen.
Jos käyttäjä aikoo kirjoittaa ohjelmiston omille tuotteilleen. Lue seuraavat ohjeet huolellisesti ja ota huomioon samptarjoamamme koodi:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Kehitä kirjastoa file :ControlCAN.lib, ControlCAN.DLL
VC-version toimintoilmoitus file :ControlCAN.h
VB-version toimintoilmoitus file: ControlCAN.bas
LabVIEW versiokirjaston toimintopakettimoduuli :ControlCAN.llb
Delphi-version toimintoilmoitus file: ControlCAN.pas

OSA TOINEN YHTEENSOPIVA TOIMINTOKIRJASTO JA TIETARAKENNE

2.1. TYYPIN MÄÄRITELMÄ
2.1.1. Laitetyyppi

Tyypin määritelmä Tyypin arvo Kuvaus
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO-rakenne sisältää USB-CAN-sarjan liitäntäkortin laitetiedot.
Rakenne täytetään VCI_ReadBoardInfo-funktiolla.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 1

Jäsen:
hw_Version
Laitteiston versionumero, heksadesimaalimerkintä. Esim. 0x0100 on V1.00.
fw_Version
Laitteiston versionumero, heksadesimaalimerkintä. Esim. 0x0100 on V1.00.
Sivu 2
dr_Version

Ohjaimen versionumero, heksadesimaalimerkintä. Esim. 0x0100 on V1.00.
in_Version
Käyttöliittymäkirjaston versionumero, heksadesimaalimerkintä. Esim. 0x0100 on V1.00.
irq_Num
Järjestelmä varattu.
can_Num
Edustaa CAN-kanavien kokonaismäärää.
str_Serial_Num
Tämän korttikortin sarjanumero.
str_hw_Tyyppi
Laitteistotyyppi, kuten "USBCAN V1.00" (Huomautus: Sisältää merkkijonon päätteen \0).
Varattu
Järjestelmä varattu.
2.1.3. VCI_CAN_OBJ
Toiminnoissa VCI_Transmit ja VCI_Receive käytetään VCI_CAN_OBJ-rakennetta CAN-sanomakehyksen lähettämiseen.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva

Jäsen:
ID
Viestin tunniste. Suora ID-muoto, oikealle tasattuna, katso: Liite One: ID Alignment Details.
AikaStamp
Stamp aikakehyksen tiedot, aloitusajoitus kun CAN-ohjain alustetaan, yksikkö on 0. 1ms.
Aikalippu
Mitä tulee siihen, käytetäänkö aikaa stamp, 1 on tehokas TimeStamp. TimeFlag ja TimeStamp ovat merkityksellisiä vain, kun kehys vastaanotetaan.
SendType
Lähetystyyppi. = 0 tarkoittaa normaalia tyyppiä, = 1 tarkoittaa yksittäistä lähetystä.
RemoteFlag
Olipa kyseessä etälippu. = 1 osoittaa etälippua, = 0 osoittaa datalippua.
Ulkoinen lippu
Olipa kyseessä ulkoinen lippu. = 1 tarkoittaa ulkoista lippua, = 0 tarkoittaa vakiolippua.
DataLen
Tietojen pituus (<=8) eli datan pituus.
Data
Pakettidata.
Varattu
Järjestelmä varattu.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG-rakenne määrittää CAN:n alustuskonfiguraation. Rakenne täytetään VCI_InitCan-funktiolla.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 2

Jäsen:
AccCode
Vastaanota suodatettu hyväksyntäkoodi.
AccMask
Vastaanota suodatinmaski.
Varattu
Varattu.
Suodattaa
Suodatusmenetelmä, joka sallii asetusalueen 0-3, katso lisätietoja suodatintilataulukon osiosta 2.2.3.
Ajoitus 0
SJA1000 Tiedonsiirtonopeusparametri, ajoitus0 (BTR0) .
Ajoitus 1
SJA1000 Tiedonsiirtonopeusparametri, ajoitus1 (BTR1) .
tila
Toimintatila, 0 = normaali toiminta, 1 = vain kuuntelutila, 2 = spontaani sisäänpääsy ja lähetystestitila.
Huomautuksia:
Katso suodatinasetuksista: Liite II: CAN-parametrin asetusohjeet.
CAN Timing0 ja Timing1 käytetään tiedonsiirtonopeuden asettamiseen, näitä kahta parametria käytetään vain alustusvaiheessatage.
Perinteinen Baud-viitetaulukko:

CAN-siirtonopeus Ajoitus0(BTR0) Ajoitus1(BTR1)
10 kt bps 0x31 0x1C
20 kt bps 0x18 0x1C
40 kt bps 0x87 0xFF
50 kt bps 0x09 0x1C
80 kt bps 0x83 0xFF
100 kt bps 0x04 0x1C
125 kt bps 0x03 0x1C
200 kt bps 0x81 0xFA
250 kt bps 0x01 0x1C
400 kt bps 0x80 0xFA
500 kt bps 0x00 0x1C
666 kt bps 0x80 0xB6
800 kt bps 0x00 0x16
1000 kt bps 0x00 0x14
33.33 Kbps 0x09 0x6F
66.66 Kbps 0x04 0x6F
83.33 Kbps 0x03 0x6F
  1. Käyttäjien tarvitsee vain seurata SJA1000:ta (16 MHz) siirtonopeusparametrin asettamiseksi.
  2. Sovitin ei tue tilapäisesti alle 10K tiedonsiirtonopeutta.

2.2. TOIMINNAN KUVAUS
2.2.1. VCI_OpenDevice
Tätä toimintoa käytetään laitteiden yhdistämiseen.
DWORD __stdcall VCI_OpenDevice(DWORD DevType,DWORD DevIndex,DWORD varattu);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
Varattu
Säilytysparametrit, täytä 0.
Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 3

2.2.2. VCI_CloseDevice
Tätä toimintoa käytetään yhteyden sulkemiseen.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 4

2.2.3. VCI_InitCan
Tätä toimintoa käytetään määritellyn CAN:n alustamiseen.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
CANIindeksi
CAN-kanavaindeksi, esimerkiksi kun CAN-kanavaa on vain yksi, indeksinumero on 0, jos niitä on kaksi, indeksinumero voi olla 0 tai 1.
pInitConfig
Alustusparametrin rakenne. Parametriluettelo jäsenistä:

Jäsen Toiminnallinen kuvaus
pInitConfig->AccCode AccCode ja AccMask voivat työskennellä yhdessä määrittääkseen, mitkä paketit voidaan hyväksyä. Näitä kahta rekisteriä käytetään ID:n asettamiseen vasemmalle, eli AccCoden korkein bitti (Bit31) ja AccMask on kohdistettu ID-arvon korkeimman bitin kanssa.
pInitConfig-> AccMask Tietoja ID-kohdistuksesta katso liitteet: Liite I:
ID-kohdistuksen tiedot.
Esim: Jos asetat AccCoden arvoksi 0x24600000 (eli 0x123 on siirtynyt vasemmalle 21 bittiä), AccMask-arvo
on asetettu arvoon 0x00000000, ja silloin vain paketit, joiden CAN-sanomakehystunnus on 0x123, voidaan hyväksyä (AccMask-arvo 0x00000000 osoittaa, että kaikki bitit ovat relevantteja
bittiä). Jos AccCode-arvoksi on asetettu 0x24600000, AccMask-arvoksi asetetaan 0x600000 (0x03 on siirretty vasemmalle 21 bittiä), jolloin vain paketit, joiden CAN-viestikehystunnus on 0x120 ~ 0x123, voidaan hyväksyä (AccMask-arvo
0x600000 osoittaa, että bitin 0 ~ bit1 lisäksi muut bitit (bit2 ~ bit10) ovat relevantteja bittejä).
Huomautus: Tämä suodatinasetus esimampvakiokehykseen, esimample, korkea 11-bittinen on kelvollinen bitti; laajennetun kehyksen tapauksessa ja kelvollinen tunnus on 29-bittinen. AccCode ja AccMask asettavat korkean 29-bitin kelvolliseksi bitiksi!
pInitConfig-> Varattu varattu
pInitConfig-> Suodatin Suodatustilan asetukset katso suodatintilataulukon osio.
pInitConfig->Timing0 TiedonsiirtonopeusT0 asetus
pInitConfig->Timing1 TiedonsiirtonopeusT1 asetus
pInitConfig-> Mode Käyttötapa:
0 - normaali toiminta
1-Vain kuuntelu -tila
2-spontaani pääsy ja lähetystestitila (tämä arvo ei ole ZLG-funktiokirjastossa)

Suodatintilataulukko:

Arvo Nimi Kuvaus
1 Vastaanota kaikki tyypit Sopii sekä vakio- että pidennettyyn runkoon!
2 Vastaanota vain vakiokehys Sopii vakiorunkoon ja pidennettyyn
kehys poistetaan suoraan suodattamalla!
3 Vastaanota vain laajennettu kehys Sopii laajennettuun runkoon, ja vakiokehys poistetaan
suodatus suoraan! .

Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.
Esim

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 4

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 6

2.2.4. VCI_ReadBoardInfo
Tätä toimintoa käytetään sovittimen laitteistotietojen lukemiseen. Yleisesti ottaen se voidaan jättää huomiotta.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0. pInfo
VCI_BOARD_INFO:ta käytetään laitetietojen rakenneosoittimen tallentamiseen.
Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 7

2.2.5. VCI_GetReceiveNum
Tätä toimintoa käytetään määrittämään vastaanotetut kehykset, joita ei ole luettu määrätyssä vastaanottopuskurissa.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
CANIindeksi
CAN-kanavaindeksi.
Palautukset:
Palauta kehykset, joita ei ole vielä luettu.
Esim
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Tätä toimintoa käytetään tyhjentämään määritetyn kanavan vastaanotto- ja lähetyspuskuri
USB-CAN sovitin.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
CANIindeksi
CAN-kanavaindeksi.
Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 8

2.2.7. VCI_StartCAN
Tätä toimintoa käytetään CAN-ohjaimen ja sovittimen sisäisen keskeytyksen vastaanottotoiminnon käynnistämiseen.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
CANIindeksi
CAN-kanavaindeksi.
Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 9

2.2.8. VCI_ResetCAN
Tätä toimintoa käytetään CAN-ohjaimen nollaukseen.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
CANIindeksi
CAN-kanavaindeksi.
Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 10

2.2.9. VCI_Transmit
Tätä toimintoa käytetään CAN-viestikehyksen lähettämiseen.
DWORD __stdcall VCI_Transmit(DWORD-laitetyyppi,DWORD-laiteInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD-pituus);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
CANIindeksi
CAN-kanavaindeksi. pLähetä
Datakehystaulukoiden ensimmäinen osoite, jotka on lähetettävä.
Pituus
Lähetettävien datakehysten määrä, enimmäismäärä on 1000, suositeltu arvo on 48 suurella nopeudella.
Palautukset:
Palauta jo lähetettyjen kehysten todellinen määrä, palautusarvo = -1 tarkoittaa laitevirhettä.
Esim
WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 11

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 12

2.2.10. VCI_Receive
Tätä toimintoa käytetään vastaanoton pyytämiseen.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
CANIindeksi
CAN-kanavaindeksi.
p Vastaanota
Vastaanottaa datakehysten ensimmäisen osoittimen.
Len
Tietokehyksen taulukon pituuden on oltava yli 2500, jotta se palauttaa normaalin viestin.
Muussa tapauksessa palautuksen pituus on nolla riippumatta siitä, vastaanotetaanko viesti vai ei. sovitin asetti 2000 kehyksen puskurin jokaiselle kanavalle. Käyttäjä voi oman järjestelmänsä ja työympäristönsä perusteella valita sopivan taulukon pituuden 2500:sta.
Odotusaika varattu.
Palautukset:
Palauttaa todellisuudessa luettujen kehysten määrän, -1 tarkoittaa laitevirheitä.
Esim
WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 13

OSA KOLMAS MUUT TOIMINNOT JA TIETARAKENTEEN KUVAUS

Tässä luvussa kuvataan muita USB-CAN-sovittimen liitäntäkirjastoon ControlCAN.dll sisältyvän yhteensopimattoman ZLG-liitäntäkirjaston tietotyyppejä ja toimintoja. Ole hyvä ja tee
Älä kutsu näitä toimintoja, jos käytät yhteensopivaa ZLG-mallia toissijaiseen kehitykseen, jotta yhteensopivuus ei vaikuta.
3.1 TOIMINNAN KUVAUS
3.1.1. VCI_UsbDeviceReset
Palauta USB-CAN-sovitin, laite on avattava uudelleen nollauksen jälkeen käyttämällä VCI_OpenDevicea.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD varattu
Parametrit:
DevType
Laitetyyppi. Katso: Sovittimen laitetyypin määritelmä.
DevIndex
Laiteindeksi, esimample, kun USB-CAN-sovittimia on vain yksi, indeksinumero on 0, jos USB-CAN-sovittimia on useita, indeksinumerot nousevassa järjestyksessä alkaen 0.
Varattu Varattu.
Palautukset:
Paluuarvo = 1, mikä tarkoittaa, että toiminto on onnistunut; = 0 osoittaa, että toiminto epäonnistui; = -1 tarkoittaa, että laitetta ei ole olemassa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 14

bRel = VCI_UsbDeviceReset(nLaitetyyppi, riippumattomuus, 0);
3.1.2. VCI_FindUsbDevice2
Kun sama tietokone käyttää useita USB-CAN-liitäntöjä, käyttäjä voi käyttää tätä toimintoa nykyisen laitteen etsimiseen.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametrit:
pInfo
pInfoa käytetään ensimmäisen datapuskurin osoiteosoittimen parametrien tallentamiseen.
Palauttaa
Palauta tietokoneeseen liitetyn USB-CAN-sovittimen numero.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 15

Osa XNUMX Käyttöliittymäkirjaston toiminnot prosessin avulla
Laitteen toiminnan moninkertaistamiseksi tarjosimme lisätoimintoja (funktioita, jotka on esitetty vihreällä taustalla), näitä toimintoja ovat: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Toisen kehityksen aikana näitä toimintoja ei välttämättä tarvitse käyttää. Jopa näitä toimintoja ei huomioida, kaikki USB-CAN-sovittimen toiminnot voidaan saavuttaa.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Kuva 16

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

Asiakirjat / Resurssit

WAVESHARE USB-CAN Bus Interface Adapter Interface Function Library [pdfKäyttöohje
USB-CAN-väyläliitäntäsovittimen liitännän toimintokirjasto, USB-CAN, väyläliityntäsovittimen liitännän toimintokirjasto, liitännän toimintokirjasto, toimintokirjasto

Viitteet

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *