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

正文內容

基于vc的can卡數(shù)據采集系統(tǒng)設計-閱讀頁

2025-07-26 09:21本頁面
  

【正文】 的結構和參 數(shù)必須依靠經驗和現(xiàn)場調試來確定,這時應用 PID 控制技術最為方便。 PID 控制,實際中也有 PI和 PD 控制。 ( P)控制 比例控制是一種最簡單的控制方式。但單純的比例控制存在靜差不能消除的缺點。 ( I)控制 在積分控制中,控制器的輸出與輸入誤差信號的積分成正比關系。 為了消除穩(wěn)態(tài)誤差,在控制器中必須引入 “積分項 ”。這樣 , 即便 誤差很小,積分項也會隨著時間的增加而加大,它推動控制器的輸出增大使穩(wěn)態(tài)誤差進一步減小,直到等于零。 實質上就是對偏差累積進行控制,直至偏差為零。簡單來說就是把偏差積累起來,一起算總帳。 自動控制系統(tǒng)在克服誤差的調節(jié)過程中可能會 出現(xiàn)振蕩甚至失穩(wěn)。解決的辦法是使抑制誤差的作用的變化 “超前 ”,即在誤差接近零時,抑制誤差的作用就應該是零。所以對有較大慣性或滯后的被控對象,比例 +微 分 (PD)控制器能改善系統(tǒng)在 調節(jié)過程中的動態(tài)特性。但微分作用很容易放大高頻噪聲 ,降低系統(tǒng)的信噪比 ,從而使系統(tǒng)抑制干擾的能力下降。它是根據被 控過程的特性確定 PID 控制器的比例系數(shù)、積分時間和微分時間的大小。它主要是 依據系統(tǒng)的數(shù)學模 型,經過理論計算確定控制器參數(shù)。二是工程整定方法,它主 要依賴工程經驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。 兩 種方法各有其特點,其共同點都是通過試驗,然后按照工程經驗公式對控制器參數(shù)進行整定?,F(xiàn)在一般采用的是臨界比例法。 PID 算法實現(xiàn) 控制點目前包含三種比 較 簡 單的 PID 制算法, 分別是:增量式算 法,位置式算法,微分先行。 在增量式算法中,比例項與積分項的符號有以下關系:如果被控量繼續(xù)偏離給定值,則這兩項符號相同,而當被控量向給定值方向變化時,則這兩項的符號相反。但如果內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文) 14 被控量遠未接近給定值,僅剛開始向給定值變化時,由于比例和積分反向,將會減慢控制過程。糾正這種缺陷的方法是采用積累補償法,當超出執(zhí)行機構的執(zhí)行能力時,將其多余部分積累起來,而一旦可能時,再補充執(zhí)行。 所以對三者進 行比較本,本設計選用 增量式算法 ,增量型 PID 算法的程序設計,增量型 PID 算式為式 5— 1 )]2()1(2)([)()]1([)( )( ?????????? KEkEkEKkEKKEEKkP DIkpP 設 )]1()([)( ???? kEkEKkP PP )()( kEKkP II ?? )]2()1(2)([)( ?????? kEkEkEKkP DD 所以有 )()()()( kPkPkPkP DIP ??????? ( 3— 1) 增量型 PID 運算子程序流程圖 所示。 PID 參數(shù) 命令 設置 當控制器接收到上位機發(fā)送的 PID 參數(shù)后,設置相應參數(shù),設置完成后發(fā)成功命令響應。 表 數(shù)據信息 :PID 參數(shù) 字節(jié)順序 位順序 內容 說明 第 1, 2 字節(jié) P 參數(shù) 定點小數(shù),第一字節(jié)整數(shù)部分,第二字節(jié)小數(shù) 第 3, 4 字節(jié) I 參數(shù) 定點小數(shù),第一字節(jié)整數(shù)部分,第二字節(jié)小數(shù) 第 5, 6 字節(jié) D 參數(shù) 定點小數(shù),第一字節(jié)整數(shù)部分,第二字節(jié)小數(shù) 該數(shù)據信息為 6 字節(jié)的數(shù)據信息。 內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文) 16 第四章 基于 VC++的 現(xiàn)場總線 CAN 設計 CAN 函數(shù)庫中的數(shù)據結構 體 定義 結構體就是一個可以包含不同數(shù)據類型的一個結構,它是一種可以自己定義的數(shù)據類型,它的特點和數(shù)組主要有兩點不同,首先結構體可以在一個結構中聲明不同的數(shù)據類型,第二相同結構的結構體變量是可以相互賦值的,而數(shù)組是做不到的,因為數(shù)組是單一數(shù)據類型的數(shù)據集合,它本身不是數(shù)據類型 (而結構體是 ),數(shù)組名稱是常量指針,所以不可以做為左值進行運算,所以數(shù)組之間就不能通過數(shù)組名稱相互復制了,即使數(shù)據類型和數(shù)組大小完全相同。 第一 ,VCI_BOARD_INFO 結構體包含 ZLGCAN 系列接口卡的設備信息。 typedef struct _VCI_BOARD_INFO { USHORT hw_Version。 USHORT dr_Version。 USHORT irq_Num。 CHAR str_Serial_Num[20]。 USHORT Reserved[4]。 hw_Version 硬件版本號,用 16進制表示。 fw_Version 固件版本號,用 16進制表示。 in_Version 接口庫版本號,用 16進制表示。 內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文) 17 can_Num 表示有幾路 CAN通道。 str_hw_Type 硬件類型,比如 “USBCAN ”(包括字符串結束符 ’\0’)。 第二, VCI_CAN_OBJ結構體在 VCI_Transmit和 VCI_Receive函數(shù)中被用來傳送 CAN信息幀。 UINT TimeStamp。 BYTE SendType。 BYTE ExternFlag。 BYTE Data[8]。 } VCI_CAN_OBJ, *PVCI_CAN_OBJ。 TimeStamp 接收到信息幀時的時間標識,從 CAN控制器初始化開始計時。 SendType 發(fā)送幀類型, =0時為正常發(fā)送, =1時為單次發(fā)送, =2時為自發(fā)自收, =3時為單次自發(fā)自收,只在此幀為 發(fā)送幀時有意義。 ExternFlag 是否是擴展幀。 Data 報文的數(shù)據。結構體將在VCI_ReadCanStatus函數(shù)中被填充。 UCHAR regMode。 UCHAR regALCapture。 第四, VCI_ERR_INFO結構體用于裝載 VCI庫運行時產生的錯誤信息。 typedef struct _ERR_INFO { UINT ErrCode。 BYTE ArLost_ErrData。 AccCode 驗收碼。 Reserved保留。 Timing0 定時器 0( BTR0)。 Mode 模式。此結構體在 CANETEE中使用。 char szdesip[20]。 BYTE blisten。 szdesip[20] 所要更改的目標 IP,比如為 “”。 blisten 所要更改的工作模式, 0表示正常模式, 1表示只聽模式。庫中存放函數(shù)的名稱和對應的目標代碼,以及連接過程中所需的重定位信息。 連接程序 , 將編譯程序生成的目標文件連接在一起生成一 個可執(zhí)行文件 , 本設計 初始化 CAN 所涉及的庫函數(shù)如下。 DevType 設備類型號。(注:當為 CAN232時, 0表示要打開的是 COM1, 1表示要打開的是 COM2。當設備為CANETEE時,此參數(shù)表示要打開的本地端口號,建議在 5000到40000范圍內取值。 返回值 為 1表示操作成功, 0表示操作失敗。 DevType 設備類型號。(注:當為 CAN232時, 0表示要打開的是 COM1, 1表示要打開的是 COM2。 DevType 設備類型號。(注:當為 CAN232時, 0表示要打開的是 COM1, 1表示要打開的是 COM2。 pInitConfig 初始化參數(shù)結構 。 DevType 設備類型號。( 注:當為 CAN232時, 0表示要打開的是 COM1, 1表示要打開的是 COM2。 返回值 為 1表示操作成功, 0表示操作失敗。 DevType 設備類型號。(注:當為 CAN232時, 0表示要打開的是 COM1, 1表示要打開的是 COM2。(注:當要讀取設備錯誤的時候,此參數(shù)應該設為- 1 。) pErrInfo 用來存儲錯誤信息 的 VCI_ERR_INFO結構指針。 CAN狀態(tài) 函數(shù) DWORD __stdcall VCI_ReadCanStatus(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_STATUS pCANStatus)。 DevIndex 設備索引號,比如當只有一個 PCI5121時,索引號為 0,有兩個時可以為 0或 1。) CANIndex 第幾路 CAN。 返回值 為 1表示操作成功, 0表示操作失敗。 DevType 設備類型號。 CANIndex 第幾路 CAN。 pData 用來存儲參數(shù)有關數(shù)據緩沖區(qū)地址首指針。 函數(shù) DWORD __stdcall VCI_SetReference(DWORD DevType, DWORD DevIndex, DWORD CANIndex, DWORD RefType, PVOID pData)。 DevIndex 設備索引號,比如當只有一個 PCI5121時,索引號為 0,有兩個時可以為 0或 1。 RefType 參數(shù)類型。 返回值 為 1表示操作成功, 0表示操作失敗。 DevType 設備類型號。 CANIndex 第幾路 CAN。 函數(shù) DWORD __stdcall VCI_ClearBuffer(DWORD DevType, DWORD DevIndex, DWORD CANIndex)。 DevIndex 設備索引號,比如當只有一個 PCI5121時,索引號為 0,有兩個時可以為 0或 1。 返回值 為 1表示操作成功, 0表示操作失敗。 DevType 設備類型號。 CANIndex 第幾路 CAN。 CAN函數(shù) DWORD __stdcall VCI_ResetCAN(DWORD DevType, DWORD DevIndex, 內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文) 23 DWORD CANIndex)。 DevIndex 設備索引號,比如當只有一個 PCI5121時,索引號為 0,有兩個時可以為 0或 1。 DevType 設備類型號。 CANIndex 第幾路 CAN。 Len 要發(fā)送的數(shù)據幀數(shù)組的長度。 函數(shù) ULONG __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ pReceive, ULONG Len, INT WaitTime=-1)。 DevIndex 設備索引號,比如當只有一個 PCI5121時,索引號為 0,有兩個時可以為 0或 1。) CANIndex 第幾路 CAN。 Len 用來接收的數(shù)據幀數(shù)組的長度。 返回值 返回實際讀取到的幀數(shù)。 內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文) 24 CAN 的初始化 其主要是設置 CAN 的通信參數(shù)。如圖 所示 。控制寄存器設定中斷,命令寄存器控制緩存器的接發(fā)狀態(tài),中斷寄存器工作狀態(tài), 驗 收碼寄存器設定工作地址,接收屏蔽寄存器設定工作形式,總線定時寄 存器設定工作頻率、采樣頻率,輸出控制寄存器一般為正常輸出方式,最后應使復位請求位從高變低,使 CAN 控制器進入正常工作狀態(tài) ,而濾波方式寄存器的作用則是 要界定對什么樣的報文予以接收 。 m_EditCode=00000000。 m_EditTiming0=00。 (0)。 (0)。 內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文) 25 UpdateData(false)。m_Section)。 CAN 數(shù)據 發(fā)送 設計 現(xiàn)場的各傳感器把環(huán)境多參數(shù)的檢測信號(數(shù)字量、模擬量、開關量)進行轉換處理后,發(fā)向 CAN 控制器的發(fā)送緩沖區(qū),然后啟動 CAN 控制器的發(fā)送命令,此時 CAN 控制器將自動向總線發(fā)送數(shù)據,不再需傳感器的微控制器進行干預。其程序流程圖如 所示。 如圖 所示 。 (2)。 (0)。 m_EditSendData=01 02 03 04 05 06 07 08 。 CAN 設備參數(shù) 設計 當控制器節(jié)點接收 控制器(流)選擇信 ,對應的節(jié)點發(fā)送數(shù)據和狀態(tài)信息,其他節(jié)點停止發(fā)送。 表 全局命令 P PS ID 發(fā)送方 接收方 優(yōu)先級 命令頻率 消息長 00 00001 1111 上位機 控 制器 0 觸發(fā) 1 字節(jié) 表 數(shù)據信息 : 為 1 字節(jié)信息組成 字節(jié)順序 位順序 內容 說明 第 1 字節(jié) 要選中的控制器的 CAN 設備號 內蒙古科技大學畢業(yè)設計說明書(畢業(yè)論文) 27 CAN 設備參數(shù)是指設備索引號和第幾路 CAN。 圖 參數(shù)設備 代碼如下: BOOL CBiYeSheJiDlg::OnInitDialog() { CDialog::OnInitDialog()。 for(int i=0。i++) {(%d,i)。 } for(i=0。i++) {(%d,i)。 } } 通過程序的代碼可以看出, CAN 設備參數(shù)是通過 OnInitDialog 函數(shù)來進行初始化。 程序代碼如下: void CBiYeSheJiDlg::OnButtonConnect() { /
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1