日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

Remoting技術(shù)在工業(yè)遠(yuǎn)程測控系統(tǒng)中的應(yīng)用研究

出處:boai1981 發(fā)布于:2009-07-08 17:06:03

  0 引 言

  隨著工業(yè)控制技術(shù)、計算機(jī)網(wǎng)絡(luò)和數(shù)字通信技術(shù)的快速發(fā)展,分布式測量、分布式計算和網(wǎng)絡(luò)控制在工業(yè)生產(chǎn)中將越來越多地被使用。Remoting技術(shù)是在.NET環(huán)境下,在應(yīng)用程序內(nèi)部或應(yīng)用程序域之間傳輸數(shù)據(jù)的方案。它有多種可以在數(shù)據(jù)傳輸中使用的通道,并且,在一個封閉的網(wǎng)絡(luò)環(huán)境中,選擇TCP通道將獲得更好的連接性能。因此,把.NET Remoting技術(shù)運(yùn)用到工業(yè)生產(chǎn)測控通信之中,達(dá)到及時通信、實時控制的目的,具有一定的應(yīng)用價值。

  1 Remoting

  1.1 Remoting技術(shù)簡介

  Microsoft.NET Remoting提供了一種允許對象通過應(yīng)用程序域與另一對象進(jìn)行交互的框架。這種框架提供了多種服務(wù),包括激活和生存期支持,以及負(fù)責(zé)與遠(yuǎn)程應(yīng)用程序進(jìn)行消息傳輸?shù)耐ㄐ磐ǖ馈?梢酝ㄟ^使用Remoting來進(jìn)行不同應(yīng)用程序之間的通信,不管這些程序是在同一臺計算機(jī)上,還是在局域網(wǎng)內(nèi)的不同計算機(jī)上,甚至在Internet的不同操作系統(tǒng)上(當(dāng)然相應(yīng)的操作系統(tǒng)也必須實現(xiàn).Net Framework)。Remoting將取代DCOM成為應(yīng)用更為廣泛的一種技術(shù)。

  1.2 Remoting的體系結(jié)鉤

 ?。甆ET Remoting為分布式對象提供了一個基礎(chǔ)結(jié)構(gòu)。它使用既靈活又可擴(kuò)展的管線向遠(yuǎn)程進(jìn)程提供.NET的完全對象語義。Remoting體系結(jié)構(gòu)主要包括以下元素:遠(yuǎn)程對象、通道、消息、格式化標(biāo)志符、代理對象、RemotingConfiguration類、ChannelServices類。

  圖1簡單地描述了.NET Remoting的結(jié)構(gòu),客戶端的對象通過公共接口(代理)訪問遠(yuǎn)程服務(wù)器對象的方法(或結(jié)果);對象訪問和結(jié)果的傳輸以格式化的形式通過定義的通道進(jìn)行。

  圖1 .NET Remoting體系結(jié)構(gòu)圖

  1.3 Remoting技術(shù)的優(yōu)缺點(diǎn)

  Remoting技術(shù)的優(yōu)點(diǎn):能進(jìn)行分布式開發(fā);TCP通道的Remoting速度非???;雖然是遠(yuǎn)程的,但是非常接近于本地調(diào)用對象;可以做到保持對象的狀態(tài);不受應(yīng)用程序限制,可以是控制臺、winform、IIS、windows服務(wù)承載遠(yuǎn)程對象等。

  Remoting技術(shù)的缺點(diǎn)大體有兩點(diǎn):非標(biāo)準(zhǔn)的應(yīng)用,因此,有平臺限制;當(dāng)脫離IIS時需要有自己的安全機(jī)制。

  2 工業(yè)通信系統(tǒng)中Remoting技術(shù)的實現(xiàn)

  在PCLevel工業(yè)生產(chǎn)遠(yuǎn)程測控系統(tǒng)的設(shè)計實現(xiàn)中,采用分布式三層結(jié)構(gòu)的程序設(shè)計使得企業(yè)內(nèi)部生產(chǎn)控制整體管理軟件的集成得以方便實現(xiàn)。采用Remoting技術(shù)在業(yè)務(wù)處理層與用戶層建立多個通信管道傳輸數(shù)據(jù),較好地解決了企業(yè)生產(chǎn)的遠(yuǎn)程實時監(jiān)測和控制問題,為建立企業(yè)級的快速網(wǎng)絡(luò)進(jìn)行有效的探索。

  應(yīng)用Remofing技術(shù)的分布式處理程序,通常包括三部分:遠(yuǎn)程對象、服務(wù)端、客戶端。圖2給出了PCLevel系統(tǒng)的數(shù)據(jù)流程。客戶端通過發(fā)布命令、請求數(shù)據(jù)來調(diào)用服務(wù)器端的對象,完成各種操作。發(fā)布命令、請求數(shù)據(jù)實質(zhì)上就是服務(wù)端訂閱客戶端事件,即由客戶端發(fā)送消息,服務(wù)端捕捉該消息,然后響應(yīng)該事件。

  圖2 PCLevel系統(tǒng)數(shù)據(jù)流程示意圖

  2.1 建立遠(yuǎn)程對象類(PCLClassLibrary.dll)

  把遠(yuǎn)程對象集中編寫成一個類,便于服務(wù)端和客戶端的引用,同時也便于整個系統(tǒng)的修改升級。下面是建立遠(yuǎn)程公用類的一個例子:

  [Serializable]

  public class SendOrderClass:MarshalByRefObject,SendOrderIntedace

  {

  pubhc static event SendOrderEventHandler SendOrderEvent;

  #region Send actoin to control equipment

  pubic void SendAction(string equipmentIDTemp,

  string actionTemp,string userlDTemp,int userLoginGradeTemp)

  {

  if(SendOrderEvent!=null) {

  SendOnterEvent(equipmentIDTemp,actionTemp,userlDTemp,userLnginGradeTemp);

  }

  }

  #endregion

 ?。h(yuǎn)程對象的生命周期設(shè)為無窮大

  public override object InitializeLifetimeService()

  {

  retum null;

  }

  }

  2.2 定義遠(yuǎn)程對象公共接口

  為了方便系統(tǒng)的部署和修改升級,對遠(yuǎn)程對象類的引用定義一個公共接口。以后修改遠(yuǎn)程對象時,只需要修改或更新遠(yuǎn)程對象類即可。遠(yuǎn)程對象的公共接口(PCLCommon.d11)定義如下:

  public delegate void SendOrderEventHandhr(string equipmentlIYremp,

  string acfionTemp,string userIDTemp,

  int userLoginGradeTemp);

  public interface SendOrderInterface

  {

  void SendAction(string equipmentlDTemp,string actionTemp,

  string userlDTemp,int userIJ09inGradeTemp);

  }

  2.3 服務(wù)器端的設(shè)置

  在服務(wù)器端引用PCLCommon.dll和PCLCIassLi.brary.dll,定義和設(shè)置TCP通信通道,添加接收事件處理方法:

  TcpChannel tcpChannelTemp 2 new TcpChannel(8090);

  ChannelServices.RegisterChannel(tcpChannelTemp);

  RemotingConfiguration.RegisterWellKnownServiceType(typeof(SendOrderClass),”PCLServer—SendOrder”.Well.

  KnownObjectMode.sillglecall);

 ?。疪emofing事件的定義

  SendOrderClass.SendOrderEvent+’=new SendOrderEventHandler(OnAcceptedClientOrder);

  當(dāng)服務(wù)器端啟動后,程序就偵聽端口8090上的信號,一旦偵聽到就立即引發(fā)事件SendOrderEvent,進(jìn)而執(zhí)行方法函數(shù)OnAcceptedClientOrder,分析命令內(nèi)容后,調(diào)用不同的函數(shù)完成相應(yīng)的操作。

  2.4 客戶端的設(shè)置

  在客戶端只需引用PCLCommon.dll即可。定義和設(shè)置TCP通信通道語句如下:

  TcpChannel tcpChannelTemp 2 new TcpChannel(0);

  ChannelServices.RegisterChannel(tcpChannelTemp);

  sendOrder=(SendOrderInterface)Activator.GetObject(typeof(SendOrderInterface),”top://localhost:8090/PCLServerSendOrder”);

  就像調(diào)用本機(jī)服務(wù)一樣,客戶端運(yùn)行后,能夠獲得比較滿意的傳輸速度。

  此外,在遠(yuǎn)程服務(wù)器端和客戶端分別使用配置文件,配置通信信道的建立和注冊,以及遠(yuǎn)程對象的注冊,方便將來重新修改信道、發(fā)布的類型或升級服務(wù)器端遠(yuǎn)程處理對象。

  3 結(jié)束語

  在PCLevel系統(tǒng)中,采用.Net Framework的成熟技術(shù).Net Remoting實現(xiàn)了業(yè)務(wù)規(guī)則層和用戶界面層通信,通過抽象類和接口在遠(yuǎn)程處理使得客戶端和服務(wù)器端實現(xiàn)有效的對象信息傳遞。這樣不僅方便系統(tǒng)的部署,對應(yīng)用程序的升級也相當(dāng)方便,不需要修改任何客戶端代碼,只需要在服務(wù)器端重新部署新版本的組件即可。同時,不僅保證了數(shù)據(jù)讀取的速度,而且保證了數(shù)據(jù)讀取的安全性,在工業(yè)生產(chǎn)遠(yuǎn)程數(shù)據(jù)通信實際應(yīng)用中取得了極大的成功。


  
關(guān)鍵詞:Remoting技術(shù)在工業(yè)遠(yuǎn)程測控系統(tǒng)中的應(yīng)用研究遠(yuǎn)程測控系統(tǒng)

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

物聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控干簧管信號網(wǎng)頁,小程序
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!