《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 基于PROFIBUS DPV1的斷路器通信單元的開發

基于PROFIBUS DPV1的斷路器通信單元的開發

2009-09-23
作者:王 石 韓 兵

  摘?? 要: 基于PROFIBUS-DPV1總線的斷路器(ACB、MCCB)通信單元的硬件和軟件設計,以及斷路器的配置和診斷。重點論述了支持PROFIBUS-DPV1協議的SPC3智能從站通信芯片的使用及PRODAVE S7軟件開發包的使用。

  關鍵詞: PROFIBUS-DP? SPC3? PRODAVE? STEP7? 斷路器

?

  PROFIBUS協議是開放的,與制造商無關,無知識產權保護的標準。原則上,PROFIBUS協議在任何微處理器上都可以實現,在微處理器內部或外部安裝異步串行通信接口(UART)即可完成。

  PROFIBUS-DP是經過優化的高速低成本通信,專門用于設備級控制系統與分散式I/O的通信。PROFIBUS-DP用于現場的高速數據傳送時,主站周期地讀取從站的輸入信息并周期地向從站發送輸出信息。目前PROFIBUS-DP有3個功能版本,即DPV0、DPV1、DPV2。DPV0實現的PROFIBUS-DP基本功能和特征:即采用RS-485雙絞線、雙線電纜或光纜進行數據傳輸,波特率為9.6K~12Mbps。設備類型有:(1)一類主站(DPM1),中央可編程控制器PLC等。(2)二類主站(DPM2),如可編程、可組態、可診斷的設備。(3)DP從站,如分散式I/O設備。各主站間令牌傳遞,總線上最大站點(主-從設備)數為126。主-從用戶數據傳送采用循環方式,每個DP從站的輸入和輸出數據最大為246字節。主-主數據傳送采用非循環方式;DPM1與DP從站之間的數據傳送分為3個階段:參數設定、組態配置和數據交換。

  因為DPV0只允許主站和從站之間進行周期性數據交換,而不允許進行非周期性數據傳輸,這就使控制過程缺乏靈活性。而斷路器這樣的現場設備需要在一定的控制任務下改變原來的工作狀態,所以就需要實現非周期性數據傳輸。DPV1可實現這一要求,它是DP的擴展功能,是對DPV0基本功能的補充,且與DPV0兼容。其擴展的功能有:

  DPM1與DP從站間可以進行非循環的數據傳輸;帶DDLM讀和DDLM寫的非循環讀/寫功能,可讀寫從站任何所需要的數據;允許報警響應,DP基本功能允許DP從站用診斷信息向主站自發地傳輸事件,而新增的DDLM-ALAM-ACK功能被用來直接響應在DP從站上接收的報警數據;DPM1與從站間的非循環數據傳輸。

1?硬件設計

  本系統最小實現由3個單元組成:上位機PC,DP主站的S7-300PLC和DP從站的斷路器。各單元相互連接框圖如圖1所示。

?

?

  上位機使用串行口通過PC-Adapter與S7-300PLC相連,S7-300和斷路器通過PROFIBUS總線相連。

1.1 硬件開發

  在開發DP從站通信單元中,采用了專用的西門子ASIC芯片SPC3。SPC3是一種用于PROFIBUS從站的智能通信芯片,支持PROFIBUS-DP協議。圖1中斷路器的DP從站通信單元的詳細框圖如圖2所示。

?

?

  在圖2中,RS485總線驅動器一側與D型插座相連,另一側通過光耦與SPC3相連。SPC3不能獨立工作,需要外接微處理器。SPC3有8根數據線和11根地址線,其中低8位地址線與數據線復用,可以接80C32、80C166、80C165、HC11、HC16、HC196等單片機。SPC3本身具有地址鎖存功能,不需另加鎖存器,且自身可以產生片選信號。本系統采用了80C32微處理器作為SPC3的外接處理器。

1.2 軟件開發

  PROFIBUS-DP的狀態機構可以保證DP站在每種情況下行為的一致性,其狀態機如圖3所示。SPC3內部集成了狀態機構。在POWER-ON狀態下,從站可以從主站接收Set_Slave_Add報文來改變它的地址,然后從站進入Wait_Parameter狀態,等待參數化。同時,在此狀態下,從站還可以接收Slave_Diag、Get_cfg報文。參數化完成后,從站進入Wait_Cfg狀態,等待Chk_Cfg報文。完成Chk_Cfg后,從站進入Data_Exchange狀態,進行周期性數據傳輸。若組態和數據交換狀態不成功,則返回到參數化階段。進入Data_Exchange狀態后,從站可以接收Rd_inp、Rd_Outp、Slave_Diag、Chk_Cfg、Set_Prm、Get_Cfg、MSAC_C1_READ、MSAC_C1_WRITE、MSAC_C1_ALARM_QUIT等報文。其中,后面3個報文是PROFIBUS-DPV1才有的功能,而DPV0不存在這3個報文。

