freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

郭漳和基于can總線的樓宇自動化系統(tǒng)設(shè)計(jì)畢業(yè)論文(文件)

2025-07-08 12:51 上一頁面

下一頁面
 

【正文】 提供了特定應(yīng)用,網(wǎng)絡(luò)同步,時(shí)間戳和緊急報(bào)文傳輸。緊急對象則是當(dāng)設(shè)備發(fā)生嚴(yán)重的內(nèi)部錯誤時(shí),緊急客戶機(jī)發(fā)送一個(gè)緊急狀態(tài)對象。CAN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)CAN從節(jié)點(diǎn)CANopen網(wǎng)絡(luò)中的主從節(jié)點(diǎn):在CANopen系統(tǒng)中需要有一個(gè)而且只有一個(gè)主節(jié)點(diǎn),但是可以有多個(gè)從節(jié)點(diǎn)(0~126)。見圖33.PDOPDOPDOPDO圖33 PDO協(xié)議SDO服務(wù):SDO提供了一種獲得指定節(jié)點(diǎn)相關(guān)狀態(tài)的數(shù)據(jù),服務(wù)端發(fā)送相應(yīng)的數(shù)據(jù)回應(yīng)。在加電后,I/O模塊進(jìn)入初始階段完成模塊功能的初始化,從CANopen應(yīng)用層初始化開始,配置節(jié)點(diǎn)的標(biāo)識符、波特率、對象字典和基本數(shù)據(jù)結(jié)構(gòu),對一些參數(shù)進(jìn)行初始化,以備數(shù)據(jù)的傳送。完成CANopen通訊后,終止其相關(guān)服務(wù)。智能節(jié)點(diǎn)實(shí)現(xiàn)了數(shù)據(jù)采集、LED顯示、CAN總線通信以及輸出控制等功能。圖41方案設(shè)計(jì)框圖系統(tǒng)軟件設(shè)計(jì)關(guān)鍵是通信程序的設(shè)計(jì)?;饡F(xiàn)場總線以ISO/OSI開放系統(tǒng)互連模型為基礎(chǔ),取其物理層、數(shù)據(jù)鏈路層、應(yīng)用層為FF通信模型的相應(yīng)層次,并在應(yīng)用層上增加了用戶層。其中PROFIBUS DP可以提供最大12Mbps的傳輸速率。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。CAN總線是屬于現(xiàn)場總線的范疇,它可一對串行通信網(wǎng)絡(luò)進(jìn)行分布控制或者實(shí)時(shí)控制。(4)CAN采用非破壞性仲裁技術(shù)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上傳送數(shù)據(jù)時(shí),可判斷優(yōu)先級,先高后低使優(yōu)先級高的節(jié)點(diǎn)在傳輸數(shù)據(jù)是不受影響,避免了總線沖突。(7)CAN的每幀信息都有通過CRC校驗(yàn)及檢錯措施,具有極好的檢錯效果(8)CAN的通信介質(zhì)的選擇上十分靈活,可選用雙絞線、同軸電纜或光纖。過程現(xiàn)場總線(PROFIBUS),PROFIBUS支持主從方式和多主通信方式。客戶程序既可以文本方式結(jié)合相應(yīng)的參數(shù)顯示CANopen的報(bào)文類型。CANopen協(xié)議軟件是基于高級語言開發(fā)環(huán)境編寫的上位機(jī)軟件,它的界面實(shí)現(xiàn)協(xié)議分析結(jié)果直觀性非常強(qiáng)。各個(gè)仿真子系統(tǒng)的現(xiàn)場節(jié)點(diǎn)通過CAN總線完成數(shù)據(jù)通信,各個(gè)仿真子系統(tǒng)通過以太網(wǎng)實(shí)現(xiàn)整個(gè)仿真系統(tǒng)的信息通信。AT89S52向SJA1000發(fā)送數(shù)據(jù)時(shí),采用查詢的方式,當(dāng)SJA1000里有接受到的新報(bào)文時(shí),AT89S52采用中斷方式。初始化程序主要是在運(yùn)行前,對SJA1000的控制寄存器寫入控制而確定的。圖43 SJA1000初始化流程發(fā)送程序:SJA1000的初始化程序設(shè)計(jì)主要是通過對SJA1000的寄存器寫入相應(yīng)的控制字,從而確定SJA1000的工作方式。對SJA1000進(jìn)行初始化建立CAN總線后,節(jié)點(diǎn)通過CAN現(xiàn)場總線收發(fā)數(shù)據(jù)包。主控制器要監(jiān)控狀態(tài)寄存器中發(fā)送緩沖器標(biāo)識符,對緩沖器是否接收數(shù)據(jù)進(jìn)行判斷。從接收緩沖器中讀取接收到的數(shù)據(jù)進(jìn)行處理,并且在處理過程中對CAN總線出現(xiàn)的異常情況進(jìn)行處理。以至于電路出現(xiàn)異常。通過按鍵模擬數(shù)據(jù)采集驅(qū)動,LED模擬繼電器動作。通過對系統(tǒng)的硬件、軟件的反復(fù)調(diào)試和充分利用C語言編程的模塊性、可修改性和可移植性的特點(diǎn)。樓宇自動化系統(tǒng)能夠改善人的生活環(huán)境,適用于當(dāng)今社會。劉老師話費(fèi)了很多寶貴的時(shí)間和精力為我設(shè)計(jì)的選題和資料的搜集直至最后設(shè)計(jì)的修改調(diào)試,在此向我的指導(dǎo)老師表示最真摯的感謝!指導(dǎo)老師嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度,開拓進(jìn)取的精神和高度的責(zé)任心使我受益匪淺!在此還要感謝和我一同做此設(shè)計(jì)的同學(xué)——施小毅。void RxingProcess(void)。void Go_UartCommTask(void)。void delay(uint x)。 uchar message[7]。 uchar data UartDataBack[Uart_RxBuffLen]。uchar data Uart_RxTimeOver。uchar VoltData[]={0x10,0x11}。bit RxFlag。 //控制通風(fēng)系統(tǒng)sbit Light = P1^6。 //獲取溫度信息sbit GetVolt = P1^2。 while(1) {Go_UartCommTask()。 TH0 = 0x4c。 ES = 1。 //開T1 EA = 1。}}{ if(SBUF==Uart_FramHead) {Uart_Work_STA=Rxing。 //將幀頭收入接收緩存。}}void RxingProcess(void){if(Uart_RxCount==1) { if(SBUFUart_RxBuffLen) { RxSunCount=SBUF。 Uart_RxOver=1。 }break。 RI=0。 for(i=0。}bit StandFrameTx(uchar Comm, uchar *Pdata, uchar Len){uchar i。 =StandFramLen1。 i++) {[i]=*Pdata++。 //填充數(shù)據(jù)0 }=MakeFrameSum( amp。 //; TI=1。 } else { Uart_Work_STA=noBusy。 CheckSum=8。 } else { return 0。 //清接收超時(shí)時(shí)間 Uart_Work_STA=noBusy。 case AirCtrlOff: Air = 0。 case LigheCtrlOff: Light = 0。 case WaterCtrlOff: Water = 0。 case PowerCtrlOff: Power = 0。} return (UartDataBack[2])。iUart_RxBuffLen。 if(ValidFramCheck()) { RxFrameProcessTask()。 if(!GetVolt) {StandFrameTx(DSVolt,VoltData, 2)。 if(!GetCircle) { StandFrameTx(DSCircle,CircleData, 2)。RunLedTime = 20。 while(!TI)。 for(。i++)。 x) {for(。 ES=1。TI=0。 TL0 = 0x00。 if(!GetWater) {StandFrameTx(DSWater,WaterData, 2)。 if(!GetTemp) {StandFrameTx(DSTemp,TempData, 2)。 //先轉(zhuǎn)移接收數(shù)據(jù)} Uart_Work_STA=noBusy。 if(Uart_RxOver) {Uart_RxOver = 0。 default: { UartDataBack[2]=0。 case PowerCtrlOn: Power = 1。 case WaterCtrlOn: Water = 1。 case LigheCtrlOn: Light = 1。}uchar RxFrameProcessTask(void){ switch(UartDataBack[2]) { case AirCtrlOn: Air = 1。 //接收完標(biāo)志清0 Uart_RxCount=0。 if((MakeFrameSum( amp。 }}bit ValidFramCheck(void){uint CheckSum。 //Uart正在發(fā)送}void TxingProcess(void){if(
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1