WAVESHARE LogoUSB-CAN Busa Interfaco
Adaptila Interfaco Funkcio
Biblioteko Uzanto-InstruoWAVESHARE USB CAN Bus Interface Adaptilo Interfaco Funkcia Biblioteko

UNUA PARTO FINITAVIEW

Se la uzanto nur uzas USB-CAN-busan interfacadaptilon por daŭrigi CAN-busan komunikadteston, kaj tiam li povas rekte uzi la provizitan USB-CAN Ilan programaron por sendi kaj ricevi datumojn de la testo.
Se la uzanto intencas skribi programon por siaj propraj produktoj. Bonvolu atente legi la sekvajn instrukciojn kaj preni referencon de la sampla kodon ni provizas:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LaboratorioVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Disvolvu bibliotekon file : ControlCAN.lib, ControlCAN.DLL
VC-versia funkcio-deklaro file : ControlCAN.h
Deklaro pri funkcio de VB-versio file: ControlCAN.bas
LaboratorioVIEW versio de biblioteko funkcio pako modulo: ControlCAN.llb
Deklaro pri funkcio de la versio Delphi file: ControlCAN.pas

DUA PARTO KONgrua FUNKCIO-BIBLIOKOKO KAJ DATUMO-STRUKTURO

2.1. TIPO DIFINO
2.1.1. Aparato Tipo

Tipo Difino Tajpu valoron Priskribo
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO-strukturo enhavas informojn pri aparato de interfaco de la Serio USB-CAN.
La strukturo estos plenigita en la funkcio VCI_ReadBoardInfo.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 1

Membro:
hw_Versio
Aparataro versio numero, deksesuma notacio. Ekz. 0x0100 reprezentas V1.00.
fw_Versio
Aparataro versio numero, deksesuma notacio. Ekz. 0x0100 reprezentas V1.00.
Paĝo 2
dr_Version

Ŝoforo versio numero, deksesuma notacio. Ekz. 0x0100 reprezentas V1.00.
en_Versio
Interfaca bibliotekversionumero, deksesuma notacio. Ekz. 0x0100 reprezentas V1.00.
irq_Num
Sistemo rezervita.
povas_Num
Reprezentas la tutsumon de CAN-kanalo.
str_Serial_Num
La seria numero de ĉi tiu tabulo.
str_hw_Tipo
Aparataro tipo, kiel "USBCAN V1.00" (Noto: Inkluzivas ĉenterminilon '\0').
Rezervita
Sistemo rezervita.
2.1.3. VCI_CAN_OBJ
En la funkcioj VCI_Transmit kaj VCI_Receive, VCI_CAN_OBJ-strukturo estas uzata por transdoni CAN-mesaĝokadron.

WAVESHARE USB CAN Buso Interface Adaptilo Interfaco Funkcio Biblioteko - Fig

Membro:
ID
Mesaĝidentigilo. Rekta ID-formato, dekstre vicigita, bonvolu raporti al: Aneksaĵo Unu: ID-Alig-Detaloj.
Tempo St.amp
Ricevante la stamp informoj de la tempokadro, komenci tempigon kiam la CAN regilo estas pravigita, la unuo estas 0. 1ms.
TimeFlag
Koncerne ĉu uzi la tempon stamp, 1estas la efika TimeStamp. TimeFlag kaj TimeStamp estas signifaj nur kiam la kadro estas ricevita.
SendType
Sendanta tipo. = 0 indikas Normalan tipon, = 1 indikas Single Send.
RemoteFlag
Ĉu ĝi estas fora flago. = 1 indikas foran flagon, = 0 indikas datuman flagon.
EksteraFlago
Ĉu ĝi estas ekstera flago. = 1 indikas eksteran flagon, = 0 indikas norman flagon.
DataLen
Datumlongo (<=8) ,t.e. la longo de datumoj.
Datumoj
Pakaj datumoj.
Rezervita
Sistemo rezervita.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG-strukturo difinas la inicialigkonfiguracion de la CAN. La strukturo estos plenigita en la funkcio VCI_InitCan.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 2

Membro:
AccCode
Ricevu filtritan akceptkodon.
AccMask
Ricevu filtrilan maskon.
Rezervita
Rezervita.
Filtrilo
Filtrila metodo, permesanta agordan gamon 0-3, konsultu sekcion 2.2.3 de la filtrila reĝimo-tabelo por detaloj.
Tempigo0
SJA1000 Baudrapida parametro, Timing0 (BTR0) .
Tempigo1
SJA1000 Baudrapida parametro, Timing1 (BTR1) .
Reĝimo
Funkcia reĝimo, 0 = normala funkciado, 1 = Aŭskultebla reĝimo, 2 = spontanea akcepto kaj senda testreĝimo.
Rimarkoj:
Pri la filtrilaj agordoj bonvolu raporti al: Anekso II: Instrukcioj pri agordo de CANparametroj.
CAN Timing0 kaj Timing1 estas uzataj por agordi baudrapidecon, ĉi tiuj du parametroj estas uzataj nur ĉe la inicialigo s.tage.
Konvencia Baud-referenca tablo:

CAN Baudrapideco Tempo0(BTR0) Tempo1(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. Uzantoj nur devas sekvi SJA1000 (16MHz) por agordi la Baudrapidan parametron.
  2. La adaptilo ne subtenas provizore Baud-rapidecon sub 10K.

2.2. PRIKRIBO DE FUNKCIO
2.2.1. VCI_OpenDevice
Ĉi tiu funkcio estas uzata por konekti aparatojn.
DWORD __stdcall VCI_OpenDevice (DWORD DevType, DWORD DevIndex, DWORD Rezervita);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
Rezervita
Retenaj parametroj, plenigu 0.
Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.

WAVESHARE USB CAN Buso Interface Adaptilo Interfaco Funkcio Biblioteko - Fig3

2.2.2. VCI_CloseDevice
Ĉi tiu funkcio estas uzata por fermi la konekton.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 4

2.2.3. VCI_InitCan
Ĉi tiu funkcio estas uzata por pravalorigi la specifitan CAN.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
CANIndekso
CAN-kanala indekso, kiel kiam ekzistas nur unu CAN-kanalo, la indeksa nombro estas 0, se estas du, la indeksa nombro povas esti 0 aŭ 1.
pInitConfig
Inicialiga parametrostrukturo. Parametrolisto de membroj:

Membro Funkcia Priskribo
pInitConfig->AccCode AccCode kaj AccMask povas labori kune por determini kiuj pakaĵetoj povas esti akceptitaj. Ĉi tiuj du registroj estas uzataj por agordi la ID-maldekstre vicigitan, tio estas, la plej alta bito (Bit31) de la AccCode kaj AccMask estas vicigita kun la plej alta bito de la ID-valoro.
pInitConfig->AccMask Pri ID-alineado konsultu aneksojn: Aneksaĵo I:
Detaloj de alineado de ID.
Ekz.: Se vi fiksas la valoron de la AccCode kiel 0x24600000 (t.e. 0x123 estas movita maldekstren je 21 bitoj), AccMask-valoro
estas agordita al 0x00000000, kaj tiam nur la pakaĵoj kun CAN mesaĝkadra ID estas 0x123 povas esti akceptitaj (AccMask-valoro de 0x00000000 indikas, ke ĉiuj bitoj estas gravaj.
pecoj). Se la AccCode-valoro estas agordita al 0x24600000, AccMask-valoro estas agordita al 0x600000 (0x03 estas movita maldekstren je 21 bitoj), kaj tiam nur la pakaĵoj kun la CAN mesaĝkadra ID estas 0x120 ~ 0x123 povas esti akceptita (AccMask-valoro).
0x600000 indikas, ke krom bit0 ~ bit1 aliaj bitoj (bit2 ~ bit10) estas koncernaj bitoj).
Notu: Ĉi tiu filtrila agordo ekzamples al la norma kadro, ekzample, alta 11-bita estas la valida bito; en la kazo de la plilongigita kadro, kaj tiam la valida ID estas 29-bita. AccCode kaj AccMask starigis altan 29-bitan kiel la validan biton!
pInitConfig-> Rezervita rezervita
pInitConfig-> Filtrilo Agordoj de filtrila reĝimo bonvolu raporti al la sekcio de la tabelo de filtrila reĝimo.
pInitConfig-> Timing0 Agordo de baudrapideco T0
pInitConfig-> Timing1 Agordo de baudrapideco T1
pInitConfig->Reĝimo Funkcia reĝimo:
0-normala operacio
1-Aŭskultebla reĝimo
2-spontanea akcepto kaj senda testreĝimo (ĉi tiu valoro estas ekskludita de la ZLG-funkcia biblioteko)

Tabelo de filtrila reĝimo:

Valoro Nomo Priskribo
1 Ricevu ĉiujn tipojn Taŭga por kaj norma kaj plilongigita kadro!
2 Ricevu nur norman kadron Taŭga al norma kadro, kaj etendita
kadro estos forigita per filtrado rekte!
3 Nur ricevu plilongigitan kadron Taŭga por plilongigita kadro, kaj norma kadro estos forigita per
filtrado rekte! 。

Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.
Ekz

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 4

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 6

2.2.4. VCI_ReadBoardInfo
Ĉi tiu funkcio estas uzata por legi la informojn pri adaptila aparataro. Ĝenerale, ĝi povas esti ignorita.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0. pInfo
VCI_BOARD_INFO estas uzata por konservi aparaton pri strukturo-indikilo.
Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 7

2.2.5. VCI_GetReceiveNum
Ĉi tiu funkcio estas uzata por specifi la ricevitajn sed ne legitajn kadrojn en la elektita riceva bufro.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
CANIndekso
CAN-kanala indekso.
Revenoj:
Redonu kadrojn, kiuj ankoraŭ ne estis legitaj.
Ekz
#include "ControlCan.h" int ret=VCI_GetReceiveNum (2,0,0);
2.2.6. VCI_ClearBuffer
Ĉi tiu funkcio estas uzata por forigi la ricevon kaj sendi bufron de la elektita kanalo specifita de
USB-CAN adaptilo.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
CANIndekso
CAN-kanala indekso.
Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 8