?

?

  由于SPC3集成了完整的PROFIBUS-DP協議,因此80C32不需要參與處理PROFIBUS-DP狀態機。80C32的主要任務是根據SPC3產生的中斷,轉存SPC3接收到的主站發出的輸出數據,組織要通過SPC3發給主站的數據,并根據要求組織外部診斷等。

  軟件開發采用了西門子公司提供的針對SPC3的程序開發包DPSE,而DPSE提供支持DPV1的功能。其低級版本的程序開發包DPS2主要用于開發DPV0通信。

  DPSE程序開發包使用C語言開發,并提供了一系列封裝好的C接口函數,使用戶可以方便地對SPC3的寄存器和內存進行操作,實現PROFIBUS-DPV1通信。

  在DPSE開發包中實現非周期讀服務的回調函數是DPSE_READ_REQ( )。調用這個函數需要傳遞2個參數:第1個參數是SAP,即服務入口點(對于非周期讀服務,入口點固定為50)。第2個參數是PDU,即協議數據單元。它是一個非周期讀服務的協議數據單元結構類型。實現非周期寫服務的回調函數是DPSE_WRITE_REQ( )。調用這個函數也需要傳遞2個參數:第1個參數是SAP(對非周期寫服務,服務入口點固定為51);第2個參數是PDU。對于寫服務,對應的是寫服務的協議數據單元類型。

  PDU數據結構如圖4所示。其中function_num表示功能號,slot_num表示從站的槽號,Index表示讀或寫數據塊的索引號,length表示讀或寫數據塊的長度,pdu_data表示傳輸的協議數據。這是根據PROFIBUS_

DP協議封裝好的數據格式。

?

?

  西門子S7-300PLC作為主站,集成了上述非周期讀和非周期寫服務。對于DS_READ服務,可以通過S7-300特殊功能調用SFC 59激活。對于DS_WRITE服務,可以通過特殊功能調用SFC 58激活。

  

  其中:

  REQ是調用請求位。當此位為1時,調用執行。

  IOID對于SFC58固定為B#16#54,對于SFC59固定為B#16#55。

  LADDR為模塊I/O起始地址(該地址對應于使用STEP7軟件進行硬件組態時模塊的地址)。

????RECNUM為S7-300數據記錄號,數值范圍為2~241。

  RECORD對應需要傳輸的數據記錄。對SFC58讀,則設定從從站模塊讀上來的數據保存的地址以及數量;對SFC59寫,則設定將要傳輸給從站模塊的數據的地址及數量,保存或傳輸方式都以字節為單位。

  RET_VAL表示調用返回值。根據這個值可以判斷調用是否成功執行。如果失敗,可以得到失敗的原因。

BUSY表示調用忙位。當調用執行時,此值為1;調用結束時,此值為零。因此可以根據這個位的值,判斷調用是否結束。

  根據PROFIBUS DPV1協議,當執行SFC58示例時,可以從總線觀測到04 5E C5這3個特征的16進制數據。如圖4所示,04代表slot_num,5E代表Index索引號(對應于RECNUM),C5代表length傳輸的數據量(C5十進制為197,即192個字節再加上協議數據幀標志)。同理,當執行SFC59示例時,可以從總線觀測到04 5E 2E這3個特征的16進制數據。

2?上位機軟件開發

  上位機軟件主要功能:

  (1)監測PROFIBUS總線上各DP從站的工作狀態。

  (2)如果DP從站具有DPV1功能,則通過此軟件可以在需要的時候調整該DP從站的工作參數。

  上述功能的實現主要基于PRODAVE S7軟件開發包,用戶可以通過PRODAVE S7使用VB、VC等高級語言進行相關的軟件開發。對于使用VC開發的用戶,PRODAVE S7提供了2個封裝好的DLL,而在這2個DLL中提供了訪問PLC的相關函數,并且提供了鏈接這2個DLL的相應的靜態LIB文件。本上位機軟件就是采用了VC開發。

  要使用PRODAVE S7,必須正確設置好西門子系列PLC和PC機的連接。本系統S7-300通過一個PC-Adapter連接到PC機的串口上,如圖5所示。

?

