在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

基于局域網絡應用Java語言完成遠程自動選擇終端的控制

基于局域網絡應用Java語言完成遠程自動選擇終端的控制

更新時間:2022-05-01 文章作者:未知 信息來源:網絡 閱讀次數:

摘 要:在簡要介紹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的關鍵技術開展研究,充分和高效地利用這一富有特色的語言,實現對底層智能節點的控制,達到網絡監控的目的,無疑是一個非常有意義的課題。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 九色porny91| 福利视频一二区| 国产欧美高清在线| 麻豆tv在线播放| 成人免费毛片在线观看| 久操手机在线视频| 日本a级片在线观看| 免费久久久久久| 久久观看最新视频| 18视频在线观看娇喘| 在线观看污视频| 狠狠噜天天噜日日噜| 日本人体一区二区| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 你真棒插曲来救救我在线观看| 国产一级大片免费看| 日韩精品一区二区在线视频| 日韩国产小视频| 黄色片视频在线免费观看| 国产超级av在线| 久久久久久久久久一区二区| 波多野结衣网页| 成人免费在线网| 92看片淫黄大片一级| 五月天激情播播| 黄色一级大片免费| 欧美日韩黄色一级片| 亚洲一区二区三区四区五区xx| 亚洲a级黄色片| 青青青青在线视频| 精品999在线| 男人的天堂avav| 九九九在线观看视频| 一区二区三区日韩视频| 国产女大学生av| 亚洲妇熟xx妇色黄蜜桃| 黄色激情在线视频| 午夜两性免费视频| 97干在线视频| xxx国产在线观看| 国产精品日韩三级| 天天色综合天天色| 免费拍拍拍网站| 性生生活大片免费看视频| 精品国产av无码一区二区三区 | 加勒比av中文字幕| 秋霞无码一区二区| 欧美专区第二页| 成人性做爰aaa片免费看不忠| 日韩精品手机在线观看| 日日干夜夜操s8| 免费看黄色一级大片| 五十路熟女丰满大屁股| 欧美性受黑人性爽| 成人综合久久网| 香蕉视频网站入口| 粉嫩虎白女毛片人体| a天堂资源在线观看| 亚洲小说欧美另类激情| 四虎成人在线播放| 天天色天天综合网| 另类小说色综合| 牛夜精品久久久久久久| 黄色片久久久久| 国产综合免费视频| 男人亚洲天堂网| 欧美黄色免费影院| 国内外成人激情视频| 久草热视频在线观看| 分分操这里只有精品| 日韩五码在线观看| 国产玉足脚交久久欧美| 极品粉嫩国产18尤物| 五十路熟女丰满大屁股| 日韩 欧美 自拍| www.激情网| 99在线精品免费视频| 91av资源网| 免费在线观看的毛片| av亚洲天堂网| 日本一本草久p| 久久久久久久久久久99| aa免费在线观看| 午夜精品免费看| 久久久国内精品| 国产网站免费在线观看| 九热视频在线观看| 久久久国产精华液999999 | 日日噜噜噜夜夜爽爽| 黄色一级片国产| 日韩av一二三四区| 蜜臀一区二区三区精品免费视频| 最新视频 - x88av| 欧美一级视频在线播放| 男人亚洲天堂网| 超碰91在线播放| 欧美牲交a欧美牲交| 亚洲精品20p| 欧美精品久久久久久久自慰| 欧美精品无码一区二区三区| 日韩肉感妇bbwbbwbbw| 精品成在人线av无码免费看| 国产理论在线播放| 国产成a人亚洲精v品在线观看| 日本www在线播放| 青青在线免费视频| 别急慢慢来1978如如2| 黄色影视在线观看| 美女黄色片视频| 久久久久久久久久久99| 交换做爰国语对白| 亚洲五月天综合| 男人日女人bb视频| 激情五月婷婷六月| 天堂视频免费看| 成人在线激情网| 人人干视频在线| 91免费版看片| 色中文字幕在线观看| 国产区二区三区| 99久久久无码国产精品6| 中文字幕人妻熟女人妻洋洋| 一区二区三区一级片| 一区二区成人网| 黑森林福利视频导航| 2018国产在线| 免费看毛片的网址| 国产成人免费高清视频| 特级黄色片视频| 欧美一级视频在线| 男女污污视频网站| 最新av免费在线观看| 日本久久久久久久久久久久| 男人天堂999| 国产自偷自偷免费一区| 亚洲黄色a v| 亚洲美女性囗交| 欧美日韩精品区别| 久久av秘一区二区三区| 国产人妻互换一区二区| 欧美三级午夜理伦三级老人| 熟女熟妇伦久久影院毛片一区二区| 国产美女视频免费看| 在线观看免费黄网站| 伊人网在线综合| 久久久成人精品一区二区三区| 亚洲天堂网站在线| av一区二区三区免费观看| a级片一区二区| 久久精品.com| 天天操狠狠操夜夜操| 国产一级片91| 国产二区视频在线播放| 久久久国产欧美| 可以免费看的黄色网址| 欧美精品卡一卡二| 国产一级不卡毛片| 国产又大又长又粗又黄| 999在线观看视频| av免费网站观看| 男女裸体影院高潮| 欧美亚洲精品一区二区| 午夜免费看毛片| 国产中文字幕乱人伦在线观看| 国产免费一区二区三区视频| 色一情一区二区三区| 日本手机在线视频| 亚洲妇熟xx妇色黄蜜桃| 黄色一级片在线看| 99re6在线观看| 成年人免费大片| 成年人深夜视频| 天堂在线一区二区三区| 免费无遮挡无码永久视频| www.桃色.com| 成年人在线观看视频免费| 久草视频国产在线| 91网址在线观看精品| 蜜臀久久99精品久久久酒店新书| 四虎永久免费网站| 国产激情在线观看视频| 日韩中文字幕在线免费| 7777在线视频| 三级av免费看| 日韩av片专区| 国产超碰在线播放| 国产日韩一区二区在线| 免费不卡av在线| 男人日女人的bb| 精品日韩在线播放| 天天操夜夜操很很操| 性生生活大片免费看视频| 亚洲少妇久久久| 成人在线看视频| 国产精品97在线| 久久久久久香蕉| 一区二区三区韩国| 成人性生生活性生交12| 好男人www社区| 五月婷婷狠狠操|