亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多表位電能表檢定裝置的通信控制研究

        2017-11-03 15:55:11沈建良韓圓勛周韶園鄭薦中
        自動化儀表 2017年10期
        關(guān)鍵詞:控制指令電能表線程

        鄭 凡,沈建良,韓圓勛,周韶園,鄭薦中

        (1.浙江省計量科學研究院,浙江 杭州 310018; 2.國網(wǎng)浙江省電力公司電力科學研究院,浙江 杭州 310011)

        多表位電能表檢定裝置的通信控制研究

        鄭 凡1,沈建良2,韓圓勛1,周韶園1,鄭薦中1

        (1.浙江省計量科學研究院,浙江 杭州310018;2.國網(wǎng)浙江省電力公司電力科學研究院,浙江 杭州310011)

        為實現(xiàn)對多表位電能表檢定裝置的通信控制,并滿足實時性要求,對C#.NET中的SerialPort類進行研究。詳細闡述了串行通信的原理和實現(xiàn)過程,并提出了兩套設(shè)計方案。方案一采用AutoResetEvent類結(jié)合SerialPort類中的Data

        事件驅(qū)動的方法進行設(shè)計;方案二采用發(fā)送控制指令數(shù)據(jù)聯(lián)動接收設(shè)備應(yīng)答消息數(shù)據(jù)的方法進行設(shè)計。采用方案二的方法,為多表位電能表檢定裝置設(shè)計、開發(fā)了上位機應(yīng)用程序,并且應(yīng)用到電能表型式評價的溫度影響試驗中。經(jīng)試驗驗證,該串行通信方案可行、可靠,并具有良好的可傳送性,為提高電能表型式評價試驗的自動化檢測效率作出了貢獻。兩套設(shè)計方案不僅適用于各類電能表檢定裝置的通信控制,還適用于其他工控設(shè)備的RS-232串行通信,為開發(fā)自動化控制設(shè)備的應(yīng)用程序提供了捷徑。

        能源電力; 電能表; 檢定裝置; 型式評價; 串行通信; 數(shù)據(jù)采集

        0 引言

        電能表檢定裝置作為功率及電能單位量值傳遞的主要檢測設(shè)備,是政府計量部門的必備設(shè)備之一[1]。而電能表檢定裝置在國家電能中心(浙江)常年承擔著電能表型式評價的檢測試驗工作,故對裝置的具體功能和多表位的設(shè)定有了更多的需求。在對多表位電能表檢定裝置監(jiān)控的過程中,須達到較高的實時性,尤其是在串行通信方面,要求與設(shè)備實時通信,以及時讀取和處理誤差數(shù)據(jù),并將數(shù)據(jù)反饋給用戶。

        針對上述要求,利用C#.NET環(huán)境下的SerialPort類設(shè)計了兩套解決方案,且均可實現(xiàn)計算機通過串口通信對多表位電能表裝置的實時控制。方案一采用AutoResetEvent類結(jié)合SerialPort類中的DataReceived事件驅(qū)動的方法進行設(shè)計;方案二采用發(fā)送控制指令數(shù)據(jù)聯(lián)動接收設(shè)備應(yīng)答消息數(shù)據(jù)的方法進行設(shè)計。根據(jù)設(shè)備的具體特點,采用方案二完成應(yīng)用程序的設(shè)計與開發(fā)[2]。

        1 串行通信技術(shù)研究

        其次,對于控制多表位電能表檢定裝置的應(yīng)用程序設(shè)計,其主要難點是計算機與多表位電能表檢定裝置間的串行通信問題。根據(jù)設(shè)備廠家提供的通信協(xié)議,不同的控制指令具有特定格式的數(shù)據(jù)幀和對應(yīng)的功能。根據(jù)通信協(xié)議調(diào)試計算機與設(shè)備之間的串行通信,是開發(fā)自動化控制程序的第一步。只有確保兩個設(shè)備間的正常通信以及發(fā)送完控制指令后設(shè)備能及時正確響應(yīng),并能輸出正確的功能操作,才能進行后續(xù)操作。根據(jù)軟件需求搭建整個軟件框架,實現(xiàn)對設(shè)備的自由控制,以滿足型式評價的試驗要求。經(jīng)過對串行通信技術(shù)的研究,目前提出了兩種設(shè)計方案,下文將對其進行詳細闡述[4]。

        1.1串行通信設(shè)計方案一

        AutoResetEvent類允許線程間通過發(fā)信號進行互相通信,當線程需要獨占訪問資源時使用。這里的訪問資源是指計算機與多表位電能表檢定裝置的唯一通信串口。通過AutoResetEvent類為每一條設(shè)備控制指令創(chuàng)建唯一的實例。在發(fā)送某條控制指令前,將對應(yīng)的實例初始化為非終止狀態(tài),阻止當前線程;然后發(fā)送該條控制指令,通過AutoResetEvent類中的WaitOne()方法等待接收應(yīng)答消息,當收到正確應(yīng)答消息后,通過AutoResetEvent類中的R.Set()方法釋放當前線程,繼續(xù)執(zhí)行當前線程的其他程序。在利用R.Set()方法釋放線程前,串口的發(fā)送和接收緩沖區(qū)被當前的控制指令和設(shè)備應(yīng)答消息占用,其他控制指令不能通過此串口發(fā)送,只能等待線程釋放后才能被執(zhí)行[5]。

        在方案一中,控制指令的發(fā)送和設(shè)備應(yīng)答消息的接收是單獨處理的??刂浦噶顢?shù)據(jù)幀,以字節(jié)數(shù)組的方式通過SerialPort類中的Write()方法寫入到串口發(fā)送緩沖區(qū),然后發(fā)送出去。而對于設(shè)備應(yīng)答消息的接收則要相對復(fù)雜些。為了方便編程人員開發(fā)應(yīng)用程序,C#.NET將串口接收事件DataReceived事件封裝到SerialPort類中,以便調(diào)用。對于設(shè)備應(yīng)答消息的接收及處理是封裝在一個自定義方法Port_Received()中,通過C#.NET中事件注冊的方法將Port_Received()方法注冊到DataReceived事件中。當計算機串口接收消息緩沖區(qū)接收到消息,即觸發(fā)執(zhí)行Port_Received()方法,對計算機串口接收消息緩沖區(qū)中的數(shù)據(jù)幀進行處理,并判斷是否正確地返回應(yīng)答消息。如果正確,即調(diào)用R.Set()方法釋放線程;如果返回的應(yīng)答消息不正確或在規(guī)定時間內(nèi)無返回消息,則表示當前控制指令發(fā)送失敗。

        采用Port_Received()方法判斷返回的應(yīng)答消息是否正確,其步驟簡述如下。

        首先,將串口接收緩沖區(qū)的數(shù)據(jù)幀長度與設(shè)備通信協(xié)議中的正常返回消息的數(shù)據(jù)幀長度進行比較,判斷符合要求后,再對串口接收緩沖區(qū)的數(shù)據(jù)幀內(nèi)容進行判斷。

        串行通信設(shè)計流程(方案一)如圖1所示。

        本研究中選取的70例甲狀腺結(jié)節(jié)患者,與早期研究報告數(shù)據(jù)基本一致,即疾病本身的發(fā)生,主要是由缺碘導(dǎo)致。長期處在缺碘狀態(tài)下,甲狀腺內(nèi)纖維組織進行性增大,形成結(jié)節(jié),并伴有甲狀腺變形等器質(zhì)性改變??傊?,不同的診斷措施及其差異會直接對患者確診后治療方案產(chǎn)生影響,并且這種差異影響很有可能決定患者病情的走向。

        圖1 串行通信設(shè)計流程圖(方案一)

        1.2串行通信設(shè)計方案二

        方案二不再采用DataReceived事件驅(qū)動的方式進行設(shè)計,而是采用發(fā)送控制指令數(shù)據(jù)聯(lián)動接收設(shè)備應(yīng)答消息數(shù)據(jù)的方式進行設(shè)計。串口發(fā)送控制指令后緊接著等待接收設(shè)備的正確應(yīng)答消息,接收完成后,即表示本條控制指令發(fā)送成功。控制指令的發(fā)送和設(shè)備應(yīng)答消息的接收被封裝在同一區(qū)域內(nèi),即代碼共享區(qū);而對設(shè)備應(yīng)答消息的后續(xù)處理工作是和上述方法分開的,它是在具體的設(shè)備控制操作方法內(nèi)單獨處理的。

        在設(shè)計方案二之前,考慮到計算機會向多表位電能表檢定裝置不間斷地發(fā)送多條控制指令來滿足試驗要求,在此期間若不加控制,多條控制指令連續(xù)通過串口發(fā)送后,必然會導(dǎo)致串口接收緩沖區(qū)接收到的設(shè)備應(yīng)答消息發(fā)生紊亂,進而造成后續(xù)環(huán)節(jié)不能正確處理數(shù)據(jù)。下面將lock關(guān)鍵字運用到收發(fā)數(shù)據(jù)的代碼共享區(qū)中,以解決上述問題。

        對于關(guān)鍵字lock,它可以把一段代碼定義為互斥段。在某一時刻,互斥段只允許一個線程進入執(zhí)行,而其他線程必須等待[6]。

        lock是一種較為簡單、實用的線程同步方式,通過為給定對象獲取互斥鎖來實現(xiàn)同步。它可以保證當一個線程在調(diào)用關(guān)鍵共享代碼段時,阻止其他線程調(diào)用,直到當前線程對象被釋放后才能被其他線程調(diào)用。

        在應(yīng)用程序設(shè)計中,計算機使用串口向多表位電能表檢定裝置發(fā)送某條控制指令后,等待設(shè)備返回應(yīng)答消息,在收到正確的應(yīng)答消息前,串口將一直被占用。其他控制指令將不能通過當前串口發(fā)送,須等待上條控制指令接收到完整的設(shè)備應(yīng)答消息后釋放串口,其他指令才能被執(zhí)行。

        串行通信設(shè)計流程(方案二)如圖2所示。

        圖2 串行通信設(shè)計流程圖(方案二)

        根據(jù)圖2可知計算機向多表位電能表檢定裝置發(fā)送控制指令的方法。①根據(jù)設(shè)備通信協(xié)議,創(chuàng)建以字節(jié)數(shù)組的形式的控制命令數(shù)據(jù)幀。②判斷串口是否打開。為保證發(fā)送控制指令后,串口接收緩沖區(qū)中應(yīng)只存在當前控制指令對應(yīng)的設(shè)備返回的應(yīng)答消息,需事先利用SerialPort類中的DiscardInBuffer()方法清空串口接收緩沖區(qū)的數(shù)據(jù)。③通過SerialPort類中的Write()方法發(fā)送控制指令,等待串口接收緩沖區(qū)的數(shù)據(jù)。④在接收數(shù)據(jù)的過程中給定時間限制,在規(guī)定時間范圍內(nèi)通過SerialPort類中的BytesToRead()方法讀取串口緩沖區(qū)的數(shù)據(jù)幀長度。若數(shù)據(jù)幀長度與通信協(xié)議中正確的設(shè)備應(yīng)答消息的數(shù)據(jù)幀長度相同,則直接跳出時間循環(huán)并通過SerialPort類中的Read()方法讀取數(shù)據(jù)。若不相同,在規(guī)定時間內(nèi)繼續(xù)讀取串口緩沖區(qū)的數(shù)據(jù)幀長度,直到與正確的設(shè)備應(yīng)答消息的數(shù)據(jù)幀長度相同為止。若超過規(guī)定時間還未讀取成功,則判定控制指令發(fā)送失敗。⑤處理接收的正確設(shè)備應(yīng)答消息,以滿足設(shè)計需求。

        1.3串行通信設(shè)計方案的選擇

        上述的串行通信設(shè)計方案一和方案二適用于大部分的設(shè)備控制應(yīng)用程序。在使用過程中,用戶可根據(jù)設(shè)備的實際性能以及串口接收數(shù)據(jù)的特點來選擇方案。

        方案一的優(yōu)點是發(fā)送數(shù)據(jù)、接收數(shù)據(jù)及處理數(shù)據(jù)完全獨立,降低了程序的耦合性,在程序設(shè)計過程中條理清晰,有利于程序開發(fā)。而該方案的缺點是在利用SerialPort類中的DataReceived事件觸發(fā)處理數(shù)據(jù)方法時,若設(shè)備返回的應(yīng)答消息數(shù)據(jù)不完整,則后續(xù)操作會導(dǎo)致誤判。

        方案二的優(yōu)點是將發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的方法全部封裝在一個共享代碼區(qū)中,提高了程序的內(nèi)聚性,也保證了在規(guī)定時間內(nèi)能一次性全部接收設(shè)備返回的應(yīng)答消息數(shù)據(jù)。該方案的缺點是接收全部數(shù)據(jù)所需的時間需根據(jù)實際情況進行設(shè)定,而且時間長短可能會影響到串口通信的效率。

        本次基于SerialPort實現(xiàn)對多表位電能表檢定裝置的控制程序的開發(fā),將采用方案二進行設(shè)計。其原因是當計算機向多表位電能表檢定裝置發(fā)送完控制指令后,檢定裝置不能一次性返回所有數(shù)據(jù),無法適應(yīng)方案一中DataReceived事件觸發(fā)的方式。

        2 實現(xiàn)對多表位電能表檢定裝置的控制

        電能表檢定裝置具有啟動試驗、潛動試驗、常數(shù)或走字試驗、基本誤差測試、時鐘準確度試驗等多個檢定項目的自動校驗功能,而且對于多表位檢定裝置,可同時校驗規(guī)格相同、常數(shù)不同的多批次電能表[7-8]。此處多表位電能表檢定裝置是指擁有18個表位的電能表檢定裝置,目前它主要用于電能表型式評價試驗項目中的溫度影響試驗、時鐘準確度試驗和時鐘溫度影響試驗。

        本文主要通過溫度影響試驗來具體闡述計算機實現(xiàn)對多表位電能表檢定裝置的通信控制過程。溫度影響試驗是指在不同環(huán)境溫度下通過測得不同負載點下的基本誤差,將算出的平均溫度系數(shù)與JJF1245型式評價大綱相對應(yīng)的誤差限值相比較,判斷是否符合大綱要求的試驗[9]。

        在測試不同負載點下的基本誤差前,需先配置檢測方案,將不同的測試負載點以泛型集合的方式存儲起來,以備隨時調(diào)用。誤差測試點配置完成后,將開始控制多表位電能表檢定裝置自動測試不同負載點下的誤差,并將誤差存儲到數(shù)據(jù)庫中。

        多表位電能表檢定裝置在不同負載點下的誤差測試流程圖如圖3所示。

        圖3 誤差測試流程圖

        從圖3可以看出,多表位電能表裝置在測試電能表的基本誤差時,需要計算機通過串口通信向其發(fā)送多條控制指令才能完成測試工作。由于多表位電能表檢定裝置擁有18個表位,在向其循環(huán)發(fā)送設(shè)置圈數(shù)命令和讀取誤差命令時,可能會出現(xiàn)未能及時響應(yīng)的情況,需重新發(fā)送指令。此時,正常響應(yīng)的表位正常完成工作,將未能及時響應(yīng)的表位及時挑選出來,并重新對其單獨循環(huán)發(fā)送相關(guān)命令,直至設(shè)備在規(guī)定測試時間內(nèi)響應(yīng)為止。如在規(guī)定測試時間內(nèi)此表仍未能及時響應(yīng),則立即跳出循環(huán)進行后續(xù)測試工作。其主要目的是提高試驗效率和設(shè)備的有效利用率[10]。

        目前,通過開發(fā)的上位機軟件來控制多表位電能表檢定裝置,并將其運用于溫度影響試驗中,現(xiàn)已完成120批次的電能表溫度影響試驗。試驗結(jié)果表明,該串行通信方法可行、可靠,且具有良好的可傳送性和人機操作性。

        3 結(jié)束語

        本文利用C#.NET中的SerialPort類,實現(xiàn)計算機與多表位電能表檢定裝置的通信控制。通過計算機與電能表檢定裝置的串行通信,提高了計算機自動化控制工控設(shè)備的能力。該設(shè)計方案提高了電能表型式評價試驗的自動化檢測能力,在電能表計量行業(yè)中具有較高的推廣應(yīng)用價值。

        [1] 程田甜.電能表檢定裝置系統(tǒng)設(shè)計與應(yīng)用[J].科技資訊,2010(13):25.

        [2] 彭偉.線程安全的.NET平臺串口通信程序設(shè)計研究[J].湖北工業(yè)大學學報,2012,27(2):34-39.

        [3] 王文泉.基于SerialPort的串口通信系統(tǒng)實現(xiàn)[J].科技廣場,2011,27(5):21-23.

        [4] 徐蕾璐,俞子榮.C#.NET環(huán)境下基于SerialPort實現(xiàn)SR23與PC機的通信[J].計算機與現(xiàn)代化,2011(5):107-109.

        [5] 韓圓勛,鄭凡,錢曉耀,等.電能表溫度影響系列試驗自動測試系統(tǒng)設(shè)計[J].自動化與儀表,2017,32(1):24-29.

        [6] 李琳琳,王二寶,孫繼銀.電纜測試儀無線串行通信的設(shè)計與實現(xiàn)[J].自動化與儀器儀表,2012(6):133-135.

        [7] 郭昕嬪.智能電能表全自動校驗系統(tǒng)設(shè)計與應(yīng)用[D].大連:大連理工大學,2012.

        [8] 許卓,陳衛(wèi)強,趙山,等.電能表檢定裝置現(xiàn)場自動檢定系統(tǒng)的研究與應(yīng)用[J].電測與儀表,2015,52(12):60-63.

        [9] 趙波,李博,馬宇明,等.智能電能表溫度影響試驗遠程自動測試系統(tǒng)設(shè)計與應(yīng)用[J].上海計量測試,2015(6):2-4.

        [10]劉明,陳治,張洪彥.C#多線程串行通信方法的應(yīng)用[J].昆明冶金高等??茖W校學報,2008,24(1):11-15.

        ResearchontheCommunicationControlforMulti-PositionVerificationDeviceofEnergyMeters

        ZHENG Fan1,SHEN Jianliang2,HAN Yuanxun1,ZHOU Shaoyuan1,ZHENG Jianzhong1

        (1.Zhejiang Province Institute of Metrology,Hangzhou310018,China;2.Electric Power Research Institute,State Grid Corporation of Zhejiang Electric Power Company,Hangzhou310011,China)

        In order to realize the communication control of verification device for energy meters in multiple positions,and to achieve the requirement of real-time performance,the SerialPort class in C#.NET has been researched.The principle and implementation process of serial communication are described in detail,and two sets of design schemes are put forward.The scheme1is designed by using the AutoResetEvent class and the DataReceived event-driven method in the SerialPort class; the scheme2is designed by sending the control command data to the receiving device to answer the message data.Through the use of scheme2,host computer application program for the design of multi-epitope energy meter verification device is developed,and applied in the test of temperature influence for type evaluation of energy meter.The experimental results verify that the serial communication scheme is feasible and reliable,and has good transmissibility; it has made contribution to improve the efficiency of automatic detection of type test for energy meter.Two of the design schemes are not only applicable to the communication control of all types of energy meter verification devices,but also suitable for RS-232serial communication of other industrial control equipment,which provide shortcut for the development of application programs of automated control equipment.

        Energy power; Energy meters; Verification device; Type evaluation; Serial communication; Data collection;

        事件來解決設(shè)備間串行通信的問題。

        TH89; TP29

        10.16086/j.cnki.issn1000-0380.201710013

        修改稿收到日期:2017-05-25

        國家高技術(shù)研究發(fā)展計劃(863計劃)基金資助項目(2015AA050404)

        鄭凡(1963—),男,學士,工程師,主要從事電能計量檢測技術(shù)研究。E-mail574614839@qq.com。

        韓圓勛(通信作者),男,碩士,工程師,主要從事控制工程、檢測技術(shù)與自動化技術(shù)研究。E-mail:hanyxzz@163.com。

        猜你喜歡
        控制指令電能表線程
        巧數(shù)電能表
        城軌車輛控制指令試驗裝置研制
        認識電能表
        宏指令控制的多軸系統(tǒng)研究及實現(xiàn)
        淺談linux多線程協(xié)作
        高速公路隧道通風、照明聯(lián)動控制方案探討
        科技視界(2016年13期)2016-06-13 23:11:43
        煤礦提升機控制系統(tǒng)中PLC技術(shù)的應(yīng)用
        電能表自動化檢定機器人可靠掛卸表方案設(shè)計與實現(xiàn)
        基于MSP430+ATT7022B的三相三線多回路多功能電能表的研究
        電測與儀表(2014年6期)2014-04-04 11:59:34
        Linux線程實現(xiàn)技術(shù)研究
        成人国产一区二区三区| 久国产精品久久精品国产四虎 | 天堂国精产品2023年| 欧美理论在线| 手机免费日韩中文字幕| 亚洲国产免费不卡视频| 又粗又黄又猛又爽大片app| 国产亚洲精品国产精品| 少妇人妻精品一区二区三区| 亚洲av色先锋资源电影网站| 久久精品国产只有精品96| 夫妻一起自拍内射小视频| 最近更新中文字幕一区二区| 一区二区三区视频| 国产午夜影视大全免费观看| 日本熟妇中文字幕三级| 国产丝袜美腿在线播放| 久久综合伊人77777麻豆| 亚洲综合欧美在线一区在线播放| 99久久免费国产精品2017| 西西少妇一区二区三区精品| 国产自拍成人免费视频| 国产农村妇女精品一二区| 欧美中文在线观看| 国产在线看不卡一区二区| 日韩少妇人妻中文字幕| 亚洲国产日韩欧美一区二区三区 | 中文AV怡红院| 亚洲乱码av中文一区二区第八页| 亚洲熟妇无码av在线播放| 失禁大喷潮在线播放| 久久99中文字幕久久| 免费人妖一区二区三区| 亚洲日韩av无码一区二区三区人| 国产女人成人精品视频| 精品在免费线中文字幕久久| 久久精品国产一区老色匹| 亚洲精品少妇30p| 国产精品无码专区视频| 国产一区二区三区在线观看免费版| 一边摸一边抽搐一进一出视频|