?

  PRODAVE S7提供的訪問PLC的函數主要可以用來訪問PLC的各種內存區域。對于S7-300,主要有:可以讀寫輸入/輸出映像區、讀寫計時器(timer)數據、讀寫計數器(counter)數據、讀寫DB數據(塊)、讀寫內存字節數據、讀寫內存的位數據。對于S7-200和S7-400,讀者可以查閱PRODAVE幫助文檔。

  在使用這套開發軟件包時,需要注意:

  (1)初始化連接。若函數是load_tool,調用此函數時必須正確設置adr_table參數。如果只訪問1個PLC,一般情況下采用默認設置即可;如果要訪問多個通過1個PC-Adapter連接起來的PLC,則需要正確設置adr_table參數,才能使初始化連接成功。只有當初始化連接成功了,才能訪問PLC,這一點很重要。

  (2)初始化連接以后,如果系統中只有1個PLC,則此PLC即為當前活動的PLC;如果系統中有多個PLC,則必須調用new_ss函數來激活想要訪問的PLC。

  (3)不能在初始化成功以后再繼續初始化,否則會出錯。如果要重新初始化,必需先使用unload_tool函數斷開連接。

????(4)使用相關函數從PLC內存區域中讀出的數據字的結構和常用的PC機數據字的結構位置正好相反。常用的PC機中內存字的結構使用的是intel標記,即先低位字節,再高位字節。而使用PRODAVE讀出的PLC內存字使用的是STEP5標記,即先高位字節,再低位字節。所以在編程的時候需要做一些處理,才能得到相應的數據。該軟件的主要功能如下:

  (1)設置從站地址。

  (2)對應STEP7軟件的硬件組態,配置該從站各個I/O模塊的輸入/輸出地址。配置好這些地址后,就可以使用PRODAVE軟件開發包關于訪問PLC輸入、輸出映像區函數(e_field_read、e_field_write、a_field_read、a_field_write)訪問作為主站的PLC和作為從站的I/O模塊的周期性數據。

  (3)根據用戶在PLC中關于SFC 58和SFC 59的功能調用編程,進行相應的DPV1配置,例如指定非周期讀或寫DB的數據塊地址、讀請求位、寫請求位和BUSY位等一系列相關設置。通過這些設置,就可以通過PRODAVE軟件開發包提供的函數mb_setbit設置請求位為1來激活非周期服務。通過testbit函數測試BUSY位是否為零來判斷服務是否結束;通過db_read、db_write 函數可以讀或者寫相應的數據塊數據。因此,采用此方法,可以在上位機上實現控制主站和從站的非周期數據交換。

  (4)對周期性數據和非周期性數據進行相應的處理,可實現實時監控和動態修改從站參數。

軟件框架原理圖如圖6所示。

?

?

????基于PROFIBUS DPV1斷路器通信單元的實現,不但滿足了在工業現場對于實時監控斷路器工作狀態的需求,而且可動態地修改斷路器工作參數,極大地方便了斷路器的工業控制。因此,PROFIBUS總線在工業自動化中有廣泛的應用前景。

?

參考文獻

1 SIEMENS.SPC3 PROFIBUS Controller User Description.1996

2 陽憲惠.現場總線技術及其應用.北京:清華大學出版社,1999

3 郭宗仁,吳亦鋒,郭永.可編程序控制器應用系統設計及通信網絡技術.北京:人民郵電出版社,2002

4?SIEMENS.Profibus Specification.1997

