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

正文內(nèi)容

can總線的淺析canopen協(xié)議-文庫吧資料

2025-05-20 03:50本頁面
  

【正文】 棧高效穩(wěn)定運行的基礎,而OD的實現(xiàn)最基本的一點就是怎么去保存它。SDO服務節(jié)點(SDO server)收到這幀請求,為它建立一個SDO線程,將這幀請求分析分解以獲得足夠信息來初始化這個SDO線程對應的參數(shù)表,然后程序就會按照參數(shù)表的描述去執(zhí)行server的功能收集數(shù)據(jù)來滿足這個SDO請求,然后將收集到的數(shù)據(jù)形成SDO應答幀返回給SDO client,如果此次請求結束則釋放該線程,否則等待下一幀請求到來;SDO client在收到應答后判斷該請求是否還有后續(xù)請求,無則釋放此SDO線程。一次SDO訪問是這樣完成的。SDO線程參數(shù)表可以說是SDO線程的核心,所有SDO線程的建立、刪除和SDO通訊都要涉及到這個參數(shù)表。我們這里的SDO線程只是借鑒了操作系統(tǒng)多線程機制的一套SDO服務處理方法,每個SDO線程表示的是與網(wǎng)絡上其他節(jié)點建立的一個SDO鏈接,相當于在兩個節(jié)點間建立一個SDO通訊路徑,其中每個節(jié)點都擁有一個對這個路徑的描述,在該節(jié)點看來好像建立了一個線程來負責這個路徑(但決不會真的創(chuàng)建一個系統(tǒng)線程),在通訊過程中雙方通過這個路徑來交流,SDO通訊結束則釋放該線程,每個節(jié)點可以同時與多個節(jié)點建立多個這樣的路徑和互不影響,就如同操作系統(tǒng)的線程機制一樣的效果。本文來自CSDN博客,轉(zhuǎn)載請標明出處:CanOpen開發(fā)中的常見問題參考鏈接:SDO是CANopen協(xié)議中最復雜的一部分,帶有應答機制,有多種傳輸方式,并且完整的SDO功能節(jié)點需提供1個SDO server和多個SDO client,因此SDO的實現(xiàn)異常困難,協(xié)議多種傳輸方式的解析處理還有跡可循,多個SDO client服務和多個對SDO server的訪問的協(xié)調(diào)就不容易了,這里介紹一種方法——SDO線程來解決。如果在這個過程中,SDO server 和SDO client所在節(jié)點有收到其他節(jié)點的SDO請求或需要通過SDO請求其它節(jié)點,則新建SDO線程來實現(xiàn),跟上面的步驟一樣,這樣就可以實現(xiàn)多個SDO server和SDO client服務都得到實現(xiàn)而互不干擾,相當于雙向多線鐵路,可比單線爽多了。首先SDO發(fā)起節(jié)點(SDO client)收集足夠的信息,建立一個SDO線程,說白了就是初始化SDO線程參數(shù)表,將收集的信息以特定格式放入?yún)?shù)表,形成一幀SDO請求,發(fā)送出去。參數(shù)表內(nèi)容包括能夠描述一個SDO訪問過程的所有參數(shù),這里不詳述。我們知道每建立一個線程都會生成一個描述線程屬性的參數(shù)表和一些私有數(shù)據(jù),類似的,SDO線程的建立也會初始化一個對應的參數(shù)和數(shù)據(jù)結構體——SDO線程參數(shù)表,以之來描述這個SDO鏈接的屬性并提供私有通訊數(shù)據(jù)的存儲。注意,這里的線程可不是操作系統(tǒng)提供的多線程技術,況且為保證協(xié)議棧良好的移植性,在CANopen協(xié)議棧核心代碼里中也不好去調(diào)與操作系統(tǒng)相關的庫函數(shù)。這里要注意和我們熟知的以太網(wǎng)FTP不同,SDO的上傳和下載正好與之相反,F(xiàn)TP是從client的角度出發(fā)去理解上傳和下載,SDO是以server的角度去理解的,從服務器上獲得數(shù)據(jù)即對對象字典進行讀操作叫做上傳,往服務器上寫數(shù)據(jù)即對對象字典進行寫操作叫做下載。SDO既然稱之為服務,那就要有服務的提供者和使用者,提供者就是SDO server,使用者就是SDO client,在CANopen網(wǎng)絡中每個節(jié)點都要有一個SDO server,因為每個節(jié)點的對象字典大部分對象都是通過SDO來訪問的,對象字典的被訪問,提供所請求的服務當然要有個SDO server。3. SYNC發(fā)出后,需要發(fā)送數(shù)據(jù)的PDO要在規(guī)定時間段內(nèi)發(fā)送數(shù)據(jù),這個時間段叫做時間窗口(對象1006H指定),要小于SYNC節(jié)拍周期,以便每個周期留一定時間來進行其他類型的網(wǎng)絡通訊二、CANopen協(xié)議PDO的幾種傳輸方式由于PDO所傳輸?shù)臄?shù)據(jù)內(nèi)容是無協(xié)議的且分配的標識符范圍較SDO靠前,因此,其效率和優(yōu)先級都是較高的,通常用于實時過程數(shù)據(jù)的傳輸.PDO是生產(chǎn)/消費類型的通訊方式,數(shù)據(jù)只有一個生產(chǎn)者(發(fā)送),但是消費者(接收)可以有多個,生產(chǎn)者和消費者事先都已知道數(shù)據(jù)的類型和內(nèi)容(通過設置PDO映射來管理).對PDO通訊參數(shù)的設置可以實現(xiàn)四種通訊方式:1. ,可以定義收到幾個SYNC后觸發(fā)一次TPDO,在有SYNC的CANopen網(wǎng)絡中,SYNC就相當于一個網(wǎng)絡節(jié)拍,一個溫度傳感器,一個物位傳感器,網(wǎng)絡中有一個HMI監(jiān)控終端來實時監(jiān)控三個傳感器采集的數(shù)據(jù),壓力傳感器可能檢測的是一個快速的壓力變化,那可以每隔200mS更新一次數(shù)據(jù),溫度可能需要1S更新一次數(shù)據(jù),物位可能5S更新一次數(shù)據(jù),(假設各傳感器的數(shù)據(jù)采集周期都比數(shù)據(jù)更新周期小,如果大的話數(shù)據(jù)更新快可能沒有意義,呵呵)現(xiàn)在我可以設置一個200mS周期的SYNC消息,壓力傳感器每收到一個SYNC就向HMI傳輸一次數(shù)據(jù),溫度傳感器可以每隔5個SYNC傳輸一次數(shù)據(jù),好管理,系統(tǒng)運行效率高,適合周期性數(shù)據(jù)更新的應用.2. ,我發(fā)一個遠程數(shù)據(jù)請求過去,對方在接收到請求后,把我要的數(shù)據(jù)給發(fā)過來,這種方式是在我需要的時候去主動獲取.3. ,它是在本節(jié)點實現(xiàn)周期發(fā)送,通過設置PDO參數(shù),定一個周期,每隔固定的時間向網(wǎng)絡上發(fā)送一次PDO,它與SYNC無關,在網(wǎng)絡設計中主要按照傳感器的數(shù)據(jù)采集速度和數(shù)據(jù)更新要求來設定定時周期.4. ,例如當某個接著報警開關的開關量采集節(jié)點的報警狀態(tài)發(fā)生變化時,觸發(fā)一次PDO將報警狀態(tài)發(fā)送到網(wǎng)絡上,特別適合系統(tǒng)運行出錯報警和重大事件的及時處理上.上面的幾種傳輸方式各有所長,在CANopen網(wǎng)絡的設計中,按照不同的應用靈活配合使用才能構建一個優(yōu)秀的解決方案.三、SDO服務SDO是服務數(shù)據(jù)對象接口(Service Data Obiect)的縮寫,顧名思義提供服務數(shù)據(jù)的訪問接口,服務數(shù)據(jù)就是一些實時性要求不高的數(shù)據(jù),一般是指節(jié)點配置參數(shù),因此,SDO一般用來配置和獲得節(jié)點的配置參數(shù)。在CANopen網(wǎng)絡中應用SYNC要注意以下幾點:1. SYNC并不是主節(jié)點必須的功能,不一定要和NMT放在同一節(jié)點上,實際網(wǎng)絡應用中可以在網(wǎng)絡中找一個任務較少、實時性好的節(jié)點來作為SYNC生產(chǎn)者,SYNC消費者可以有多個,但是生產(chǎn)者同時只能有一個存在。SYNC屬于生產(chǎn)/消費型通訊方式,網(wǎng)絡中有且只有一
點擊復制文檔內(nèi)容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1