版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 實(shí)驗(yàn)一 can總線技術(shù)與ican模塊實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告 學(xué)院: 自動(dòng)化學(xué)院 專(zhuān)業(yè): 自動(dòng)化專(zhuān)業(yè) 班級(jí): 2010211410 姓名: 高娃 姚雷陽(yáng) 學(xué)號(hào):2011211975 2011211977 指導(dǎo)老師: 楊軍 一實(shí)驗(yàn)名稱(chēng):實(shí)驗(yàn)一 can總線技術(shù)與ican模塊實(shí)驗(yàn)二實(shí)驗(yàn)設(shè)備:計(jì)算機(jī)、can總線系列實(shí)驗(yàn)箱、測(cè)控設(shè)備箱、萬(wàn)用表。三實(shí)驗(yàn)過(guò)程、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)記錄:(1)驅(qū)動(dòng)程序安裝usbcan-2a接口卡的驅(qū)動(dòng)程序需要自己手動(dòng)進(jìn)行安裝,驅(qū)動(dòng)程序已經(jīng)存放于實(shí)驗(yàn)準(zhǔn)備內(nèi)容中。找到驅(qū)動(dòng)程序,直接點(diǎn)擊進(jìn)行安裝即可。安裝完成后,在“管理-設(shè)備管理器-通用串行總線控制器”中查看驅(qū)動(dòng)是否安裝成功。注意:安裝驅(qū)動(dòng)程序過(guò)
2、程中pc機(jī)不能連接usb電纜。(2)icantest安裝與運(yùn)行 icantest安裝與運(yùn)行后,利用icantest軟件對(duì)ican系列各模塊進(jìn)行驗(yàn)證性測(cè)試,可以測(cè)試各模塊是否可以通過(guò)usbcan-2a接口卡與pc機(jī)正常連接與通信以及進(jìn)行簡(jiǎn)單的測(cè)控操作。(3)各種ican模塊的測(cè)試1. 打開(kāi)icantest軟件(老師,我們當(dāng)時(shí)覺(jué)得安裝這些過(guò)程太簡(jiǎn)單了,沒(méi)意識(shí)到截圖,所以引用了一些ppt上的圖像,但后面測(cè)試部分的都是自己的截圖,希望老師諒解。) 在工具欄中點(diǎn)擊“系統(tǒng)配置”,在彈出的對(duì)話框中設(shè)置通信信息。如下圖: 圖 1 2. 點(diǎn)擊“搜索”,則can總線中連接的所有模塊應(yīng)該被搜索出來(lái),列表顯示。包括模
3、塊設(shè)置的macid。圖 2 3. 圖示為搜索完成后的顯示狀態(tài),在從站列表中將所有模塊予以顯示。點(diǎn)擊某個(gè)模塊,則彈出該模塊的操作窗口。 圖 3 4. 點(diǎn)擊“啟動(dòng)”,再點(diǎn)擊“全部上線”。在從站列表中所有上線的模塊標(biāo)志變成綠色的三角,表示該模塊上線成功。圖 4 5. 試驗(yàn)各個(gè)模塊的基本輸入輸出功能。點(diǎn)擊繼電器模塊2404的4個(gè)輸出,聽(tīng)到繼電器動(dòng)作聲音。圖 5 連接4210d/a模塊的通道0到4017a/d模塊的通道5,輸入0x8000對(duì)應(yīng)得到5v的電壓輸出。圖 6圖 7 使用40558入/8出模塊連接按鈕作為i/o輸入,連接指示燈和繼電器作為i/o輸出。首先,連接好24v直流電源。圖 8 圖 9 然
4、后,選擇1個(gè)指示燈、1個(gè)繼電器連接4055模塊的dout0、dout1,選擇1個(gè)按鈕連接4055模塊的din0。圖 10 最后,用鼠標(biāo)點(diǎn)擊4055窗口上的do輸出燈(對(duì)應(yīng)dout0、dout1),可控制指示燈的亮滅及繼電器的動(dòng)作。當(dāng)目標(biāo)箱上的按鈕按下時(shí),di的指示燈會(huì)變化(對(duì)應(yīng)di0)。圖 11 將溫濕度傳感器連接至4017a/d模塊。圖 12圖 13通過(guò)4017a/d模塊的操作窗口,觀察通道0和通道1的電壓值,通過(guò)溫濕度傳感器的參數(shù)說(shuō)明,換算出溫度和濕度值。圖 14 通道0和通道1的電壓值分別為:5.596v,4.740v;因?yàn)槿缦陆泳€圖所示,可知通道0和通道1的電壓值分別表示溫度和濕度。圖
5、 15 實(shí)際溫度:(5.596v500)(20ma-4ma)50=34.975實(shí)際濕度:(4.740v500)(20ma-4ma)100%rh=59.25%rh(4)有關(guān)ican4055功能模塊的簡(jiǎn)單功能實(shí)現(xiàn)的整體代碼1. 在生成的類(lèi)頭文件sample4055dlg.h中的類(lèi)csample4055中添加申明變量:public:unsigned char buf1;/發(fā)送數(shù)據(jù)的數(shù)據(jù)緩存區(qū)unsigned char recbuf1;/接受數(shù)據(jù)的數(shù)據(jù)緩存區(qū)unsigned long len;int outvalue;int count;cstring str;2. 在sample4055.cpp文件
6、中編寫(xiě)控制代碼 對(duì)變量的定義:routecfg cfg; handle hroute=0; /新的ican網(wǎng)絡(luò)handle hslave4055=0;/數(shù)字量輸入輸出模塊4055,macid=1csample4055:csample4055(cwnd* pparent /*=null*/): cdialog(csample4055:idd, pparent)buf0=0;recbuf0=0;count=0;len=0;str=;3. 添加每個(gè)控件消息響應(yīng)函數(shù)的代碼:?jiǎn)?dòng)按鈕消息響應(yīng)函數(shù)void csample4055:onstartsysbutton1() / todo: add your c
7、ontrol notification handler code herecfg.icardtype=4;/使用usbcan2接線口cfg.icardind=0;/卡序號(hào)cfg.icanind=0;/can通道選擇(0表示0通道;1表示1通道)cfg.wcanbaud=0x001c;/波特率的設(shè)定0x001c(500kbps)cfg.imastercycle=500;/主站循環(huán)周期cfg.wmasterid=0; /主站id mgr_addroute(cfg,&hroute);/添加ican網(wǎng)絡(luò)if(mgr_startsys()!=icanok)/調(diào)用mgr_startsys()函數(shù)對(duì)can網(wǎng)
8、絡(luò)是否啟動(dòng)進(jìn)行判斷,返回為icanokmessagebox(系統(tǒng)啟動(dòng)失敗);elsemessagebox(can網(wǎng)絡(luò)已啟動(dòng));鏈接按鈕消息響應(yīng)函數(shù)void csample4055:onlink4055button2() if(mgr_isstarted()!=1) messagebox(系統(tǒng)未啟動(dòng)或啟動(dòng)失敗,請(qǐng)先啟動(dòng)can網(wǎng)絡(luò));else/ todo: add your control notification handler code hereroute_addslave(hroute,1,&hslave4055);/添加從站4055,macid=1if(slave_connect(hsla
9、ve4055)!=icanok)/判斷從站4055是否連接成功messagebox(4055連接失敗); elsemessagebox(4055連接成功); settimer(1,1000,null);/設(shè)定開(kāi)啟定時(shí)循環(huán),1代表消息事件id,1000表示1000ms即1s定時(shí)器消息響應(yīng)函數(shù)void csample4055:ontimer(uint nidevent) /timer事件函數(shù)/ todo: add your message handler code here and/or call defaultif(nidevent=1) len=1;slave_getdidata(hslave
10、4055,recbuf,&len); /讀取4055數(shù)字量輸入端口數(shù)據(jù)str.format(0x%02x,recbuf0);m_getdi.setwindowtext(str);count=count+1; cdialog:ontimer(nidevent); 設(shè)置按鈕消息響應(yīng)函數(shù),設(shè)置4055do通道控制狀態(tài)值void csample4055:onbuttonsetvalue() /設(shè)定4055數(shù)字量輸出端口值/ todo: add your control notification handler code hereif(mgr_isstarted()=1)&(slave_isconnec
11、ted(hslave4055)=1) updatedata(true);outvalue=strtol(m_invalue,null,16);/按十六進(jìn)制進(jìn)行讀取if(outvalue = 0 & outvalue =0.0&m_setch08;elsemessagebox(提示:請(qǐng)輸入010v電壓);if(m_setch1=0.0&m_setch18;/將buf3向右移8位elsemessagebox(提示:請(qǐng)輸入010v電壓); slave_senddata(hslave4210,0x60,buf,4);else messagebox(系統(tǒng)未啟動(dòng)或從站未連接,請(qǐng)查看后再進(jìn)行操作);(7)
12、ican4210模塊自編程序運(yùn)行結(jié)果與界面截圖 圖18(8) 8路模擬量輸入模塊ican4017編程使用1. 在生成的.h頭文件中添加使用到的變量的申明:public:unsigned char recbuf16;unsigned long len;int count;2. 在.cpp文件中首先添加ican網(wǎng)絡(luò)定義和申明以及變量的初始化操作。routecfg cfg;handle hroute=0; /新的ican網(wǎng)絡(luò)handle hslave4017=0;/ai模塊4017,macid=3csample4017:csample4017(cwnd* pparent /*=null*/): cd
13、ialog(csample4017:idd, pparent)/afx_data_init(csample4017)m_valuech0 = 0.0;m_valuech1 = 0.0;m_valuech2 = 0.0;m_valuech3 = 0.0;m_counter = 0;/afx_data_initrecbuf0=0;recbuf1=0;recbuf2=0;recbuf3=0;recbuf4=0;recbuf5=0;recbuf6=0;recbuf7=0;len=0;count=0;void csample4017:onbuttonstartcansys() / todo: add y
14、our control notification handler code herecfg.icardtype=4;/使用usbcan2接線口cfg.icardind=0;/卡序號(hào)cfg.icanind=0;/can通道選擇(0表示0通道;1表示1通道)cfg.wcanbaud=0x001c;/波特率的設(shè)定0x001c(500kbps)cfg.imastercycle=500;/主站循環(huán)周期cfg.wmasterid=0; /主站id mgr_addroute(cfg,&hroute);/添加ican網(wǎng)絡(luò)if(mgr_startsys()!=icanok)/調(diào)用mgr_startsys()函數(shù)
15、對(duì)can網(wǎng)絡(luò)是否啟動(dòng)進(jìn)行判斷,返回為icanokmessagebox(系統(tǒng)啟動(dòng)失敗);elsemessagebox(can網(wǎng)絡(luò)已啟動(dòng));void csample4017:onbuttonlink4017() / todo: add your control notification handler code hereif(mgr_isstarted()!=1) messagebox(系統(tǒng)未啟動(dòng)或啟動(dòng)失敗,請(qǐng)先啟動(dòng)can網(wǎng)絡(luò));else/ todo: add your control notification handler code hereroute_addslave(hroute,3,&h
16、slave4017);if(slave_connect(hslave4017)!=icanok)messagebox(4017連接失敗); elsemessagebox(4017連接成功);settimer(1,1000,null);void csample4017:ontimer(uint nidevent) / todo: add your message handler code here and/or call defaultif(nidevent=1) len=16; slave_getaidata(hslave4017,recbuf,&len); m_valuech0=(double)(recbuf0*16*16+recbuf1)-0x8000)*10/(double)0x8000; m_valuech1=(double)(recbuf2*16*16+recbuf3)-0x8000)*10/(d
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 項(xiàng)目招標(biāo)文件撰寫(xiě)經(jīng)驗(yàn)
- 借款合同借據(jù)樣本格式
- 高考地理一輪復(fù)習(xí)第五章地表形態(tài)的塑造第二節(jié)塑造地表形態(tài)的力量課件
- 九年級(jí)道德與法治下冊(cè) 第一單元 中國(guó)與世界 第一課 生活在地球村 第1框 地球村形成了教案 人民版
- 2024-2025學(xué)年新教材高中化學(xué) 1.3 第2課時(shí) 氧化劑和還原劑教案 新人教版必修第一冊(cè)
- 2024秋五年級(jí)語(yǔ)文上冊(cè) 第八單元 第26課 憶讀書(shū)說(shuō)課稿 新人教版
- 六年級(jí)品德與社會(huì)下冊(cè) 戰(zhàn)爭(zhēng)給人類(lèi)帶來(lái)了什么1教案 鄂教版
- 2024-2025學(xué)年高中物理 第四章 電磁感應(yīng) 2 探究感應(yīng)電流的產(chǎn)生條件(3)教案 新人教版選修3-2
- 2024年四年級(jí)英語(yǔ)上冊(cè) Unit 3 My friends Part B 第二課時(shí)教案 人教PEP
- 文書(shū)模板-上學(xué)租賃合同
- 癌癥治療指南手冊(cè)
- 醫(yī)美行業(yè)發(fā)展趨勢(shì)
- 自發(fā)性腹膜炎的護(hù)理查房課件
- 2023年度中國(guó)游戲產(chǎn)業(yè)報(bào)告
- 冠心病中醫(yī)護(hù)理查房的課件
- 建立網(wǎng)絡(luò)安全管理責(zé)任制明確安全工作職責(zé)和責(zé)任
- 2024年浙江省海港集團(tuán)招聘筆試參考題庫(kù)含答案解析
- 安徽省工傷職停工留薪分類(lèi)目錄
- 食堂滅四害方案五
- 聶榮臻將軍:中國(guó)人民解放軍的奠基人之一
- 安全技術(shù)之傳動(dòng)裝置的防護(hù)措施
評(píng)論
0/150
提交評(píng)論