999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Modbus規(guī)約轉(zhuǎn)換器在工程項目中的開發(fā)及應(yīng)用

2012-10-24 06:47:10王春衛(wèi)
上海電氣技術(shù) 2012年3期
關(guān)鍵詞:進程程序用戶

王春衛(wèi)

(上海繼電器有限公司,上海200072)

國內(nèi)光纖縱差線路保護屏的工程項目中,常采用上海施耐德電氣電力自動化有限公司(原AREVA電力自動化有限公司)的P546電流差動保護裝置。這些保護裝置選用的是Modbus-RTU通訊協(xié)議,而這些工程項目的技術(shù)協(xié)議書要求保護裝置必須采用標準的IEC-103通訊協(xié)議與后臺監(jiān)控及信息子站通訊(IEC 60870-5-103協(xié)議,簡稱IEC 103協(xié)議,是一個用于電力系統(tǒng)控制和信息采集的通信協(xié)議,由國際電工委員會(International Electrotechnical Commission,IEC)57號工作組制定)。為了滿足這一要求,必須添加一臺規(guī)約轉(zhuǎn)換器實現(xiàn)此功能。規(guī)約轉(zhuǎn)換器主要用于各種自動化網(wǎng)絡(luò)通信場合,進行通訊規(guī)約的轉(zhuǎn)換,即將不同的2種通訊語言,通過它來完成翻譯,經(jīng)程序處理后按照用戶指定的通信語言送往監(jiān)控后臺或其他應(yīng)用系統(tǒng)。本Modbus規(guī)約轉(zhuǎn)換器需將P546的信息由Modbus總線通訊協(xié)議轉(zhuǎn)為國內(nèi)通用的IEC-103通訊協(xié)議規(guī)約,再轉(zhuǎn)發(fā)給后臺監(jiān)控和信息子站。該規(guī)約轉(zhuǎn)換器若從AREVA公司購買非常昂貴,上海繼電器有限公司的線路保護屏也就失去了競爭力,故決定自行開發(fā)規(guī)約轉(zhuǎn)換器。

1 開發(fā)軟硬件平臺的選用

在某變電站綜合自動化工程項目中,有一款上海繼電器有限公司研發(fā)生產(chǎn)的CBZ6800通訊管理機,它在變電站綜合自動化系統(tǒng)中作為各級智能設(shè)備與上級監(jiān)控中心之間的數(shù)據(jù)樞紐,并帶有完善的IEC-103通訊協(xié)議。在實際應(yīng)用中,與其他公司的監(jiān)控設(shè)備配合良好,故以此通訊管理機作為開發(fā)規(guī)約轉(zhuǎn)換器的軟硬件平臺可以起到事半功倍的效果。由于硬件是現(xiàn)成的,故只要對軟件架構(gòu)進行調(diào)整,并編寫相關(guān)的源代碼,該規(guī)約轉(zhuǎn)換器開發(fā)工作即可完成。

2 軟件架構(gòu)的分析

CBZ6800通信管理機的軟件從結(jié)構(gòu)上分為3層,即引導(dǎo)程序、系統(tǒng)程序和用戶進程,如圖1所示[1]。

圖1 軟件層次結(jié)構(gòu)

在通信管理機系統(tǒng)上電或復(fù)位時,首先運行的是引導(dǎo)程序(Basic Input Output System,BIO),引導(dǎo)程序?qū)PU及周邊接口部件進行初始化,執(zhí)行系統(tǒng)自診斷程序,判斷系統(tǒng)程序及用戶進程是否有效[2]。系統(tǒng)引導(dǎo)成功后將控制權(quán)交給系統(tǒng)程序并開始運行用戶進程。在自診斷出致命的錯誤(如ROM出錯、RAM出錯等)后,引導(dǎo)程序?qū)⒉辉龠\行系統(tǒng)程序和用戶進程。而這3個層次程序按優(yōu)先級的不同分成3塊,每一塊程序占用CPU不同的資源,由調(diào)度程序進行管理[3],如圖2所示。

圖2 軟件優(yōu)先級結(jié)構(gòu)

位于頂端的任務(wù)優(yōu)先級最高,它可以打斷其他兩級任務(wù)而被優(yōu)先執(zhí)行,所有對時間敏感的服務(wù)程序均存放于此;位于中間的一部分服務(wù)程序40ms左右被調(diào)用一次,所有對時間要求較高的服務(wù)程序均放于此;主程序1s左右被調(diào)用一次,在層次圖最下面,所有對時間要求不高的服務(wù)程序均存放于此[1]。

