Comhéadan Bus USB-CAN
Feidhm Chomhéadain Adaptor
Treoir úsáideora leabharlainne
CUID A hAON THARVIEW
Más rud é nach n-úsáideann an t-úsáideoir ach adapter comhéadan bus USB-CAN chun dul ar thástáil cumarsáide bus CAN, agus ansin is féidir leis na bogearraí USB-CAN Tool soláthraithe a úsáid go díreach chun sonraí na tástála a sheoladh agus a fháil.
Má tá sé ar intinn ag an úsáideoir clár bogearraí a scríobh dá tháirgí féin. Léigh na treoracha seo a leanas go cúramach le do thoil agus glac tagairt ó na sample cód a chuirimid ar fáil:
⑴ C++Tógálaí ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹ Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Leabharlann a fhorbairt file :ControlCAN.lib, ControlCAN.DLL
Dearbhú feidhm leagan VC file :ControlCAN.h
Dearbhú feidhm leagan VB file: RialúCAN.bas
SaotharlannVIEW modúl pacáiste feidhm leabharlainne leagan :ControlCAN.llb
Dearbhú feidhm leagan Delphi file: RialúCAN.pas
CUID A DÓ LEABHARLANN FEIDHMIÚCHÁIN AGUS STRUCHTÚR SONRAÍ
2.1. SAINMHÍNIÚ CINEÁL
2.1.1. Cineál Gléas
Cineál Sainmhíniú | Cineál luach | Cur síos |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/Canalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
Tá faisnéis gléas cárta comhéadan Sraith USB-CAN i struchtúr VCI_BOARD_INFO.
Líonfar an struchtúr le feidhm VCI_ReadBoardInfo.
Ball:
hw_Leagan
Uimhir leagain crua-earraí, nodaireacht heicsidheachúil. Eg seasann 0x0100 do V1.00.
fw_Leagan
Uimhir leagain crua-earraí, nodaireacht heicsidheachúil. Eg seasann 0x0100 do V1.00.
Leathanach 2
dr_Leagan
Uimhir leagain an tiománaí, nodaireacht heicsidheachúil. Eg seasann 0x0100 do V1.00.
in_Leagan
Uimhir leagain leabharlainne an chomhéadain, nodaireacht heicsidheachúil. Eg seasann 0x0100 do V1.00.
irq_Num
Córas in áirithe.
can_Num
Is ionann é agus líon iomlán na gcainéal CAN.
str_Sraith_Uimh
Sraithuimhir an chárta boird seo.
str_hw_Cineál
Cineál crua-earraí, mar shampla “USBCAN V1.00” (Nóta: Áirítear leis seo Críochnaitheoir teaghrán '\0').
Curtha in áirithe
Córas in áirithe.
2.1.3. VCI_CAN_OBJ
Sna feidhmeanna VCI_Transmit agus VCI_Receive, úsáidtear struchtúr VCI_CAN_OBJ chun fráma teachtaireachta CAN a tharchur.
Ball:
ID
Aitheantóir na teachtaireachta. Formáid aitheantais dhíreach, ailíniú ar dheis, féach le do thoil: Iarscríbhinn a hAon: Sonraí Ailínithe Aitheantais.
AmStamp
Ag fáil an stamp faisnéis an fhráma ama, tús a chur le ham nuair a thosaítear an rialtóir CAN, is é 0. 1ms an t-aonad.
Brat Ama
I dtéarmaí cé acu an úsáid a bhaint as an am stamp, 1is an TimeStamp. TimeFlag agus TimeStamp nach bhfuil brí ach amháin nuair a fhaightear an fráma .
Cineál Seolta
Cineál seolta. = Léiríonn 0 Gnáthchineál, = léiríonn 1 Seol Aonair.
Bratach cianda
Cibé an bratach cianda é. = Léiríonn 1 bratach cianda, = léiríonn 0 bratach sonraí.
Bratach Sheachtrach
Cibé an bratach sheachtrach é. = Léiríonn 1 bratach sheachtrach, = léiríonn 0 bratach chaighdeánach.
SonraíLen
Fad sonraí(<=8) , is é sin, fad na sonraí.
Sonraí
Sonraí paicéad.
Curtha in áirithe
Córas in áirithe.
2.1.4. VCI_INIT_CONFIG
Sainmhíníonn struchtúr VCI_INIT_CONFIG cumraíocht tosaigh an CAN. Líonfar an struchtúr i bhfeidhm VCI_InitCan.
Ball:
AccCode
Faigh cód glactha scagtha.
AccMask
Faigh masc scagaire.
Curtha in áirithe
Curtha in áirithe.
Scagaire
Modh scagtha, a cheadaíonn raon socraithe 0-3, féach ar alt 2.2.3 den tábla mód scagaire le haghaidh sonraí.
Uainiú0
Paraiméadar ráta SJA1000 Baud, Uainiú0 (BTR0) .
Uainiú1
Paraiméadar ráta SJA1000 Baud, Uainiú1 (BTR1) .
Mód
Modh oibriúcháin, 0 = gnáthoibríocht, 1 = Modh éisteachta amháin, 2 = modh tástála seolta agus iontrála spontáineach.
Nótaí:
Maidir leis na socruithe scagaire, féach le do thoil do: Iarscríbhinn II: Treoracha socraithe CANparaiméadar.
Úsáidtear CAN Timing0 agus Timing1 chun ráta baud a shocrú, ní úsáidtear an dá pharaiméadar seo ach ag an túsú stage.
Tábla tagartha traidisiúnta Baud:
CAN ráta Baud | Uainiú 0(BTR0) | Uainiú 1(BTR1) |
10k bps | 0x31 | 0×1C |
20k bps | 0x18 | 0×1C |
40k bps | 0x87 | 0xFF |
50k bps | 0x09 | 0×1C |
80k bps | 0x83 | 0xFF |
100k bps | 0x04 | 0×1C |
125k bps | 0x03 | 0×1C |
200k bps | 0x81 | 0xFA |
250k bps | 0x01 | 0×1C |
400k bps | 0x80 | 0xFA |
500k bps | 0x00 | 0×1C |
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 |
- Ní mór d'úsáideoirí ach SJA1000 (16MHz) a leanúint chun paraiméadar ráta Baud a shocrú.
- Ní thacaíonn an t-oiriúnóir le ráta Baud faoi bhun 10K go sealadach.
2.2. CUR SÍOS FEIDHME
2.2.1. VCI_OpenDevice
Úsáidtear an fheidhm seo chun feistí a nascadh.
DWORD __stdcall VCI_OpenDevice(DWORD DevType, DWORD DevIndex, DWORD in áirithe);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
Curtha in áirithe
Paraiméadair coinneála, líon isteach 0.
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
2.2.2. VCI_CloseDevice
Úsáidtear an fheidhm seo chun an nasc a dhúnadh.
DWORD __stdcall VCI_CloseDevice(DWORD DevType, DWORD DevIndex);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
2.2.3. VCI_InitCan
Úsáidtear an fheidhm seo chun an CAN sonraithe a thúsú.
DWORD __stdcall VCI_InitCAN(DWORD Devtype, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
CANIndex
Innéacs cainéal CAN, mar shampla nuair nach bhfuil ach cainéal CAN amháin ann, is é 0 an uimhir innéacs, má tá dhá cheann ann, is féidir leis an uimhir innéacs a bheith 0 nó 1.
pInitConfig
Struchtúr paraiméadar tosaigh. Liosta paraiméadar na gcomhaltaí:
Ball | Cur Síos Feidhmeach |
pInitConfig-> AccCode | Is féidir le AccCode agus AccMask oibriú le chéile chun a chinneadh cé na paicéid ar féidir glacadh leo. Úsáidtear an dá chlár seo chun an ID clé-ailínithe a shocrú, is é sin, an giotán is airde (Bit31) den AccCode agus AccMask ailínithe leis an giotán is airde den luach ID. |
pInitConfig-> AccMask | Maidir le ailíniú aitheantais, féach na hiarscríbhinní: Iarscríbhinn I: Sonraí ailínithe aitheantais. M.sh: Má shocraíonn tú luach an AccCode mar 0x24600000 (.i. bogtar 0x123 ar chlé le 21 giotán), luach AccMask socraithe go 0x00000000, agus ansin ní féidir ach na paicéid a bhfuil ID fráma teachtaireachta CAN orthu ná 0x123 a ghlacadh (Léiríonn luach AccMask 0x00000000 go bhfuil gach giotán ábhartha |
giotán). Má tá luach AccCode socraithe go 0x24600000, socraítear luach AccMask go 0x600000 (aistrítear 0x03 ar an taobh clé le 21 giotán), agus ansin níl ach na paicéid a bhfuil ID fráma teachtaireacht CAN 0x120 ~ 0x123 in ann glacadh leo (luach AccMask Léiríonn 0x600000, seachas bit0 ~ bit1 giotán eile (bit2 ~ bit10) giotán ábhartha). Nóta: An socrú scagaire seo exampníos lú go dtí an fráma caighdeánach, le haghaidh example, ard 11-giotán an giotán bailí; i gcás an fhráma leathnaithe, agus ansin tá an ID bailí 29-giotán. Shocraigh AccCode agus AccMask 29-giotán ard mar an giotán bailí! |
|
pInitConfig-> Áirithe | in áirithe |
pInitConfig-> Scagaire | Socruithe mód scagtha féach le do thoil don chuid den tábla mód scagacháin. |
pInitConfig-> Uainiú0 | Socrú ráta BaudT0 |
pInitConfig-> Uainiú1 | Socrú ráta BaudT1 |
pInitConfig-> Mód | Modh oibriúcháin: 0-gnáthoibríocht Mód 1-Éisteacht amháin Modh tástála iontrála agus seolta 2-spontáineach (tá an luach seo eisiata ó leabharlann feidhme ZLG) |
Tábla mód scagaire:
Luach | Ainm | Cur síos |
1 | Faigh gach cineál | Oiriúnach don fhráma caighdeánach agus don fhráma leathnaithe araon! |
2 | Faigh fráma caighdeánach amháin | Oiriúnach don fhráma caighdeánach, agus leathnaithe |
bainfear fráma trí scagachán go díreach! | ||
3 | Faigh fráma sínte amháin | Oiriúnach do fhráma leathnaithe, agus bainfear fráma caighdeánach trí scagachán go díreach! . |
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
E.g
2.2.4. VCI_ReadBoardInfo
Úsáidtear an fheidhm seo chun faisnéis crua-earraí an oiriúnaitheora a léamh. Go ginearálta, is féidir neamhaird a dhéanamh air.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach aon adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0. pInfo
Úsáidtear VCI_BOARD_INFO chun pointeoir struchtúir faisnéise an ghléis a stóráil.
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
2.2.5. VCI_GetReceiveNum
Úsáidtear an fheidhm seo chun na frámaí faighte a shonrú ach níl sé léite sa mhaolán glactha ainmnithe.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
CANIndex
Innéacs cainéal CAN.
Tuairisceáin:
Fill frámaí nach bhfuil léite fós.
E.g
# cuir “ControlCan.h” san áireamh int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearMaolán
Úsáidtear an fheidhm seo chun maolán glactha agus seolta an chainéil ainmnithe atá sonraithe ag a ghlanadh
Adapter USB-CAN.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
CANIndex
Innéacs cainéal CAN.
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
2.2.7. VCI_StartCAN
Úsáidtear an fheidhm seo chun an rialtóir CAN a thosú agus feidhm glactha isteach inmheánach an oiriúnaitheora.
DWORD __stdcall VCI_StartCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
CANIndex
Innéacs cainéal CAN.
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
2.2.8. VCI_AthshocraighCAN
Úsáidtear an fheidhm seo chun an rialtóir CAN a athshocrú.
DWORD __stdcall VCI_ResetCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
CANIndex
Innéacs cainéal CAN.
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
2.2.9. VCI_Tarchur
Úsáidtear an fheidhm seo chun fráma teachtaireachta CAN a sheoladh.
DWORD __stdcall VCI_Transmit(Cineál Gléas DWORD, DWORD DeviceInd, DWORD CANInd, PVCI_CAN_OBJ pSend, DWORD Length);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
CANIndex
Innéacs cainéal CAN. pSeol
An chéad seoladh na n-eagair fráma sonraí a chaithfear a sheoladh.
Fad
Líon na bhfrámaí sonraí a chaithfear a sheoladh, is é 1000 an t-uaslíon, is é an luach molta 48 faoi ardluais.
Tuairisceáin:
Tabhair ar ais líon iarbhír na bhfrámaí a seoladh cheana féin, léiríonn an luach tuairisceáin = -1 earráid gléas.
E.g
2.2.10. VCI_Faigh
Úsáidtear an fheidhm seo chun fáiltiú a iarraidh.
DWORD __stdcall VCI_Receive(DWORD Devtype, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ preceive, ULONG Len, INT WaitTime);
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
CANIndex
Innéacs cainéal CAN.
faigh
Chun an chéad phointeoir tacair de na frámaí sonraí a fháil.
Lein
Caithfidh fad eagair an fhráma sonraí a bheith níos mó ná 2500 chun gnáththeachtaireacht a sheoladh ar ais.
Seachas sin, beidh an fad tuairisceáin nialasach cibé an bhfaightear an teachtaireacht nó nach bhfaightear. shocraigh an t-oiriúnóir maolán 2000-fhráma do gach cainéal. Bunaithe ar a chóras agus a thimpeallacht oibre féin, is féidir leis an úsáideoir fad eagair chuí a roghnú ó 2500.
WaitTime in áirithe.
Tuairisceáin:
Tabhair ar ais líon na bhfrámaí atá léite i ndáiríre, léiríonn -1 earráidí gléis.
E.g
CUID A TRÍ FEIDHMEANNA EILE AGUS TUAIRISC AR AN STRUCHTÚR SONRAÍ
Déanann an chaibidil seo cur síos ar chineálacha sonraí eile agus ar fheidhmeanna na leabharlainne comhéadain ZLG neamh-chomhoiriúnach atá sa leabharlann comhéadan adapter USB-CAN ControlCAN.dll. Déan le do thoil
gan glaoch ar na feidhmeanna seo má úsáidtear múnla comhoiriúnach ZLG le haghaidh forbairt thánaisteach ionas nach gcuirfear isteach ar chomhoiriúnacht.
3.1 CUR SÍOS AR AN bhFEIDHM
3.1.1. VCI_UsbDeviceReset
Athshocraigh USB-CAN adapter, is gá a ath-oscailt an gléas tar éis a athshocrú trí úsáid a bhaint VCI_OpenDevice.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType, DWORD DevIndex, DWORD in áirithe
Paraiméadair:
Cineál Dev
Cineál gléas. Féach: Sainmhíniú cineál gléas adapter.
DevIndex
Innéacs Gléas, le haghaidh example, nuair nach bhfuil ach adapter USB-CAN amháin, is é 0 an uimhir innéacs, nuair a bhíonn il-oiriúnóirí USB-CAN ann, na huimhreacha innéacs in ord ardaitheach ag tosú ó 0.
Forchoimeádta.
Tuairisceáin:
Luach tuairisceáin = 1, rud a chiallaíonn go bhfuil an oibríocht rathúil; = léiríonn 0 gur theip ar an oibríocht; = -1 le fios nach bhfuil an gléas ann.
bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
Nuair a bheidh an ríomhaire céanna ag baint úsáide as il USB-CAN, is féidir leis an úsáideoir an fheidhm seo a úsáid chun an gléas reatha a aimsiú.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Paraiméadair:
pFaisnéis
Úsáidtear pInfo chun paraiméadair an chéad phointeora seolta maoláin sonraí a stóráil.
Tuairisceáin
Tabhair ar ais uimhir an oiriúntóra USB-CAN atá plugáilte isteach sa ríomhaire.
Feidhmeanna Leabharlainne Comhéadain Cuid a Ceathair ag Úsáid Próiseas
Chun feidhm an ghléis a iolrú, chuireamar feidhmeanna breise ar fáil (feidhmeanna curtha i láthair le cúlra glas), áirítear leis na feidhmeanna seo: VCI_FindUsbDevice2 VCI_UsbDeviceReset. Le linn an dara forbairt, ní gá na feidhmeanna seo a agairt. Fiú amháin neamhaird a dhéanamh ar na feidhmeanna seo, is féidir gach feidhm adapter USB-CAN a bhaint amach.
www.waveshare.com
www.waveshare.com/wiki
Doiciméid / Acmhainní
![]() |
WAVESHARE USB-CAN Bus Leabharlann Feidhm Chomhéadain Idir-aghaidh Adaptor [pdfLámhleabhar Treoracha Leabharlann Feidhm Chomhéadain Comhéadain Idir-aghaidh Bus USB-CAN, USB-CAN, Leabharlann Feidhm Chomhéadain Adaptor Idir-aghaidh Bus, Leabharlann Feidhm Chomhéadain, Leabharlann Feidhm |