WAVESHARE LogoEntèfas otobis USB-CAN
Fonksyon entèfas adaptè
Enstriksyon pou Itilizatè Bibliyotèk laWAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk

PREMYE PATI AVIEW

Si itilizatè a jis itilize USB-CAN otobis koòdone adaptè pou ale nan tès kominikasyon otobis CAN, ak Lè sa a, li ka dirèkteman itilize lojisyèl USB-CAN Zouti apwovizyone pou voye ak resevwa done tès la.
Si itilizatè a gen entansyon ekri pwogram lojisyèl pou pwòp pwodwi li yo. Tanpri li ak anpil atansyon enstriksyon sa yo epi pran referans nan sampkòd nou bay:
⑴ C++Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Devlope bibliyotèk file :ControlCAN.lib, ControlCAN.DLL
VC vèsyon fonksyon deklarasyon file :ControlCAN.h
Deklarasyon fonksyon vèsyon VB file: ControlCAN.bas
LaboratwaVIEW vèsyon pakè fonksyon bibliyotèk modil: ControlCAN.llb
Deklarasyon fonksyon vèsyon Delphi file: ControlCAN.pas

DEZYÈM PATI BIBLIYOTÈK FONKSYON KONPATIB AK ESTRUKTI DONE

2.1. DEFINISYON TIP
2.1.1. Kalite Aparèy

Kalite Definisyon Kalite valè Deskripsyon
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
Estrikti VCI_BOARD_INFO genyen enfòmasyon sou aparèy kat koòdone USB-CAN Seri.
Estrikti a pral ranpli nan fonksyon VCI_ReadBoardInfo.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 1

Manm:
hw_Version
Nimewo vèsyon pyès ki nan konpitè, notasyon egzadesimal. Pa egzanp, 0x0100 reprezante V1.00.
fw_Version
Nimewo vèsyon pyès ki nan konpitè, notasyon egzadesimal. Pa egzanp, 0x0100 reprezante V1.00.
Paj 2
dr_Version

Nimewo vèsyon chofè a, notasyon egzadesimal. Pa egzanp, 0x0100 reprezante V1.00.
nan_Version
Nimewo vèsyon bibliyotèk entèfas, notasyon egzadesimal. Pa egzanp, 0x0100 reprezante V1.00.
irq_Num
Sistèm rezève.
can_Num
Reprezante kantite total CAN chanèl.
str_Serial_Num
Nimewo seri kat tablo sa a.
str_hw_Type
Kalite pyès ki nan konpitè, tankou "USBCAN V1.00" (Remak: Gen ladann string terminator '\0').
Rezève
Sistèm rezève.
2.1.3. VCI_CAN_OBJ
Nan fonksyon VCI_Transmit ak VCI_Receive, estrikti VCI_CAN_OBJ yo itilize pou transmèt ankadreman mesaj CAN.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig

Manm:
ID
Idantifyan mesaj. Fòma ID dirèk, ki aliye adwat, tanpri al gade nan: Anèks One: Detay aliyman ID.
TimeStamp
Resevwa stamp enfòmasyon sou ankadreman tan an, kòmanse distribisyon lè kontwolè CAN inisyalize, inite a se 0. 1ms.
TimeFlag
An tèm de si wi ou non yo sèvi ak tan an stamp, 1se TimeSt ki efikasamp. TimeFlag ak TimeStamp yo gen sans sèlman lè yo resevwa ankadreman an.
SendType
Kalite voye. = 0 endike kalite nòmal, = 1 endike yon sèl voye.
RemoteFlag
Kit se yon drapo aleka. = 1 endike drapo aleka, = 0 endike drapo done.
ExternFlag
Kit se yon drapo ekstèn. = 1 endike drapo ekstèn, = 0 endike drapo estanda.
DataLen
Longè done (<=8) ,sa vle di longè done yo.
Done
Pake done.
Rezève
Sistèm rezève.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG estrikti defini konfigirasyon inisyalizasyon CAN la. Estrikti a pral ranpli nan fonksyon VCI_InitCan.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 2

Manm:
AccCode
Resevwa filtre akseptasyon kòd.
AccMask
Resevwa mask filtre.
Rezève
Rezève.
Filtre
Metòd filtraj, ki pèmèt seri ranje 0-3, al gade nan seksyon 2.2.3 nan tab la mòd filtre pou plis detay.
Distribisyon0
SJA1000 baud vitès paramèt, Timing0 (BTR0) .
Distribisyon1
SJA1000 baud vitès paramèt, Timing1 (BTR1) .
Mode
Mòd fonksyònman, 0 = operasyon nòmal, 1 = mòd ​​koute sèlman, 2 = admisyon espontane ak mòd tès voye.
Remak:
Konsènan paramèt filtre yo tanpri al gade nan: Anèks II: Enstriksyon konfigirasyon CANparameter.
CAN Timing0 ak Timing1 yo itilize pou mete vitès baud, de paramèt sa yo yo itilize sèlman nan inisyalizasyon yo.tage.
Tablo referans konvansyonèl baud:

CAN Baud pousantaj Distribisyon0(BTR0) Distribisyon1(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. Itilizatè yo sèlman bezwen swiv SJA1000 (16MHz) pou mete paramèt baud la.
  2. Adaptè a pa sipòte tanporèman pousantaj Baud pi ba pase 10K.

2.2. DESKRIPSYON FONKSYON
2.2.1. VCI_OpenDevice
Fonksyon sa a itilize pou konekte aparèy yo.
DWORD __stdcall VCI_OpenDevice (DWORD DevType, DWORD DevIndex, DWORD rezève);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
Rezève
Paramèt retansyon, ranpli 0.
Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig3

2.2.2. VCI_CloseDevice
Fonksyon sa a itilize pou fèmen koneksyon an.
DWORD __stdcall VCI_CloseDevice(DWORD DevType,DWORD DevIndex);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 4

2.2.3. VCI_InitCan
Yo itilize fonksyon sa a pou inisyalize CAN espesifye a.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
CANIndex
CAN endèks chanèl, tankou lè gen yon sèl kanal CAN, nimewo endèks la se 0, si gen de, nimewo endèks la ka 0 oswa 1.
pInitConfig
Estrikti paramèt inisyalizasyon. Lis paramèt manm yo:

Manm Deskripsyon Fonksyonèl
pInitConfig->AccCode AccCode ak AccMask ka travay ansanm pou detèmine ki pake yo ka aksepte. Yo itilize de rejis sa yo pou mete idantite ki aliman sou bò gòch la, se sa ki pi wo a (Bit31) nan AccCode la ak AccMask ki aliyen ak pi wo a nan valè ID la.
pInitConfig->AccMask Konsènan aliyman ID, gade anèks: Anèks I:
Detay aliyman ID.
Pa egzanp: Si ou mete valè AccCode la kòm 0x24600000 (sa vle di 0x123 deplase sou bò gòch la pa 21 bit), valè AccMask.
se mete nan 0x00000000, ak Lè sa a, sèlman pake yo ak ID ankadreman mesaj CAN se 0x123 ka aksepte (Valè AccMask nan 0x00000000 endike ke tout Bits yo enpòtan
ti moso). Si valè AccCode mete sou 0x24600000, valè AccMask mete sou 0x600000 (0x03 deplase sou bò gòch la pa 21 bit), epi sèlman pake yo ki gen ID ankadreman mesaj CAN se 0x120 ~ 0x123 ka aksepte (Valè AccMask).
0x600000 endike ke apa de bit0 ~ bit1 lòt Bits (bit2 ~ bit10) yo se yon ti ki enpòtan).
Nòt: Anviwònman filtre sa a ekzamples nan ankadreman an estanda, pou egzanpample, segondè 11-bit se ti jan ki valab; nan ka a nan ankadreman an pwolonje, ak Lè sa a, ID a valab se 29-bit. AccCode ak AccMask mete segondè 29-bit kòm ti jan ki valab!
pInitConfig->Rezève rezève
pInitConfig->Filtre Anviwònman mòd filtre tanpri al gade nan seksyon tab la mòd filtre.
pInitConfig-> Timing0 Anviwònman Baud rateT0
pInitConfig-> Timing1 Anviwònman Baud rateT1
pInitConfig->Mòd Opere mòd:
0-operasyon nòmal
1-Koute sèlman mòd
2-admisyon espontane ak mòd tès voye (valè sa a eskli nan bibliyotèk fonksyon ZLG)

Tablo mòd filtre:

Valè Non Deskripsyon
1 Resevwa tout kalite Apwopriye ak ankadreman estanda ak pwolonje!
2 Sèlman resevwa estanda ankadreman Apwopriye nan ankadreman estanda, ak pwolonje
ankadreman yo pral retire pa filtraj dirèkteman!
3 Sèlman resevwa ankadreman pwolonje Apwopriye pou ankadreman pwolonje, ak ankadreman estanda yo pral retire pa
filtraj dirèkteman! 。

Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.
Pa egzanp

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 4

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 6

2.2.4. VCI_ReadBoardInfo
Fonksyon sa a itilize pou li enfòmasyon pyès ki nan konpitè adaptè a. Anjeneral pale, li ka inyore.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse soti nan 0. pInfo
VCI_BOARD_INFO yo itilize pou estoke konsèy estrikti enfòmasyon aparèy.
Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 7