管理機的各個應(yīng)用程序進程之間通過發(fā)送消息進行通信。消息隊列是保存消息的數(shù)據(jù)結(jié)構(gòu),按照先進先出的隊列原則存放消息。系統(tǒng)產(chǎn)生的消息從隊列的尾部插入,處理時從隊列的頭部讀取消息[4]。一個應(yīng)用進程最多可接受8個消息。當某一個任務(wù)(進程)希望請求其他任務(wù)服務(wù)時,該進程先創(chuàng)建一個臨時消息結(jié)構(gòu),然后調(diào)用消息發(fā)送程序?qū)⒃撓l(fā)往目標任務(wù)。應(yīng)用進程不斷地檢查自己的消息隊列,當收到新的消息后,從消息隊列中讀取一條消息進行處理,處理完畢后重新更改消息隊列指針以便接收新的消息。

用戶進程是位于系統(tǒng)程序和引導(dǎo)程序之上的完成各種用戶接口的程序。在該部分程序中實現(xiàn)了現(xiàn)場智能設(shè)備的接入和遠方調(diào)度規(guī)約。用戶進程按優(yōu)先級也分為3塊,但用戶進程不能直接運行,它必須等到系統(tǒng)調(diào)度并分配給資源之后才能被調(diào)度執(zhí)行。用戶進程采用面向?qū)ο髾C制生成,支持對象復(fù)制。同一時間可運行多個拷貝,在系統(tǒng)程序的支撐下用戶進程之間可相互發(fā)送消息和交換數(shù)據(jù)。典型的用戶進程的邏輯框圖如圖3所示[1]。

通過以上分析可知,只需要添加一個用于Modbus通訊的用戶進程子程序,并對IEC-103對應(yīng)的用戶進程子程序加以修改就可以滿足實際需求。

圖3 典型用戶通信進程邏輯圖

3 通訊協(xié)議需求分析

3.1 功能需求

在現(xiàn)場實際應(yīng)用中,后臺監(jiān)控和信息子站均只需要讀取P546裝置的遙信、事件和定值,而不需要修改任何參數(shù)[5]。因此,可以確定通訊協(xié)議程序的主要功能如下。

(1)Modbus通訊子程序應(yīng)該能滿足讀遙信、遙測、事件記錄及保護定值;

(2)IEC-103通訊子程序應(yīng)在響應(yīng)總召喚報文時上送遙信狀態(tài),將遙測數(shù)據(jù)和定值數(shù)據(jù)都以組的形式以類型標識為ASDU10的報文上送,并主動上送最新發(fā)生的事件信息。

3.2 P546的Modbus信息點表分析

通過分析P546的Modbus信息點表可知:

(1)裝置共有32個開入量,存于4個連續(xù)的字節(jié)內(nèi),每個字節(jié)的每一位分別代表一個遙信位,32個遙信按順序排列。當實際位存在開入信息時,該位的值為“1”,否則為“0”。開入狀態(tài)可以通過一幀詢問報文讀取。

(2)裝置共有32個開出量,同開入信息類似,也順序的保存于4個連續(xù)的字節(jié)內(nèi),當實際開出位置閉合時,對應(yīng)位為“1”,否則為“0”。開出狀態(tài)也可以通過一幀詢問報文讀取。

(3)至于遙測數(shù)據(jù),現(xiàn)場只需要Ia、Ib、Ic三相電流幅值和Uab,Ubc,Uca這3個線電壓幅值,而在P546的Modbus信息點表中,這6個值也保存在連續(xù)的地址內(nèi);因此,可以通過一幀報文讀取。

(4)采用Modbus通訊協(xié)議讀取P546的事件記錄通常需要4個步驟。第1步,讀取一個地址固定的標志字節(jié),通過判斷該字節(jié)內(nèi)相應(yīng)的一位是否為“1”來判斷是否存在新事件(即未被確認的事件),該位如為“1”則表示有事件需要讀取,如為“0”則表示無新事件需要讀取。判斷存在新事件后,則進入第2步,向P546裝置一個指定地址發(fā)送報文寫入數(shù)據(jù),即通知P546裝置準備讀取事件。第3步,則是發(fā)送詢問報文讀取具體事件內(nèi)容。第4步,向指定地址寫入數(shù)據(jù),表示上一個事件已經(jīng)確認讀取。如果存在多個事件,則重復(fù)上述4個步驟即可。

(5)P546裝置將不同的保護定值通過不同的數(shù)據(jù)類型存儲于不同的寄存器地址內(nèi)。只需根據(jù)現(xiàn)場用戶提供的定值整定清單讀取所需的定值。現(xiàn)場定值一旦被輸入后,也不會輕易修改,故不必隨時讀取發(fā)送報文裝置定值。

