




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)一 can總線技術(shù)與ican模塊實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告 學(xué)院: 自動化學(xué)院 專業(yè): 自動化專業(yè) 班級: 2010211410 姓名: 高娃 姚雷陽 學(xué)號:2011211975 2011211977 指導(dǎo)老師: 楊軍 一實(shí)驗(yàn)名稱:實(shí)驗(yàn)一 can總線技術(shù)與ican模塊實(shí)驗(yàn)二實(shí)驗(yàn)設(shè)備:計(jì)算機(jī)、can總線系列實(shí)驗(yàn)箱、測控設(shè)備箱、萬用表。三實(shí)驗(yàn)過程、實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)記錄:(1)驅(qū)動程序安裝usbcan-2a接口卡的驅(qū)動程序需要自己手動進(jìn)行安裝,驅(qū)動程序已經(jīng)存放于實(shí)驗(yàn)準(zhǔn)備內(nèi)容中。找到驅(qū)動程序,直接點(diǎn)擊進(jìn)行安裝即可。安裝完成后,在“管理-設(shè)備管理器-通用串行總線控制器”中查看驅(qū)動是否安裝成功。注意:安裝驅(qū)動程序過程中pc機(jī)不能連接usb電纜。(2)icantest安裝與運(yùn)行 icantest安裝與運(yùn)行后,利用icantest軟件對ican系列各模塊進(jìn)行驗(yàn)證性測試,可以測試各模塊是否可以通過usbcan-2a接口卡與pc機(jī)正常連接與通信以及進(jìn)行簡單的測控操作。(3)各種ican模塊的測試1. 打開icantest軟件(老師,我們當(dāng)時(shí)覺得安裝這些過程太簡單了,沒意識到截圖,所以引用了一些ppt上的圖像,但后面測試部分的都是自己的截圖,希望老師諒解。) 在工具欄中點(diǎn)擊“系統(tǒng)配置”,在彈出的對話框中設(shè)置通信信息。如下圖: 圖 1 2. 點(diǎn)擊“搜索”,則can總線中連接的所有模塊應(yīng)該被搜索出來,列表顯示。包括模塊設(shè)置的macid。圖 2 3. 圖示為搜索完成后的顯示狀態(tài),在從站列表中將所有模塊予以顯示。點(diǎn)擊某個(gè)模塊,則彈出該模塊的操作窗口。 圖 3 4. 點(diǎn)擊“啟動”,再點(diǎn)擊“全部上線”。在從站列表中所有上線的模塊標(biāo)志變成綠色的三角,表示該模塊上線成功。圖 4 5. 試驗(yàn)各個(gè)模塊的基本輸入輸出功能。點(diǎn)擊繼電器模塊2404的4個(gè)輸出,聽到繼電器動作聲音。圖 5 連接4210d/a模塊的通道0到4017a/d模塊的通道5,輸入0x8000對應(yīng)得到5v的電壓輸出。圖 6圖 7 使用40558入/8出模塊連接按鈕作為i/o輸入,連接指示燈和繼電器作為i/o輸出。首先,連接好24v直流電源。圖 8 圖 9 然后,選擇1個(gè)指示燈、1個(gè)繼電器連接4055模塊的dout0、dout1,選擇1個(gè)按鈕連接4055模塊的din0。圖 10 最后,用鼠標(biāo)點(diǎn)擊4055窗口上的do輸出燈(對應(yīng)dout0、dout1),可控制指示燈的亮滅及繼電器的動作。當(dāng)目標(biāo)箱上的按鈕按下時(shí),di的指示燈會變化(對應(yīng)di0)。圖 11 將溫濕度傳感器連接至4017a/d模塊。圖 12圖 13通過4017a/d模塊的操作窗口,觀察通道0和通道1的電壓值,通過溫濕度傳感器的參數(shù)說明,換算出溫度和濕度值。圖 14 通道0和通道1的電壓值分別為:5.596v,4.740v;因?yàn)槿缦陆泳€圖所示,可知通道0和通道1的電壓值分別表示溫度和濕度。圖 15 實(shí)際溫度:(5.596v500)(20ma-4ma)50=34.975實(shí)際濕度:(4.740v500)(20ma-4ma)100%rh=59.25%rh(4)有關(guān)ican4055功能模塊的簡單功能實(shí)現(xiàn)的整體代碼1. 在生成的類頭文件sample4055dlg.h中的類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文件中編寫控制代碼 對變量的定義: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ù)的代碼:啟動按鈕消息響應(yīng)函數(shù)void csample4055:onstartsysbutton1() / todo: add your control notification handler code herecfg.icardtype=4;/使用usbcan2接線口cfg.icardind=0;/卡序號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ù)對can網(wǎng)絡(luò)是否啟動進(jìn)行判斷,返回為icanokmessagebox(系統(tǒng)啟動失敗);elsemessagebox(can網(wǎng)絡(luò)已啟動);鏈接按鈕消息響應(yīng)函數(shù)void csample4055:onlink4055button2() if(mgr_isstarted()!=1) messagebox(系統(tǒng)未啟動或啟動失敗,請先啟動can網(wǎng)絡(luò));else/ todo: add your control notification handler code hereroute_addslave(hroute,1,&hslave4055);/添加從站4055,macid=1if(slave_connect(hslave4055)!=icanok)/判斷從站4055是否連接成功messagebox(4055連接失敗); elsemessagebox(4055連接成功); settimer(1,1000,null);/設(shè)定開啟定時(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(hslave4055,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_isconnected(hslave4055)=1) updatedata(true);outvalue=strtol(m_invalue,null,16);/按十六進(jìn)制進(jìn)行讀取if(outvalue = 0 & outvalue =0.0&m_setch08;elsemessagebox(提示:請輸入010v電壓);if(m_setch1=0.0&m_setch18;/將buf3向右移8位elsemessagebox(提示:請輸入010v電壓); slave_senddata(hslave4210,0x60,buf,4);else messagebox(系統(tǒng)未啟動或從站未連接,請查看后再進(jìn)行操作);(7) 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*/): cdialog(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 your control notification handler code herecfg.icardtype=4;/使用usbcan2接線口cfg.icardind=0;/卡序號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ù)對can網(wǎng)絡(luò)是否啟動進(jìn)行判斷,返回為icanokmessagebox(系統(tǒng)啟動失敗);elsemessagebox(can網(wǎng)絡(luò)已啟動);void csample4017:onbuttonlink4017() / todo: add your control notification handler code hereif(mgr_isstarted()!=1) messagebox(系統(tǒng)未啟動或啟動失敗,請先啟動can網(wǎng)絡(luò));else/ todo: add your control notification handler code hereroute_addslave(hroute,3,&hslave4017);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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國孕婦營養(yǎng)保健品資金申請報(bào)告
- 2025-2030年中國安全鞋內(nèi)鋼包頭發(fā)展前景趨勢調(diào)研及未來趨勢預(yù)測研究報(bào)告
- 2025-2030年中國備用電電池監(jiān)控產(chǎn)業(yè)前景趨勢分析與投融資風(fēng)險(xiǎn)評估報(bào)告
- 2025-2030年中國城市園林產(chǎn)業(yè)發(fā)展趨勢及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國殼寡糖市場運(yùn)營現(xiàn)狀及發(fā)展機(jī)遇分析研究報(bào)告
- 人教版小學(xué)一年級上冊綜合實(shí)踐活動計(jì)劃
- 語文新課標(biāo)實(shí)施策略培訓(xùn)心得體會
- 航空航天工業(yè)信息安全防護(hù)技術(shù)-全面剖析
- 第二次新疆工作會議對醫(yī)療改革的心得體會
- 秋季小學(xué)節(jié)日慶典活動計(jì)劃
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測試網(wǎng)課答案
- MOOC 數(shù)據(jù)挖掘-國防科技大學(xué) 中國大學(xué)慕課答案
- 2024屆新高考物理沖刺復(fù)習(xí):“正則動量”解決帶電粒子在磁場中的運(yùn)動問題
- 外科圍手術(shù)期護(hù)理試題及答案
- 案場物業(yè)服務(wù)月度考核表
- 石材檢測報(bào)告
- 清風(fēng)搖影梅花易斷例整理解讀
- 俄標(biāo)閥門結(jié)構(gòu)長度_圖文
- 裝飾工程施工進(jìn)度表18975
- 二甲基亞砜項(xiàng)目可行性研究報(bào)告寫作范文
- 日文履歷書(wordテンプレート)
評論
0/150
提交評論