亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 基于局域網絡應用java語言實現遠程智能終端的控制.txt

?? 含有許多JAVA的技巧!
?? TXT
字號:
基于局域網絡應用Java語言實現遠程智能終端的控制 
(加入日期:2001-11-12 點擊數:1533)
【對此文發表評論】 【編程愛好者論壇】 【保存文章至硬盤】 【打印文章】 
 
  摘 要:在簡要介紹Java語言和PCL839卡的基礎上,通過編程來實現對智能節點PCL839卡的遠程控制. 
  關鍵詞:ava;PCL839;遠程控制;本地方法 

Remote Controlling the Intelligent Terminal by Java Based on LAN 

Zou Huajun, Zeng Yuxing 
(Dept. of Mechanical & Electronical Engineering, Guangdong Industrial University, Guangzhou 510090) 

  Abstract Based on briefly introducing Java and PCL839 card, a method of remote controlling the intelligent terminal (PCL 839 card) is describe. 
  Key word Java; PCL839; Remote control; Mative Method 

  當前Internet的技術發展異常迅猛,對Internet技術的利用也如火如荼。許多集科研與生產為一體的部門本身就存在著一個網絡,然而對這些網絡的利用還遠遠沒有充分發揮Internet網絡的潛力,尤其在控制領域。目前計算機界流行著SUN公司的一句名言"網絡就是計算機",而隨著控制領域應用網絡技術的進一步研究,又迎來了新的一句名言"網絡就是控制"。本文正是以此為起點,在現有局域網絡的基礎上,應用Java編程語言,實現對智能或可編程遠程終端的控制。下面以可編程的PCL839卡為例,介紹實現其遠程控制的一種方案。 

1 Java語言 

  Java語言是SUN公司于1995年5月推出的新一代面向對象的計算機通用編程語言,是繼WWW之后又一引起世界轟動的產品。Java語言的特點是跨平臺和強大的網絡編程功能。在Java語言誕生之前,Internet已存在,所以Java語言本身就封裝了大量進行網絡編程的類庫,使得網絡編程功能強大,同時又簡化了網絡編程的操作。因此利用Java語言可以開發出功能強大的網絡應用程序。 

2 PCL839卡 

  研華公司的PCL839卡是一種高速步進電機驅動卡,采用光隔保護,抗干擾能力強,具有數字I/O口,可以采樣其他現場數據等。它簡化了步進電機的控制。PCL839卡內部有3個獨立的脈沖發生器,能夠同步產生脈沖控制3個電機,每個脈沖發生器每秒可以產生1至16k個脈沖。 

3 遠程控制 

3.1 遠程控制機和現場工控機的互連 
  在現有局域網絡基礎上構成的互連系統如圖1。實現遠程控制,首先必須實現遠程控制機對現場工控機的控制,再由工控機對PCL839卡加以控制。 
  應用Java語言進行網絡程序的開發可以采取3種方法:URL(統一資源定位器)、Socket(套接字)、Datagram(數據包)。URL一般用于Web上某一特定資源的獲取,不適合于底層應用程序的開發;Datagram是以不可靠傳輸協議UDP為基礎的,但對于現場中的數據,必須保證傳輸的可靠和準確,因此對于該網絡通信程序一般采用基于可靠傳輸協議TCP基礎上的Socket編程加以實現。 