3.3 Modbus通訊過程

通過上述情況分析,可以設(shè)計Modbus通訊過程流程圖如圖4所示。

圖4 通訊過程流程圖

4 通訊程序設(shè)計

Modbus通訊的通訊報文結(jié)構(gòu)如圖5所示,其中地址碼為P546裝置的通訊地址,由于現(xiàn)場一臺P546配置一臺規(guī)約轉(zhuǎn)換器,故地址可以固化。Modbus通訊報文中的功能碼、數(shù)據(jù)區(qū)中的地址與數(shù)據(jù)長度在之前的功能分析中都已明確,故之前所設(shè)計的4個通訊步驟中,對應(yīng)的6800管理機向P546裝置發(fā)送的讀取數(shù)據(jù)的報文內(nèi)容實際上都可以固定下來,這樣可以大大簡化程序內(nèi)容,只需在相應(yīng)的通訊步驟中將固定的報文填入發(fā)送緩沖區(qū)內(nèi)即可。

圖5 Modbus通訊報文結(jié)構(gòu)

對于Modbus通訊程序,當通訊過程和發(fā)送的報文確定后就需要對P546裝置返回的報文加以處理。首先應(yīng)對接受報文進行CRC校驗,算出校驗碼,與接受報文的校驗碼進行比較,若一致則判斷接受報文完整正確,然后再對報文內(nèi)的數(shù)據(jù)進行具體分析處理;若不一致則丟棄該幀接受報文,并重復(fù)發(fā)送上一次發(fā)送的報文,直到校驗正確為止。同時,對連續(xù)接受校驗不正確的報文次數(shù)進行計數(shù),當該計數(shù)達到一定值時,可以判斷通訊出錯,并發(fā)出通訊出錯的事件報文,這樣可以避免程序陷入死循環(huán)。校驗正確后,隨即處理具體的數(shù)據(jù)內(nèi)容。其中開入、開出和遙測數(shù)據(jù)相對容易處理,只需將相應(yīng)的數(shù)據(jù)存入公共數(shù)據(jù)緩沖區(qū)中,IEC-103轉(zhuǎn)發(fā)協(xié)議程序可以直接從該公共數(shù)據(jù)緩沖區(qū)中按照事先約定的格式和地址讀取相應(yīng)數(shù)據(jù)。另外,在Modbus報文中,開入開出信息存在于字節(jié)中的順序位,而IEC-103報文中則是一個開入量(或開出量)對應(yīng)一個字節(jié),所以,需要編寫程序?qū)odbus報文中保存開入開出信息的數(shù)據(jù)字節(jié)按位分離并將每一個數(shù)據(jù)位單獨保存為一個字節(jié),如:Modbus報文中的一個數(shù)據(jù)字節(jié)為47H,在程序中應(yīng)將該字節(jié)處理為4個8個字節(jié)“00H,01H,00H,00H,00H,01H,01H,01H”并保存。

由于P546裝置上送的Modbus報文中只提示發(fā)生遙信變位并上送時間信息,并沒有明確指出是哪一個遙信點發(fā)生變位事件,這就需要在程序內(nèi)部進行處理加以分辨。在程序中,除了將每次讀到的遙信狀態(tài)存于公共緩沖區(qū)內(nèi),還應(yīng)單獨存放一個固定位置作為歷史數(shù)據(jù)加以保存。每次讀到新的遙信數(shù)據(jù)都應(yīng)與歷史數(shù)據(jù)進行比較,采用按位異或的方式找出發(fā)生變位的遙信點號,再以該點號在當前遙信數(shù)據(jù)中查出對應(yīng)的狀態(tài)信息。將變位的遙信點號、遙信狀態(tài)和時間信息合成一條6800管理機內(nèi)部使用的消息,通過消息隊列發(fā)給IEC-103通訊協(xié)議程序,由IEC-103通訊協(xié)議程序解讀、打包并轉(zhuǎn)發(fā)。

對于事件信息,將P546通訊報文中包含的事件信息提取出來,只需要事件點號、事件狀態(tài)、時間信息,將這些信息按照消息的格式打包通過消息隊列發(fā)給IEC-103通訊協(xié)議程序,再由IEC-103轉(zhuǎn)發(fā)。

對于定值信息,可以將定值數(shù)據(jù)以約定好的格式存儲到具體的位置并將該位置的地址通過消息的方式傳送給IEC-103通訊協(xié)議程序。讀取定值需要較多步驟,應(yīng)當在讀取全部定值并將全部定值都按照相應(yīng)約定格式存儲完成后,才能使用消息通知IEC-103通訊程序。另外,在IEC-103相應(yīng)組值的報文中主要使用兩種數(shù)據(jù)類型:用ASICⅡ碼表示字符型數(shù)據(jù),用浮點數(shù)表示具體數(shù)值。而在P546中則使用實數(shù)表示具體數(shù)值,使用具體代碼表示定值字符串,所以需要對定值類型進行轉(zhuǎn)換。將P546通訊報文中的實數(shù)轉(zhuǎn)為浮點數(shù),用查表法將具體代碼轉(zhuǎn)為ASICⅡ碼字符串,將轉(zhuǎn)換后的數(shù)據(jù)存于相應(yīng)位置。

5 結(jié) 語

Modbus規(guī)約轉(zhuǎn)換器在實際工程中已投入使用近百套,運行穩(wěn)定可靠,充分說明本方案是完全可行并能滿足實際要求的,該規(guī)約轉(zhuǎn)換器的開發(fā)應(yīng)用為公司節(jié)約成本百萬余元。

[1]張毅剛,徐 輝,葉劍峰.多功能通信管理機[J].上海電器技術(shù),2008(2):34-39.

[2]趙 琦,姚慶梅.基于ARM及嵌入式操作系統(tǒng)的通信管理機[J].山東建筑大學(xué)學(xué)報,2009,24(1):54-58.

[3]尹小奪,閆 鵬.基于通信管理機的變電站自動化系統(tǒng)改造方案設(shè)計與實現(xiàn)[J].陜西電力,2008,36(9):16-19.

[4]牛青松,張 顏.DF3211通信管理機的結(jié)構(gòu)及功能[J].科技情報開發(fā)與經(jīng)濟,2010,20(1):109-111.

[5]劉振亞.智能電網(wǎng)知識讀本[M].北京:中國電力出版社,2010.

猜你喜歡
進程程序用戶
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
創(chuàng)衛(wèi)暗訪程序有待改進
如何獲取一億海外用戶
社會進程中的新聞學(xué)探尋
主站蜘蛛池模板: Aⅴ无码专区在线观看| 成人午夜精品一级毛片| 无码在线激情片| 97狠狠操| 亚洲黄色成人| 2021亚洲精品不卡a| 国产综合欧美| 无码又爽又刺激的高潮视频| 久久黄色免费电影| 91在线播放免费不卡无毒| 国产无码精品在线播放| 色老二精品视频在线观看| 国产一区二区精品福利 | 欧美色图久久| 欧洲av毛片| 久久久久久尹人网香蕉| 亚洲人视频在线观看| 婷婷六月综合网| 欧美区一区| 国产在线精品99一区不卡| 性做久久久久久久免费看| 亚洲天堂网站在线| 国产凹凸一区在线观看视频| 亚洲精品老司机| 国产精品99一区不卡| 亚洲AV无码精品无码久久蜜桃| 538精品在线观看| 欧美成人免费午夜全| 丰满人妻中出白浆| 久久久久久久久18禁秘| 国产精品永久在线| 欧美日韩中文国产va另类| 91在线播放国产| 久久亚洲精少妇毛片午夜无码| 国产情侣一区| 九色视频在线免费观看| 亚洲精品卡2卡3卡4卡5卡区| 色综合综合网| 欧美高清国产| 91精品亚洲| 中文纯内无码H| 亚洲黄色网站视频| 久久亚洲国产最新网站| 国产va欧美va在线观看| 播五月综合| 亚洲视频色图| 亚洲国产日韩在线观看| 日本精品影院| 日韩欧美国产成人| a毛片在线| 97视频免费在线观看| 狂欢视频在线观看不卡| 国产精选自拍| 国产精品七七在线播放| 青青青视频91在线 | 欧美a网站| 不卡无码网| 91精品国产一区| 亚洲欧美成人影院| 国产精品hd在线播放| 青青热久麻豆精品视频在线观看| 特级欧美视频aaaaaa| 免费观看无遮挡www的小视频| 国产高颜值露脸在线观看| 亚洲91在线精品| 国产日韩欧美在线视频免费观看| av大片在线无码免费| 一本大道香蕉久中文在线播放| 97亚洲色综久久精品| 91精选国产大片| 国产成人无码播放| 亚洲无线观看| 免费无码又爽又刺激高| 亚洲精品第1页| AV不卡无码免费一区二区三区| 99视频精品在线观看| 91探花在线观看国产最新| 亚洲精品免费网站| 欧美日韩成人在线观看| a天堂视频| 一本大道无码日韩精品影视| 国产精品女同一区三区五区|