一種PROFIBUS-DP閥門控制器的實用設計

  • 分類  >  閥門 >
  • 一種PROFIBUS-DP閥門控制器的實用設計
   時間:2014-03-12 02:48:31
一種PROFIBUS-DP閥門控制器的實用設計簡介
    摘??要:本文介紹了一種控制普通閥門的閥門控制器的設計方案,該閥門控制器帶有工業現場匯流排PROFIBUS-DP的介面,可以實現閥門的遠程控制和網路控制……
一種PROFIBUS-DP閥門控制器的實用設計正文

  摘??要:本文介紹了一種控制普通閥門的閥門控制器的設計方案,該閥門控制器帶有工業現場匯流排PROFIBUS-DP的介面,可以實現閥門的遠程控制和網路控制。本文主要的著力點為介紹利用PROFIBUS-DP專用晶元SPC3開發PROFIBUS-DP設備中需要注意的一些問題,包括硬體介面設計,有關PROFIBUS-DP規範標準的一些設計要點,以及利用PROFIBUS-DP診斷功能的方法。

1.?引言

在傳統的閥門控制領域中,引入嵌入式系統技術和工業現場匯流排技術是閥門控制器發展的重要方向之一,也是工業執行器實現智能化、網路化、遠程控制化的客觀要求。本文中的設計方案就是針對這一課題的嘗試。希望能為國內閥門控制器的設計提供一些參考。

在閥門選擇上,我們選擇應用最為廣泛,結構也最為簡單的普通閥門作為研究對象。普通閥門本身操作也較簡單,只有開、關、停三種運動狀態,對其進行遠程控制改造容易入手。在工業現場匯流排技術選擇上,我們選擇PROFIBUS-DP工業現場匯流排技術,是考慮到PROFIBUS-DP技術發展成熟,有廣泛的應用實例,在全球擁有巨大的市場佔有率[2]。在國內目前也已經是機械工業推薦標準。因此設計普通閥門PROFIBUS-DP閥門控制器在技術可行性和市場意義上都具有一定的優勢。

本設計的最終目的是實現一種實用的普通閥門控制器,可以作為從站兼容於PROFIBUS-DP系統,接受遠程的主站的控制。

2.?PROFIBUS-DP硬體介面電路設計

在閥門控制器的PROFIBUS-DP硬體介面電路設計方案上,我們採用單片機?+?專用集成晶元SPC3?+?RS485驅動的方案。

SPC3是西門子公司用於開發PROFIBUS-DP從站的智能通信專用晶元,集成了完整的PROFIBUS-DP協議,可以獨立完成全部PROFIBUS-DP通信功能。SPC3提供了方便的硬體介面,適用於不同的微處理器,如Intel內核的80C32、80X86、80C165還有motorola型單片機等等。本設計選用的是51內核的單片機,所以採用Intel?8位連接方式,為了節約單片機資源,還採用的是地址數據復用模式。SPC3為44管腳的PQFP封裝。


圖?1?DP硬體介面結構

SPC3具有1.5Kbyte的信息報文存儲器,這1.5K的存儲空間包括:處理器參數Processor?Parameters、組織參數Organizational?Parameter、和所有的輸入輸出緩衝區DP?buffer[1]。在中央處理器對SPC3的操作上,類似於對一個1.5K的RAM進行操作。值得注意的是,SPC3的1.5K存儲空間只需要有11條地址線提供地址,而實際SPC3與中央處理器都是16條地址線連接,因為SPC3內部以地址線的最高5位全為零,作為存儲空間的選通信號,因此SPC3的16條地址線狀態應該在0000H和05FFH範圍內,才能進入SPC3的存儲空間。

在中央處理器還有其他外部數據存儲器的情況下,應注意與SPC3存儲空間的地址衝突。一般情況下,選擇通過地址解碼電路把SPC3的存儲空間置於整個中央處理器地址空間的最高部分。

SPC3晶元上有一個引腳XDATAEXCH,複位狀態為高電平,而當SPC3進入數據交換狀態能夠數據通訊時,該引腳會變為低電平。以此可以作為檢測通訊是否正常的標誌,一般在該引腳上連接發光二極體,作為直觀的判斷數據通訊正常的指示信號,較為方便。

3.?通訊地址方案

閥門控制器作為PROFIBUS-DP通訊的從站必須有不與其他站衝突的地址。有關PROFIBUS-DP從站通訊地址的設計方案有兩種:一種是由遠程的PROFIBUS-DP主站通過特定的數據通訊設定或修改從站地址;另一種是禁止PROFIBUS-DP主站設定和修改從站地址,從站的地址由從站本地設定。

本設計採用的是后一種設計方案,通過一個8位的撥碼開關手動設定閥門控制器的地址,然後由中央處理器讀入並寫入SPC3特定的存儲位置,位於SPC3存儲空間地址16H的?組織參數?R_TS_Adr,從而使SPC3獲得通訊地址。由於禁止主站改變該從站的地址,需要在初始化SPC3時,設定組織參數R_Real_No_Add_Change?=?FFH,並設定另兩個組織參數R_SSA_Buf_Ptr?=?0和R_Len_SSA_Data?=?0,這兩個組織參數的意義是:前者為存放來自主站的地址設定幀的緩衝區地址首地址,後者為收到的地址設定幀的數據長度。這樣SPC3初始化時,就不會激活負責地址設定功能的服務存取點SAP55,從而使主站無法設定從站地址。

同時,需要在閥門控制器的設備描述文件GSD文件中有這樣的語句:Set_Slave_Add_supp?=?0

表示該從站禁止主站設定和改變地址。

PROFIBUS-DP支持的站地址由0到126共127個,可以通過改變8位撥碼開關的低7位設定。撥碼開關的最高位設定閥門處於遠程控制下還是本地控制下。作為一個實用的控制器,出於安全和可靠的考慮,除了遠程控制還要有本地的控制功能。本設計使得現場的操作人員可以禁止遠程控制而手動的操作閥門。在這種狀態下,閥門控制器會把從主站獲得的閥門運動控制命令拋棄掉,但仍然把閥門的各種狀態傳給主站,所以此時遠程的操作員會得知遠程控制失效,並仍然可以看到閥門的各種數據,但不能操作閥門運動。

4.?標識符設計及使用

標識符(Identifier)是一個PROFIBUS-DP產品的重要參數,一般為一個或幾個位元組構成一個標識符,它表示了該產品在通訊時輸入和輸出的數據的寬度和特性。比如一個PROFIBUS-DP產品控制8個開關量,需要由主站提供這8個開關量的內容,那麼該產品接受主站數據就是8位共一個位元組的寬度。而該產品的標識符就必須描述出這種特性和寬度:一個位元組。標識符會寫入產品的設備描述文件GSD文件,便於系統建立時組態。標識符也必須在SPC3初始化時寫入SPC3特定的緩衝區中,便於主站檢查驗證。

專用標識符用一個位元組表示,編寫格式如下:


圖?2?專用標識符格式

專用標識符的低4位bit0?~?bit3表示該設備數據輸入或輸出的數據寬度,數值0到15對應表示寬度為1到16個位元組或字,而bit6則指明寬度數值的單位是位元組還是字:0表示位元組,1表示字;bit4和bit5兩位共同來表示以上寬度的數據是輸出數據,輸入數據,還是輸入/輸出數據,這裡需要指出的是,在PROFIBUS-DP系統中,輸入和輸出是相對與主站而言的,由主站發送給從站的數據稱之為輸出數據,由主站自從站讀取的數據稱之為輸入數據。最高位bit7表示一致性程度,所謂一致性要求是指某一區域的數據要求同時寫入或同時讀入,具體系統中,就是要求主站在一次上載或下載中完成對有一致性要求的數據區域的讀或寫,而不能分成幾次來上載或下載。該位的定義為:0表示僅位元組或字內部有一致性要求,1表示整個標識符定義的寬度都有一致性要求。

本設計中,閥門控制器的標識符定義為:B1H。也就是:長度為2,單位為位元組,輸入/輸出,全部一致性要求。

該標識符在PROFIBUS-DP系統上電運行時,會由主站發送給從站,以求證實際的從站特性是否與主站數據集中的一致。從站設計者在編寫從站程序時,需要有特定的過程來比較從主站發來的標識符與自己的是否一致,並作相應回應。

此外該標識符必須在SPC3初始化的時候由中央處理器寫入SPC3特定的緩衝區:Read?Config?Buffer,該緩衝區由組織參數R_Read_Cfg_Buf_Ptr存放首地址,由R_Len_Read_Cfg_Data定義緩衝區長度。這樣做的目的也是為了遠程的主站查詢。

同時標識符也必須在GSD文件中說明,語句格式如下:

EndModule

這兩個位元組就是主站和閥門控制器數據交換時的內容,所以它們應該包含著閥門控制的命令和閥門的狀態。按照閥門控制的要求和閥門的功能,本設計對這兩個位元組的結構做出定義。結構如下



圖?3?數據交換第一位元組與第二位元組

如圖所示,數據交換的第一個位元組中,bit0和bit1定義閥門控制命令,閥門控制器收到由主站發出的數據,將會分析第一位元組的這兩位,並根據這兩位的內容驅動閥門做相應動作。其餘的位在主站讀取閥門控制器的狀態時有效,bit2和bit3表明閥門現在是否到達關和開的極限位置,bit4和bit5表示閥門目前的運動狀態,bit7表示閥門控制器目前的控制模式,控制模式是由上文提到的地址撥碼開關的最高位決定,其意義一致。

數據交換的第二位元組bit0~bit6存放閥門打開程度,數值範圍為0~100,100表示全開,0表示全關。當主站由閥門控制器讀取該值時,表示目前閥門的開度;當主站向閥門控制器發送某值時,表示要求閥門開啟到該值開度。bit7保留。

5.?診斷功能的使用

所謂診斷功能是指PROFIBUS-DP規範定義的一種主站可以讀取自己所控制的從站的出錯信息和狀態信息的功能,是獨立於數據交換功能的另一項功能,發生於數據交換的間隙,由主站發起。

在PROFIBUS-DP規範已有的定義內,主站可以診斷從站有關通訊的出錯信息和狀態信息,比如:從站不能通過匯流排到達,響應不合理等。除此之外,PROFIBUS-DP規範還允許用戶使用擴展的診斷信息,通過對診斷信息的擴展用戶可以把自己定義的自己產品的出錯信息和狀態信息編入,這樣利用PROFIBUS-DP提供的可靠優化的通訊功能來實現具體的用戶要求,是PROFIBUS-DP產品設計者理所應當採取的措施。也正因如此,診斷信息設計也就成為PROFIBUS-DP產品設計的重要部分。

診斷信息包括兩個部分,PROFIBUS-DP標準診斷信息和擴展診斷信息。前者是診斷信息必須的部分,由固定的6個位元組構成,存放著PROFIBUS-DP規範定義的標準出錯信息和狀態信息。後者是用戶根據自己開發的產品要求設定的,它又可以分為三級診斷:關於設備的診斷、關於標識符的診斷、和關於通道的診斷。這三級診斷分作三個位元組塊在擴展診斷部分依次連續排列,其中每部分都有自己特定的首部位元組作為該級診斷的開始標誌。本設計的閥門控制器使用到了第一級擴展診斷,也就是關於設備的診斷。

具體在本設計使用的SPC3晶元上,首先在SPC3初始化時給診斷信息開闢專用的緩衝區,緩衝區有兩個,共有四個組織參數對其定義:R_Diag_Buf_Ptr1和R_Diag_Buf_Ptr2存放兩個診斷緩衝區的首地址,R_Len_Diag_buf1和R_Len_Diag_buf2定義兩個緩衝區的長度,兩個緩衝區的長度不同是允許的。

當需要使用診斷功能時,一般為閥門控制器發生了一定的事件需要通知主站,則在用戶持有的那個緩衝區內填入診斷信息。緩衝區的前6個位元組,也就是診斷信息的前6個位元組為標準診斷信息,用戶基本不需要賦值,除了第一個診斷位元組的最後一位bit0,需要由用戶設置為1。該位為「擴展診斷位」,置1表示6個位元組標準診斷之後跟有擴展診斷。所有使用擴展診斷的設計,該位都必須置位。

第7個位元組為擴展診斷第一級關於設備診斷的首部位元組,首部位元組最高兩位固定為00,后6位存放關於設備診斷的塊長度,該長度包括首部位元組本身,取值2到63。本設計的閥門控制器診斷事件較少,只需要1個位元組存放關於設備的診斷信息,所以關於設備診斷的塊長度為2。最終閥門控制器的診斷信息長度為8個位元組:「標準診斷6位元組+首部位元組1+設備診斷位元組1」。

設備診斷位元組8個位的分配如下:bit0對應閥門電機缺相事件,bit1對應閥門過轉矩事件,某位被置1表示對應事件發生;bit2~bit5放入一定的錯誤碼,這四位的錯誤碼對應的事件如下:

0000?無錯誤

0001?工作電壓不足

0010?AD採集不正常

0011?本地顯示不正常

0100?控制衝突

0101?控制命令錯誤

0110~1111?保留

為了實現以上的設備診斷位元組分配,除了閥門控制器的用戶程序在相應事件發生下對正確的位做正確處理外,還需要在閥門控制器的設備描述文件GSD文件中有以下語句:

以上兩句把bit0和bit1分配給相應事件。

Value(0)?=「No?error」

Value(1)?=「Low?voltage」

Value(2)?=「AD?error」

以上語句則把bit2~bit5分配給對應的錯誤碼。這樣就完成了對閥門控制器診斷信息的設計。

6.?結論

本設計的意圖在於工業現場匯流排PROFIBUS-DP技術與閥門控制工程實際要求的有效結合,突出實用性,也滿足閥門控制領域技術更新的要求。事實證明,閥門控制的遠程化和網路化是一個重要的發展趨勢,現場匯流排技術在這一領域的應用也是切實可行的。

參考文獻

[2]?陽憲惠編.?現場匯流排技術及其應用[M].北京:清華大學出版社,1998.

[3]?王福來,吳世紅等.?採用SPC3的智能型PROFIBUS-DP現場匯流排介面的開發[J].?電氣傳動,2000,2.

[一種PROFIBUS-DP閥門控制器的實用設計],你可能也喜歡

  • 室內設計製圖基礎
  • 花鍵設計
  • 機械機構設計
  • 齒輪機構設計
  • autocad機械設計製圖
  • 何畏圖形控制
  • 圖形控制程式設計
  • 圖形控制軟體
  • nvidia圖形控制
  • 圖形控制程式
  • 感應線圈控制器
  • 機械控制器的應用
  • 排氣閥門
  • 真空閥門
  • 閥門種類
  • 電動閥門
  • 和金閥門
  • 熱流道控制器
  • 步進控制器
  • 感應馬達控制器
  • 實用麵包製作技術
  • 齒輪設計實用手冊
  • 實用音樂系是什麼
  • 齒輪技術實用篇
  • 實用閥門設計手冊
Bookmark the permalink ,來源:
One thought on “一種PROFIBUS-DP閥門控制器的實用設計