2.2.5. VCI_GetReceiveNum
Yo itilize fonksyon sa a pou presize ankadreman ki resevwa men yo pa li nan tanpon k ap resevwa a.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
CANIndex
CAN endèks chanèl.
Retounen:
Retounen ankadreman ki poko li.
Pa egzanp
#include "ControlCan.h" int ret = VCI_GetReceiveNum (2,0,0);
2.2.6. VCI_ClearBuffer
Fonksyon sa a itilize pou netwaye tanpon resevwa ak voye nan chanèl deziyen an espesifye nan
USB-CAN adaptè.
DWORD __stdcall VCI_ClearBuffer (DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
CANIndex
CAN endèks chanèl.
Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 8

2.2.7. VCI_StartCAN
Fonksyon sa a itilize pou kòmanse kontwolè CAN ak fonksyon resepsyon entèwonp entèn adaptè a.
DWORD __stdcall VCI_StartCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
CANIndex
CAN endèks chanèl.
Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 9

2.2.8. VCI_ResetCAN
Fonksyon sa a itilize pou reset kontwolè CAN la.
DWORD __stdcall VCI_ResetCAN(DWORD DevType,DWORD DevIndex,DWORD CANIndex);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
CANIndex
CAN endèks chanèl.
Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 10

2.2.9. VCI_Transmèt
Fonksyon sa a itilize pou voye ankadreman mesaj CAN.
DWORD __stdcall VCI_Transmit (DWORD DeviceType, DWORD DeviceInd, DWORD CANInd, PVCI_CAN_OBJ pSend, DWORD Length);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
CANIndex
CAN endèks chanèl. pSend
Premye adrès la nan etalaj yo ankadreman done ki gen yo dwe voye.
Longè
Nimewo a nan ankadreman done yo ki dwe voye, nimewo a maksimòm se 1000, valè a rekòmande se 48 anba gwo vitès.
Retounen:
Retounen kantite aktyèl la nan ankadreman deja voye, valè a retounen = -1 endike yon erè aparèy.
Pa egzanp
WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 11

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 12

2.2.10. VCI_Resevwa
Fonksyon sa a itilize pou mande resepsyon.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime);
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
CANIndex
CAN endèks chanèl.
resevwa
Pou resevwa premye seri konsèy la nan ankadreman done yo.
Len
Longè etalaj ankadreman done a dwe plis pase 2500 pou retounen mesaj nòmal.
Sinon, longè retounen a pral zewo si mesaj la resevwa oswa ou pa. adaptè a mete yon tanpon 2000-ankadreman pou chak chanèl. Ki baze sou pwòp sistèm ak anviwònman k ap travay, itilizatè a ka chwazi yon longè etalaj ki apwopriye soti nan 2500.
WaitTime rezève.
Retounen:
Retounen kantite ankadreman ki aktyèlman te li, -1 endike erè aparèy.
Pa egzanp
WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 13

TWA PATI LÒT FONKSYON AK DESKRIPSYON ESTRUKTI DONE

Chapit sa a dekri lòt kalite done ak fonksyon bibliyotèk koòdone ZLG enkonpatib ki genyen nan bibliyotèk koòdone adaptè USB-CAN ControlCAN.dll. Tanpri fè
pa rele fonksyon sa yo si sèvi ak yon modèl ZLG konpatib pou devlopman segondè pou yo pa afekte konpatibilite.
3.1 DESKRIPSYON FONKSYON
3.1.1. VCI_UsbDeviceReset
Reyajiste USB-CAN adaptè, bezwen re-louvri aparèy la apre reset lè l sèvi avèk VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType,DWORD DevIndex,DWORD rezève
Paramèt:
DevType
Kalite aparèy. Gade: Definisyon kalite aparèy adaptè.
DevIndex
Endèks aparèy, pou egzanpample, lè gen yon sèl adaptè USB-CAN, nimewo endèks la se 0, lè gen plizyè adaptè USB-CAN, nimewo endèks yo nan yon lòd monte kòmanse nan 0.
Rezève Rezève.
Retounen:
Valè retounen = 1, ki vle di ke operasyon an gen siksè; = 0 endike ke operasyon an echwe; = -1 endike ke aparèy la pa egziste.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 14

bRel = VCI_UsbDeviceReset (nDeviceType, Endepandans, 0);
3.1.2. VCI_FindUsbDevice2
Lè PC a menm lè l sèvi avèk plizyè USB-CAN, itilizatè ka itilize fonksyon sa a pou jwenn aparèy aktyèl la.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Paramèt:
pEnfo
pInfo yo itilize pou estoke paramèt premye pwent adrès tanpon done yo.
Retounen
Retounen nimewo adaptè USB-CAN ki konekte nan òdinatè a.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 15

Pati Kat Fonksyon Bibliyotèk Entèfas Sèvi ak Pwosesis
Yo nan lòd yo miltipliye fonksyon aparèy, nou bay fonksyon adisyonèl (fonksyon prezante ak yon background vèt), fonksyon sa yo enkli: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Pandan dezyèm devlopman an, fonksyon sa yo pa nesesèman envoke. Menm fonksyon sa yo inyore, tout fonksyon adaptè USB-CAN ka reyalize.

WAVESHARE USB CAN Otobis entèfas adaptè entèfas fonksyon bibliyotèk - Fig 16

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

Dokiman / Resous

WAVESHARE USB-CAN otobis entèfas adaptè entèfas fonksyon bibliyotèk [pdfManyèl Enstriksyon
USB-CAN otobis entèfas adaptè entèfas fonksyon bibliyotèk, USB-CAN, otobis entèfas adaptè entèfas fonksyon bibliyotèk, entèfas fonksyon bibliyotèk, fonksyon bibliyotèk

Referans

Kite yon kòmantè

Adrès imel ou p ap pibliye. Jaden obligatwa yo make *