2.2.7. VCI_StartCAN
Ĉi tiu funkcio estas uzata por komenci la CAN-regilon kaj la internan interrompan ricevan funkcion de la adaptilo.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
CANIndekso
CAN-kanala indekso.
Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 9

2.2.8. VCI_Restarigi CAN
Ĉi tiu funkcio estas uzata por restarigi la CAN-regilon.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
CANIndekso
CAN-kanala indekso.
Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 10

2.2.9. VCI_Transmit
Ĉi tiu funkcio estas uzata por sendi CAN-mesaĝokadron.
DWORD __stdcall VCI_Transmit(DWORD DeviceType,DWORD DeviceInd,DWORD CANInd,PVCI_CAN_OBJ pSend,DWORD Length);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
CANIndekso
CAN-kanala indekso. pSendu
La unua adreso de la datumkadraj tabeloj kiuj devas esti senditaj.
Longo
La nombro de la datumkadroj kiuj devas esti senditaj, la maksimuma nombro estas 1000, la rekomendita valoro estas 48 sub alta rapido.
Revenoj:
Redonu la realan nombron da kadroj jam senditaj, la revena valoro = -1 indikas aparato-eraron.
Ekz
WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 11

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 12

2.2.10. VCI_Ricevu
Ĉi tiu funkcio estas uzata por peti ricevon.
DWORD __stdcall VCI_Receive (DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT Atendotempo);
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
CANIndekso
CAN-kanala indekso.
prericevi
Por ricevi la unuan fiksitan montrilon de la datumkadroj.
Len
La tabellongo de la datumkadro devas esti pli ol 2500 por resendi normalan mesaĝon.
Alie, la revenlongo estos nula ĉu la mesaĝo estas ricevita aŭ ne. la adaptilo starigis 2000-kadran bufron por ĉiu kanalo. Surbaze de sia propra sistemo kaj labormedio, la uzanto povas elekti taŭgan tabellongon de 2500.
Atendtempo Rezervita.
Revenoj:
Redonu la nombron da kadroj kiuj efektive estis legitaj, -1 indikas aparatajn erarojn.
Ekz
WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 13

TRIA PARTO ALIAJ FUNKCIOJ KAJ DATUJ STRUKTURA PRIKRIBO

Ĉi tiu ĉapitro priskribas aliajn datumtipojn kaj funkciojn de la nekongrua ZLG-interfacbiblioteko enhavita en USB-CAN-adaptila interfacbiblioteko ControlCAN.dll. Bonvolu fari
ne voku ĉi tiujn funkciojn se uzu kongruan ZLG-modelon por malĉefa disvolviĝo por ne influi kongruecon.
3.1 PRIKRIBO DE FUNKCIO
3.1.1. VCI_UsbDeviceReset
Restarigi USB-CAN-adaptilon, bezonas remalfermi la aparaton post rekomencigo uzante VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset (DWORD DevType, DWORD DevIndex, DWORD Rezervita
Parametroj:
DevType
Aparato tipo. Vidu: Difino de tipo de adaptilo.
DevIndex
Aparato-Indekso, ekzample, kiam ekzistas nur unu USB-CAN-adaptilo, la indeksa nombro estas 0, kiam estas pluraj USB-CAN-adaptiloj, la indeksaj nombroj en kreskanta ordo ekde 0.
Rezervita Rezervita.
Revenoj:
Revena valoro = 1, kio signifas, ke la operacio estas sukcesa; = 0 indikas ke la operacio malsukcesis; = -1 indikas ke la aparato ne ekzistas.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 14

bRel = VCI_UsbDeviceReset (nDeviceType, Sendependeco, 0);
3.1.2. VCI_FindUsbDevice2
Kiam la sama komputilo uzas plurajn USB-CAN, uzanto povas uzi ĉi tiun funkcion por trovi la nunan aparaton.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametroj:
pInfo
pInfo estas uzata por konservi la parametrojn de la unua datuma bufro-adresmontrilo.
Revenoj
Redonu la numeron de la USB-CAN-adaptilo konektita al la komputilo.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 15

Parto Kvar Interfaco Biblioteko Funkcioj Uzante Procezo
Por multobligi la aparaton, ni provizis pliajn funkciojn (funkcioj prezentitaj kun verda fono), ĉi tiuj funkcioj inkluzivas: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Dum la dua evoluo, ĉi tiuj funkcioj ne estas nepre alvokeblaj. Eĉ ĉi tiuj funkcioj estas ignoritaj, ĉiuj USB-CAN adaptilo funkcioj povas esti atingita.

WAVESHARE USB CAN Bus Interfaco Adaptilo Interfaco Funkcio Biblioteko - Figo 16

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

Dokumentoj/Rimedoj

WAVESHARE USB-CAN Bus Interface Adaptilo Interfaco Funkcia Biblioteko [pdf] Instrukcia Manlibro
USB-CAN Bus Interface Adaptilo Interfaco Funkcio-Biblioteko, USB-CAN, Bus Interface Adaptilo Interface Funkcio-Biblioteko, Interfaca Funkcio-Biblioteko, Funkcia Biblioteko

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *