時間:2018-01-12 11:08:21來源:網(wǎng)絡(luò)轉(zhuǎn)載
摘要:
本文首先基于CANopen高層協(xié)議,分析CANopen設(shè)備模型和CANopen應(yīng)用系統(tǒng),并描述基于HMI的CANopen系統(tǒng),最后,通過組態(tài)軟件CAN驅(qū)動,實現(xiàn)CANopen設(shè)備的人機界面接入。文章以人機界面為核心,描述HMI系統(tǒng)現(xiàn)場總線設(shè)備數(shù)據(jù)采集模型,分析HMI系統(tǒng)關(guān)注的CANopen協(xié)議的內(nèi)容,闡述了符合CANopen通信協(xié)議的設(shè)備在現(xiàn)場總線上的應(yīng)用,并給出了具體的應(yīng)用模型。
1.系統(tǒng)概述
組態(tài)軟件建立工業(yè)自動化領(lǐng)域的各種標準之上的,詳細架構(gòu)請見圖1.1。
HMI(HumanMachineInterface)系統(tǒng)已經(jīng)成為工業(yè)現(xiàn)場的一類應(yīng)用核心。軟硬一體,符合工業(yè)標準。
通過組態(tài)軟件驅(qū)動接口,組態(tài)軟件采集現(xiàn)場總線設(shè)備的數(shù)據(jù),將現(xiàn)場數(shù)據(jù)轉(zhuǎn)給組態(tài)軟件實時數(shù)據(jù)庫,并通過標準控件顯示數(shù)據(jù)信息,通過標準存盤接口完成歷史存儲,以及其他功能,比如報警、邏輯、用戶管理等,最后,通過實時數(shù)據(jù)庫和組態(tài)驅(qū)動接口,還可以實現(xiàn)總線系統(tǒng)中PLC、智能儀表和其他總線設(shè)備的控制。
在系統(tǒng)中,現(xiàn)場總線設(shè)備是信息的源頭,連接采集傳感器信號,并參與控制執(zhí)行單元,比如通過輸入部分,采集溫濕度、高度信號等模擬量采集(AI)和開關(guān)量輸入(DI)信號;通過計算和控制部分,實現(xiàn)數(shù)據(jù)轉(zhuǎn)換、報警判斷等計算和邏輯控制;最后,經(jīng)由輸出部分,通過電壓和電流的模擬量輸出(AO)和開關(guān)量輸出(DO)執(zhí)行控制結(jié)果。
圖1.2形象的描述了現(xiàn)場總線設(shè)備內(nèi)部構(gòu)造。工業(yè)自動化領(lǐng)域設(shè)備內(nèi)部結(jié)構(gòu)有規(guī)律可循,并可以標準化,為現(xiàn)場總線高層協(xié)議設(shè)備模型的標準化提供了事實依據(jù)和保障。
2.CANopen設(shè)備
2.1.CANopen協(xié)議
圖2.1[1]CAN、CANopen標準在OSI網(wǎng)絡(luò)模型中的關(guān)系框圖
CANopen協(xié)議是CiA(CAN-in-Automation)組織定義的標準之一。CANopen協(xié)議已得到廣泛的認可,并成為CAN總線在工業(yè)自動化領(lǐng)域的主導標準。
基于OSI通訊模型,CAN總線協(xié)議僅僅定義了物理層和數(shù)據(jù)鏈路層標準,而CANopen協(xié)議是在CAN2.0A協(xié)議基礎(chǔ)上的應(yīng)用層協(xié)議。
通過圖2.1,我們可以清楚地看到CANopen協(xié)議和CAN協(xié)議的關(guān)系。也可以說,CAN協(xié)議是固化在CAN控制器芯片中的,比如我們選用飛利浦SJA1000CAN控制器,則CAN標準協(xié)議已經(jīng)在控制器中實例化或固化;CANopen協(xié)議是應(yīng)用層協(xié)議,也就是需要我們在軟件編程實現(xiàn)。
所以,CANopen協(xié)議也體現(xiàn)了總線設(shè)備在應(yīng)用軟件中的映射關(guān)系或設(shè)備輪廓描述(DeviceProfile)。
2.2.CANopen設(shè)備模型
現(xiàn)場總線的作用就是將接近執(zhí)行層面總線設(shè)備的信息發(fā)送給總線系統(tǒng)的管理層面主站系統(tǒng)。CAN協(xié)議決定了CAN總線支持多主的通訊方式,使上層系統(tǒng)可以更多種的方式獲取總線設(shè)備的信息?;贑AN2.0A協(xié)議,CANopen協(xié)議定義了工業(yè)自動化領(lǐng)域的總線設(shè)備模型,明確了總線網(wǎng)絡(luò)的管理,定義了總線設(shè)備內(nèi)的各種信息對象,而且規(guī)定了設(shè)備設(shè)置的具體方法。
根據(jù)自動化現(xiàn)場的要求,CANopen設(shè)備下面接入信號I/O,采集現(xiàn)場數(shù)據(jù),上部連接CAN總線,向高層傳送設(shè)備信息。CANopen協(xié)議為總線設(shè)備定義了應(yīng)用程序軟件、對象字典和CAN-bus通訊,如圖2.2說明了三者間的關(guān)系。
圖2.2[1]CANopen設(shè)備模型中應(yīng)用軟件、對象字典和通訊部分的關(guān)系圖
CommunicationInterface(通信接口):
提供CAN總線上收發(fā)數(shù)據(jù)報文的服務(wù)。規(guī)定了四類CANopen數(shù)據(jù)報文:管理報文(Administrativemessage:包括LMT、NMT和DBT服務(wù)報文)、SDO(ServiceDataObject:設(shè)備配置相關(guān),優(yōu)先級較低的報文)、PDO(ProcessDataObject:8字節(jié)數(shù)據(jù)快速傳送報文)和特殊報文(PredefinedmessagesorSpecialFunctionObjects:包括SYNC、TimeStamp等報文)。設(shè)備間的通信都是通過交換通信對象完成的。
CANopenObjectDirectory(對象字典):
對象字典描述設(shè)備的各項參數(shù)和其網(wǎng)絡(luò)性能,以特定的方式描述總線設(shè)備包含的報文對象(過程數(shù)據(jù)對象PDO或配置服務(wù)數(shù)據(jù)對象SDO),從而實現(xiàn)了設(shè)備的功能性描述。這些對象通過一個16位的索引和一個附加的8位子索引來訪問。對象字典位于CAN總線設(shè)備通信部分和應(yīng)用部分之間,向應(yīng)用程序提供接口,應(yīng)用程序?qū)ο笞值溥M行操作就可以實現(xiàn)CANopen通信。
Application(應(yīng)用程序):
應(yīng)用程序部分由用戶編寫或者配置,包括功能部分和通信部分。通信部分通過對對象字典進行操作實現(xiàn)CANopen通信,而功能部分由用戶根據(jù)應(yīng)用要求實現(xiàn)。比如CAN控制器,應(yīng)用程序部分則為過程控制或數(shù)據(jù)處理邏輯,需要用戶編寫。
各個廠家提供的CANopen設(shè)備都必須遵循協(xié)議的標準,我們查找設(shè)備廠家提供的資料或技術(shù)手冊的時候,都可以找到類似Beckhoff公司的總線設(shè)備描述(參見圖2.3)。
圖2.3[1]Beckhoff公司CANopen設(shè)備描述
2.3.CANopen系統(tǒng)應(yīng)用
CANopen協(xié)議應(yīng)用可以分為下面2個層面:
操作應(yīng)用層面:現(xiàn)場操作人員、現(xiàn)場設(shè)備檢查人員等關(guān)注,關(guān)注可控性、易操作性和操作效率。
目標:監(jiān)測控制,生產(chǎn)操作。特點:關(guān)注CANopen協(xié)議的相關(guān)內(nèi)容。
系統(tǒng)設(shè)置層面:系統(tǒng)集成技術(shù)人員、設(shè)備維護和改造人員等關(guān)注,通過最佳的方案,實現(xiàn)應(yīng)用系統(tǒng)。
目標:工程實施、系統(tǒng)集成。特點:關(guān)注CANopen協(xié)議整體。
從操作應(yīng)用層面看,技術(shù)操作人員主要是通過已經(jīng)形成的生產(chǎn)線,依靠CANopen系統(tǒng)完成既定的生產(chǎn)工作,也就是通過采集的信號的內(nèi)容展示和分析結(jié)果,關(guān)注的是通過設(shè)備完成的生產(chǎn)操作。也就是,操作人員關(guān)注通過正確的操作方法,順利完成生產(chǎn)任務(wù)。這個層面的用戶是人機界面系統(tǒng)的最終使用者。工業(yè)人機界面系統(tǒng)的設(shè)計必須考慮這個層面應(yīng)用的需求。
如圖2.4所示,現(xiàn)場總線系統(tǒng)中,人機界面部分往往是體現(xiàn)操作應(yīng)用層面。
從系統(tǒng)設(shè)置層面看,技術(shù)人員要對現(xiàn)場設(shè)備進行裝配、設(shè)置,甚至編程。技術(shù)人員可以根據(jù)設(shè)備的說明文檔,依據(jù)現(xiàn)場工程的需求,進行裝配和設(shè)置。一般來說,每種設(shè)備都有測試或者配置軟件,尤其邏輯控制設(shè)備,都配置編程軟件,比如PLC,CANopen設(shè)備也是如此!首先,這些軟件都已經(jīng)非常成熟,然后,編程通訊往往有很多不開放的技術(shù),所以,我們必須借助于設(shè)備廠商提供的軟件。這個層面的技術(shù)人員工作,往往是針對確定的I/O部分,依照明確的工藝需求,進行設(shè)備組態(tài)、系統(tǒng)集成等工作,關(guān)注系統(tǒng)集成部分,也就是根據(jù)操作應(yīng)用層面的具體需求進行系統(tǒng)集成。
如圖2.4所示,現(xiàn)場總線系統(tǒng)中,編碼調(diào)試設(shè)備和軟件往往體現(xiàn)系統(tǒng)設(shè)置層面。
對于人機界面的組態(tài),我們主要是考慮操作應(yīng)用層面的需求,也就是關(guān)注I/O狀態(tài)、控制有關(guān)的參數(shù)設(shè)置、運行結(jié)果的記錄等。這些為基于HMI的現(xiàn)場總線控制平臺的協(xié)議通訊模式的實現(xiàn)提供了依據(jù)。
HMI組態(tài)關(guān)注的數(shù)據(jù)對象主要是過程數(shù)據(jù)對象(PDO)用于在CANopen節(jié)點間傳送過程數(shù)據(jù),如I/O模塊的I/O狀態(tài)的讀取和設(shè)定、模擬量采集和模擬量輸出等等。
Node節(jié)點-->HMI平臺(TxPDO:發(fā)送過程數(shù)據(jù)對象)
Node節(jié)點<--HMI平臺(RxPDO:接收過程數(shù)據(jù)對象)
系統(tǒng)配置關(guān)注的數(shù)據(jù)對象主要是服務(wù)數(shù)據(jù)對象(SDO:ServerDataObject)服務(wù)用于讀寫節(jié)點的對象字典(ObjectDictionary)用來在設(shè)備之間傳輸大的低優(yōu)先級數(shù)據(jù),實現(xiàn)信息的下載/上傳、請求/應(yīng)答、分段/加速傳送等操作,用來配置CANopen網(wǎng)絡(luò)上的設(shè)備。
其他的數(shù)據(jù)對象,比如管理報文、預定義報文、特殊報文,系統(tǒng)配置時,一般會使用。而根據(jù)控制工藝,在操作應(yīng)用層面,較少使用這些數(shù)據(jù)對象。
2.4.CANopen標識符和數(shù)據(jù)對象
為了減少簡單網(wǎng)絡(luò)的組態(tài)工作量,CANopen定義了強制性的缺省標識符(CAN-ID)分配表。這些標志符在預操作狀態(tài)下可用,通過動態(tài)分配還可修改他們。CANopen設(shè)備必須向它所支持的通訊對象的提供相應(yīng)的標識符。
缺省ID分配表是基于11位CAN-ID,包含一個4位的功能碼部分和一個7位的節(jié)點ID(Node-ID)部分。如圖4所示。
圖2.5[1]PDO數(shù)據(jù)對象11位ID的預定義格式
Node-ID:對應(yīng)CANopen設(shè)備,由系統(tǒng)集成商定義,例如通過設(shè)備上的撥碼開關(guān)設(shè)置。Node-ID范圍是1~127(0不允許被使用)。
FunctionCode:確定CAN幀的類型,比如:PDO和SDO:對應(yīng)CANopen設(shè)備的寄存器。在CANopen設(shè)備中,常用的PDO為0x180+Node-ID。其中0x180就是指FunctonCode。SDO是用來在設(shè)備之間傳輸大的低優(yōu)先級數(shù)據(jù)的服務(wù)數(shù)據(jù)對象,典型的功能是配置CANopen網(wǎng)絡(luò)上的設(shè)備。
比如,PDO用來傳輸8字節(jié)或更少數(shù)據(jù),沒有其它協(xié)議預設(shè)定(意味著數(shù)據(jù)內(nèi)容已預先定義)。比如:某傾角傳感器上傳的為7個字符,因此它有8個PDO數(shù)據(jù)需要傳到現(xiàn)場總線上。標識符的格式為TPDO=0X180+NODE_ID,因此發(fā)送的PDO可以表示為表3.1的描述。
表3.1CANopen設(shè)備的PDO
3.組態(tài)軟件通訊
3.1.PC-based的CAN總線接入
組態(tài)軟件與硬件設(shè)備組成的CAN總線系統(tǒng),詳細組成請見圖3.1。
圖3.1CAN總線系統(tǒng)
3.2.基于HMI的CANopen系統(tǒng)描述
1)、簡單系統(tǒng):HMI+CANopen模塊。
人機界面產(chǎn)品可以直接連接CAN從站模塊,如圖3.2所示。CAN從站模塊主要是I/O模塊,可以采集模擬量I/O數(shù)據(jù)或者控制數(shù)字量I/O,并通過總線方式擴展。比如,帶CAN接口的HMI設(shè)備HMITECHTPC-CAN,直接連接芬蘭Axiomatic單軸和雙軸傾角傳感器。
人機界面產(chǎn)品也可以直接連接CAN主站模塊,如圖3.3所示。CAN主站模塊可以是現(xiàn)場總線通訊的可編程控制器,可以擴展直接I/O模塊,也可以連接控制總線擴展模塊。比如,HMITECHTPC-CAN連接EPEC2020控制模塊。
2)、復雜系統(tǒng):HMI系統(tǒng)+CANopen站模塊+診斷和配置節(jié)點。
HMI主要完成CANopen系統(tǒng)監(jiān)視和存儲、分析功能。人機界面的優(yōu)勢是友好的人機交互。所以,同人機交互相關(guān)的CAN系統(tǒng)信息界面顯示、總線數(shù)據(jù)存儲、數(shù)據(jù)的初步分析等是CAN系統(tǒng)中人機界面所關(guān)注的重點。
CAN主站控制器注重實時性,HMI系統(tǒng)注重友好顯示和數(shù)據(jù)存儲。雖然,CAN主站控制器的邏輯也可以部分轉(zhuǎn)移到HMI系統(tǒng),但是,我們還是建議客戶根據(jù)控制工藝的要求,慎重考慮,合理的配置系統(tǒng)。
4.組態(tài)軟件CAN驅(qū)動
4.1.組態(tài)軟件CAN驅(qū)動特定
圖4.1組態(tài)軟件CAN驅(qū)動
組態(tài)軟件的CAN驅(qū)動程序,如圖4.1所示,是人機界面和組態(tài)軟件的接口,其功能和特點是:
CAN總線數(shù)據(jù)傳遞給組態(tài)軟件的接口:
驅(qū)動要借助系統(tǒng)的設(shè)備驅(qū)動接口,讀取CAN總線數(shù)據(jù),并通過組態(tài)軟件的標準形式,傳遞給組態(tài)軟件的實時數(shù)據(jù)庫。
可以通過多種形式保證數(shù)據(jù)發(fā)送和接收成功:
1)、驅(qū)動內(nèi)部,判斷CAN控制器發(fā)送錯誤信息;
2)、通過寫入設(shè)備寄存器,然后,讀取判斷寄存器寫是否成功。
關(guān)注CANopen協(xié)議操作應(yīng)用層面:
驅(qū)動程序中,并不需要整合CANopen整個協(xié)議棧,支持CAN2.0協(xié)議就足夠。然后,CANopen協(xié)議部分通過組態(tài)邏輯解決。
可以通過多種形式保障數(shù)據(jù)的完整性和實時性:
實時性就是最新發(fā)送總線數(shù)據(jù),能夠在規(guī)定的延時內(nèi),進入組態(tài)軟件的實時數(shù)據(jù)庫。完整性就是能夠?qū)⑺械臄?shù)據(jù)報文抓取到組態(tài)軟件,并進行完整的數(shù)據(jù)處理和存儲。根據(jù)控制工藝的要求,我們可以設(shè)置總線數(shù)據(jù)上發(fā)的頻率,通過HMI嵌入的CAN控制器設(shè)置屏蔽減少非目標數(shù)據(jù),也可以通過組態(tài)軟件對CAN控制器和驅(qū)動緩沖區(qū)的處理數(shù)據(jù)收發(fā)性能。
標簽:
上一篇:丹佛斯變頻器的故障種類及對策
下一篇:變頻器的作用及工作原理
中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(m.u63ivq3.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。