5?SIEMENS.PRODAVE S7 Mannual.1999

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99在线精品免费视频九九视| 伊人久久综合| 久久激情视频| 99在线|亚洲一区二区| 欧美亚洲在线| 一区二区高清在线| 亚洲国产日韩精品| 国模私拍一区二区三区| 欧美亚州一区二区三区| 欧美一区二区日韩一区二区| 亚洲美女区一区| 久久精品国产第一区二区三区| 亚洲美女中文字幕| 亚洲国产精品va在看黑人| 国产欧美日韩亚洲一区二区三区| 久久久久久自在自线| 亚洲国产片色| 久久国产福利| 一本色道久久综合亚洲91| 亚洲成人在线网| 国产精品久久久一区麻豆最新章节 | 亚洲欧美日本另类| 99re6热只有精品免费观看| 亚洲国产成人精品女人久久久| 国产亚洲欧美一区| 国产区在线观看成人精品| 国产精品成人午夜| 欧美三区在线| 欧美午夜女人视频在线| 欧美日韩精品二区第二页| 欧美福利视频| 欧美成人一区在线| 欧美暴力喷水在线| 欧美jizz19性欧美| 美女尤物久久精品| 麻豆成人综合网| 免费成人黄色| 欧美 日韩 国产一区二区在线视频 | 欧美一区二区观看视频| 99re8这里有精品热视频免费| 亚洲国产精品一区| 亚洲激情社区| 国产在线播放一区二区三区| 国产三级欧美三级| 国产精品乱码一区二三区小蝌蚪| 欧美激情四色| 蜜桃精品久久久久久久免费影院| 卡一卡二国产精品| 欧美成人激情视频| 欧美国产日本韩| 欧美精品日日鲁夜夜添| 欧美日本中文字幕| 国产精品h在线观看| 国产精品系列在线| 国产日产亚洲精品系列| 国内精品美女在线观看| 亚洲高清av| 日韩视频欧美视频| 亚洲午夜精品在线| 香蕉av777xxx色综合一区| 性xx色xx综合久久久xx| 亚洲电影免费观看高清完整版在线观看 | 国产亚洲一区二区三区在线播放| 国内在线观看一区二区三区| 狠狠综合久久| 欧美电影免费观看高清完整版| 欧美精品在线观看播放| 欧美日韩中字| 国产亚洲精品资源在线26u| 欲香欲色天天天综合和网| 亚洲日本成人网| 一区二区免费在线观看| 亚洲欧美日本日韩| 亚洲国产欧美日韩| 亚洲午夜在线| 午夜精品影院| 久久激情网站| 久久婷婷国产综合精品青草| 欧美精品在线一区| 国产精品久久久久久久久婷婷| 国产乱肥老妇国产一区二| 尤物在线精品| 亚洲视频一区在线| 久久精品首页| 中文精品视频一区二区在线观看| 午夜精品一区二区三区四区 | 在线成人激情| 亚洲精品影视在线观看| 亚洲自拍高清| 亚洲精品免费在线播放| 午夜精品久久久久久久男人的天堂| 久久嫩草精品久久久精品一| 欧美日韩国产探花| 国内自拍视频一区二区三区| 亚洲九九九在线观看| 亚洲欧美精品suv| 亚洲精选大片| 欧美一区二区三区四区高清 | 亚洲成人在线免费| 亚洲麻豆国产自偷在线| 欧美一区综合| 亚洲午夜高清视频| 老司机久久99久久精品播放免费| 欧美性jizz18性欧美| 影音先锋久久| 亚洲欧美日韩综合一区| 一区二区免费在线视频| 久久婷婷久久| 国产精品一区二区黑丝| 亚洲精品国久久99热| 久久av老司机精品网站导航| 亚洲一区精品视频| 欧美激情免费在线| 激情久久一区| 亚洲欧美日韩一区在线| 亚洲视屏一区| 欧美aaa级| 国产一区二区三区自拍| 一区二区三区视频在线播放| 欧美一区二区三区视频在线| 在线一区二区视频| 欧美激情中文字幕一区二区| 激情文学综合丁香| 午夜精品久久久久久久男人的天堂| 日韩视频免费看| 噜噜噜久久亚洲精品国产品小说| 久久久久久免费| 欧美日韩免费一区二区三区| 在线免费精品视频| 久久经典综合| 久久精品国产久精国产爱| 欧美性大战xxxxx久久久| 亚洲看片一区| 亚洲肉体裸体xxxx137| 久久综合伊人77777| 国产一区二区三区四区在线观看| 亚洲女优在线| 欧美影院午夜播放| 鲁大师成人一区二区三区| 国内视频精品| 欧美一区二区福利在线| 久久精品成人欧美大片古装| 国产伦一区二区三区色一情| 亚洲影院免费| 欧美一区二区三区在线观看| 国产精品久久久久国产a级| 亚洲视频二区| 亚洲欧美日韩区| 欧美午夜理伦三级在线观看| 亚洲国产成人av在线| 亚洲激情偷拍| 免费高清在线一区| 亚洲高清一区二| 日韩视频不卡| 欧美日韩亚洲高清一区二区| 日韩亚洲一区二区| 亚洲一区三区在线观看| 国产精品毛片大码女人| 欧美一区二区观看视频| 欧美成人午夜免费视在线看片 | 一区二区欧美在线| 国产精品视频免费在线观看| 久久国产精品久久w女人spa| 欧美国产亚洲精品久久久8v| 亚洲天堂第二页| 久久夜色精品国产欧美乱| 日韩天堂在线观看| 欧美在线视频免费| 亚洲高清资源| 亚洲欧美日韩在线| 精久久久久久| 亚洲欧美中文日韩v在线观看| 极品少妇一区二区| 亚洲在线黄色| 有码中文亚洲精品| 亚洲欧美日韩久久精品| 在线成人h网| 亚洲欧美综合网| 亚洲高清视频一区二区| 亚洲欧美激情四射在线日 | 蜜臀av性久久久久蜜臀aⅴ四虎| 99精品视频免费观看| 久久精品免费播放| 亚洲每日更新| 久久综合国产精品| 亚洲手机视频| 欧美成人精品激情在线观看| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久综合伊人| 亚洲欧美日韩国产另类专区| 欧美激情一区二区三区高清视频| 亚洲欧美日韩精品久久| 欧美区亚洲区| 亚洲国产精品一区二区www在线 | 国产精品一区二区三区成人| 亚洲理论电影网| 狠狠色伊人亚洲综合网站色 | 久久精品视频一| 一区二区三区久久网| 欧美成人日本|