圖1 遠程控制機和現場工控機互連結構圖 

  對本方案網絡應用程序的開發,采用Server/Client方式,以遠程控制主機為服務器,每個工控機為客戶端??蛻魴C的程序開發如下所示: 
  public class agnetclass 
  {public static void main(String args[]) 
  {try { 
       Socket agentsocket=new Socket 
  ("remotecontrolcomputer",5555); 
       PrintStream os=new PrintStream(agentsocket.getOutputStream()); 
       DataInputStream is=new DataInputStream(agentsocket.getInputStream()); 
       StringBuffer buf=new stringBuffer(50); 
     ................ 
       }catch(IOException e){}; 
  } 
  } 
  在該程序段中,首先定義一個客戶端socket,通過該agent socket與遠程控制機remote control computer建立連接,并且指定程序使用的端口號,該端口號應大于1024,以避免與系統的端口號發生沖突;然后定義輸出和輸入流os和is ,輸出流是從客戶機向服務器發送信息的通道,輸入流是服務器向客戶機傳遞命令和參數的途徑;再定義數據緩存區,用于把服務器傳過來的命令和參數與其它程序段進行交互。在整個程序段中用try catch語句進行異常捕獲。 
  服務器段的程序編制應與客戶端程序的編制相適應,由于一個遠程控制機可以控制多臺現場工控機,所以服務器程序必須采用多線程機制,這也是Java語言的一大特色。服務器端的程序編寫如下: 
  public class serverclass 
  {public static void main(String args[]) 
  { boolean listen; 
  try { 
    ServerSocket serversocket =new ServerSocket(5555); 
    }catch(IOException e){}; 
       while(listen) 
  { 
  Socket agentsocket=serversocket.accept(); 
  }catch(IOException e){}; 
  new serverthread(agentsocket).start(); 
  .......... 
  }} 
  class serverthread extends Thread{ 
  Socket socket=null; 
  serverthread(Socket socket) 
  {super("serverthread"); 
  this.socket=socket;} 
  public void run(){ 
      try{ 
  DataInputStream  is=new  DataInputStream(new BufferedOutputStream (socket. getOutputStream())); 
  PrintStream os=new PrintStream (new BufferedOutputStream (socket.getOutputStream (),5555),false); 
  .......... 
  }catch(IOException e){}; } 
  該程序段由兩個類組成:主類和線程類。主類負責建立服務器套接字server socket,端口號必須與客戶機的端口號一致,然后通過server socket的accept方法創建一個套接字接口,專門處理與客戶機的通信;線程類用于創建一個新的線程,負責處理各個現場工控機的輸入和輸出請求。在線程類程序段中,首先創建一個構造方法,用于初始化一個新的線程,然后再定義一個輸入和輸出流。該服務器程序的設計是以各客戶程序用同一個端口號向服務器發出服務請求,服務器程序在端口處偵聽各個客戶的請求,創建多個線程,依次處理。當然各個客戶端也可以采用不同的端口號向服務器發出請求,服務器相應地也創建不同端口號的線程與端口號一致的客戶端進行通信。 
  遠程控制主機服務器程序必須具有與數據庫進行動態交互的能力。數據庫中存放著大量的現場數據以及控制現場操作的參數和命令等。服務器程序中的某一線程體負責對數據庫的存取、修改和維護等操作,Java語言通過JDBC實現與數據庫的連接,該功能類的實現方法如下: 
  public class database 
  {public void drivedata() 
  {String url="JDBC:odbc:component"; 
    .......... 
  try{ 
  Class.forName("sun.jdbc.odbc.JDBCODBCDriver"); 
  Connection con=DriverManager.getConnection(url); 
    .......... 
  }catch(SQLException se){}; 
  } 
  該程序段最主要的功能是加載JDBC數據庫驅動程序,使得Java語言能夠通過驅動程序訪問數據庫。 

4 利用Java語言的本地方法技術 

  由于Java語言的跨平臺特性,所以使得Java語言無法操作硬件。對智能節點的控制只能采用第三方語言進行,例如C或匯編語言。而整個工控機的通信部分由Java語言編寫,為實現遠程主機對智能節點的控制,就必須實現Java語言與其它語言的結合。令人欣慰的是Java語言擴充了這方面的功能,可以與C和C++語言完美無缺地結合起來,這雖然在某種程度上犧牲了移植性,卻使Java語言能夠和具體的環境打交道,具備了驅動硬件的能力。在本文所討論的例子中,PCL839卡的應用和驅動程序是用C語言開發的,Java語言把C語言編制的程序做成本地方法體,從而實現對PCL839卡的控制。 
  對智能節點的驅動程序用C語言編寫,程序中所采用的函數大部分是研華公司開發的C庫函數,利用這些庫函數可以開發出高效的應用程序,驅動步進電機完成各種操作。因此把這些程序集成為Java本地方法體,成為用Java語言實現遠程控制的關鍵技術。其程序段如下: 
  int pcl839dirve() 
   { ………………………… 
     int i ; 
     clrscr(); 
     set_base(0x2c0); /* 設置pcl839的基地址*/ 
  set_mode(CH1,DIR); /* 設置pcl839通道1 "Direction" mode */ 
  set_mode(CH2,DIR); /* 設置pcl839通道2 "Direction" mode */ 
  set_mode(CH3,PUS); /* 設置pcl839通道3"Pulse" mode */ 
  set_speed(CH123,600,3000,600); /* 設置pcl839通道速度 */ 
  pmove(CH123 , P_DIR,FH,4000 , N_DIR,FH,2000 , P_DIR,FH,4000); 
  waitrdy(CH123); /* 等待所有通道就緒*/ 
  cmove(CH123 , N_DIR,FH , N_DIR,FH , N_DIR,FH); 
  ………………………/*進行具體的現場操作,以下的程序語句僅作為演示*/ 
    printf("按任何鍵降速..."); 
    getch(); 
    printf("\n"); 
    slowdown(CH123); /* 把通道1,2,3降速到低速狀態*/ 
    for(i=2999;i>-1;i--) 
     { cprintf("%d \r",i); 
      delay(1); 
     } 
    stop(CH123); /* 通道停止運行*/ 
    return(0); 
  } 
  對于工控機,Java程序的編寫必須集成本地方法。對于本地方法的集成采取以下步驟:首先在一個Java程序中定義一個本地的方法,編譯該Java代碼;然后當用JDK環境下的JavaH命令創建一個C語言的頭文件時,必須注意其中的類結構和函數定義,接著創建一個Stub文件,Stub文件中包含與其C結構緊密聯系在一起的C代碼;Stub文件建立以后,編寫相應的C代碼,在原有的C代碼前面必須加上《stubpreamble.h》和《drive.h》兩個頭文件;最后再由 
VC++等集成開發環境將C語言程序編譯成DLL程序,這樣就實現了本地方法的集成。對于工控機的本地程序按以上步驟完成以后,工控機的主程序編制如下: 
  public class main 
  {public static void main(String args[]) 
  { ............. 
  /*負責與遠程控制主機通信部分的程序段 
  new drive().pcl839drive(); 
    ............. 
  }} 
  public class dirve 
  {public native void pcl839drive(); 
  ......... 
  static{ 
  System.loadLibrary("drive"); 
  .........} } 
  該段程序由主類和本地方法類組成,主類除完成通信部分的程序外,還必須實例化本地方法類,并且調用本地方法;本地方法類在定義本地方法時,必須加上關鍵詞native,并且程序段中有一段靜態代碼,該靜態代碼通過系統函數為本地方法類加載drive庫。 
  通過采用Java語言編程技術,就可以實現本地方法的集成和網絡的通信,有效地把控制主機和遠程主機通過網絡連接起來,以實現遠程控制。該套方案是在已有本地局域網絡的基礎上建成的,充分利用了Java網絡編程和集成本地方法的技術,具有經濟實惠和高效的特點。由于Java的平臺無關性,使得Java在與本地方法的集成中隱藏了大量的技術細節。因而進一步對Java的關鍵技術開展研究,充分和高效地利用這一富有特色的語言,實現對底層智能節點的控制,達到網絡監控的目的,無疑是一個非常有意義的課題。

本欄文章均來自于互聯網,版權歸原作者和各發布網站所有,本站收集這些文章僅供學習參考之用。任何人都不能將這些文章用于商業或者其他目的。( ProgramFan.Com )
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美午夜视频网站| 蜜臀久久99精品久久久画质超高清| 国产亲近乱来精品视频| 欧美国产精品中文字幕| 伊人色综合久久天天人手人婷| 一区二区三区久久| 国产一区二区三区av电影| 91亚洲资源网| 欧美一区二区大片| 国产精品的网站| 午夜成人在线视频| 成人激情免费电影网址| 欧美日韩国产片| 亚洲视频免费在线| 国产精品一区二区黑丝| 91精品久久久久久久91蜜桃| 亚洲男人的天堂网| 东方欧美亚洲色图在线| 日韩一区二区三区在线| 亚洲黄色av一区| 欧美日本乱大交xxxxx| 狠狠色丁香久久婷婷综| 欧美精品黑人性xxxx| 亚洲午夜在线电影| 91在线一区二区三区| 中文字幕av一区 二区| 色婷婷亚洲综合| 国产精品午夜免费| 国产在线精品视频| 亚洲男人天堂av网| 欧美成人国产一区二区| 午夜精品视频一区| 国产日韩欧美精品一区| 欧美亚州韩日在线看免费版国语版 | 婷婷六月综合网| www久久精品| 久久99精品国产.久久久久久| 在线播放中文一区| 成人一区二区三区视频| 自拍偷拍亚洲综合| 欧美成人video| 色视频欧美一区二区三区| 国产在线精品一区二区夜色| 亚洲一区二区三区视频在线播放| 欧美性受xxxx黑人xyx性爽| 国产乱人伦精品一区二区在线观看 | 久久婷婷色综合| 欧美在线不卡视频| 日韩av高清在线观看| 欧美久久久久久久久| bt7086福利一区国产| 亚洲免费在线看| 欧美激情综合在线| 精品成人一区二区三区| 成人午夜免费av| 蜜臀精品一区二区三区在线观看| 亚洲一二三专区| 1000精品久久久久久久久| 91福利在线看| 免费高清视频精品| 欧美经典一区二区| 精品国产乱码久久久久久闺蜜| 欧美无砖砖区免费| 色婷婷精品久久二区二区蜜臂av| 国产91丝袜在线18| 国产精品自拍网站| 美腿丝袜亚洲一区| 日本在线不卡视频| 午夜精品一区二区三区三上悠亚| 夜色激情一区二区| 一区二区三区免费观看| 亚洲乱码中文字幕综合| 国产精品久久久久影院色老大| 欧美高清在线一区二区| 中文字幕国产一区二区| 欧美国产精品中文字幕| 国产精品国产三级国产普通话99| 国产亲近乱来精品视频| 亚洲国产精品v| ●精品国产综合乱码久久久久| 中文字幕佐山爱一区二区免费| 亚洲婷婷综合色高清在线| 最近日韩中文字幕| 亚洲免费观看高清完整| 一区二区三区成人在线视频| 亚洲一区二区综合| 午夜成人在线视频| 看电影不卡的网站| 悠悠色在线精品| 亚洲黄色av一区| 日韩福利视频导航| 免费成人你懂的| 国产制服丝袜一区| 粉嫩一区二区三区性色av| 91香蕉视频mp4| 91黄视频在线| 欧美精品国产精品| 精品国产99国产精品| 中文字幕第一区二区| 亚洲欧美色图小说| 日本成人在线不卡视频| 国内精品伊人久久久久av影院| 粉嫩嫩av羞羞动漫久久久| 91在线观看视频| 欧美日韩免费在线视频| 色哟哟精品一区| 欧美亚洲动漫另类| 欧美精品一区二区三区很污很色的 | 99久久久久久| 在线成人高清不卡| 久久免费的精品国产v∧| 欧美一区二区在线播放| 久久伊人中文字幕| 亚洲美女屁股眼交| 男女男精品视频| 国产不卡视频在线播放| 欧美性xxxxx极品少妇| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 69av一区二区三区| 久久久国产精华| 亚洲高清免费观看| 国产99久久久国产精品| 欧美性猛交xxxx乱大交退制版| 精品国产一二三| 依依成人综合视频| 国产精品一区二区免费不卡| 欧美午夜精品理论片a级按摩| 2024国产精品| 亚洲高清免费视频| 99这里只有精品| 精品国产免费久久| 亚洲一区二区视频在线观看| 国产福利一区二区三区在线视频| 国产九九视频一区二区三区| 欧美图区在线视频| 日本一区二区成人在线| 精品伊人久久久久7777人| 在线一区二区三区四区五区| 国产日韩欧美精品一区| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩午夜精品| 亚洲欧美日韩系列| 国产v日产∨综合v精品视频| 91精品国产综合久久福利软件| 亚洲人被黑人高潮完整版| 成人永久免费视频| 精品三级在线看| 日韩黄色免费网站| 国产麻豆日韩欧美久久| 91精品国产一区二区| 一区二区三区中文字幕电影| 成人福利视频在线| 久久久久九九视频| 久久99国产精品久久99| 91精品欧美综合在线观看最新| 亚洲在线中文字幕| 色婷婷综合中文久久一本| 亚洲国产成人私人影院tom | 成人精品免费看| 国产亚洲成年网址在线观看| 一区二区三区四区中文字幕| 成人黄色电影在线| 国产精品情趣视频| 国产mv日韩mv欧美| 久久久久久久综合色一本| 韩国欧美国产1区| 欧美第一区第二区| 亚洲欧美色一区| 91色porny| 亚洲一区在线观看免费| 欧美日韩在线播放三区| 亚洲va中文字幕| 岛国av在线一区| 久久精品一区二区| 国产a级毛片一区| 欧美国产1区2区| 99r国产精品| 伊人开心综合网| 在线播放欧美女士性生活| 日韩综合小视频| 日韩视频一区二区| 国产一区二区不卡老阿姨| 久久久久久一级片| 成人毛片在线观看| 亚洲精品欧美二区三区中文字幕| 在线观看成人小视频| 亚洲午夜av在线| 91精品福利在线一区二区三区| 日本中文字幕一区| 久久精品日韩一区二区三区| 99久久国产免费看| 亚洲午夜久久久久中文字幕久| 欧美精品色一区二区三区| 麻豆视频观看网址久久| 国产欧美日韩不卡| 91福利视频在线| 毛片基地黄久久久久久天堂| 亚洲国产精华液网站w| 欧美日韩一区中文字幕| 紧缚捆绑精品一区二区|