国产精品久久人妻互换毛片,国产av国片偷人妻麻豆,国产精品第12页,国产高清自产拍av在线,潮喷大喷水系列无码久久精品

技術(shù)頻道

數(shù)控銑床Internet遠(yuǎn)程控制的一種實(shí)現(xiàn)

  因特網(wǎng)的分布廣泛使得建設(shè)基于因特網(wǎng)的遠(yuǎn)程控制系統(tǒng)成為一種可能?;谝蛱鼐W(wǎng)的遠(yuǎn)程控制的特點(diǎn)有以下幾點(diǎn):

  ·傳輸通道是因特網(wǎng)。使用的協(xié)議是tcp/ip協(xié)議。因此, 對(duì)于采用因特網(wǎng)技術(shù)開發(fā)出來的遠(yuǎn)程控制技術(shù),可以在采用tcp/ip協(xié)議的網(wǎng)絡(luò)上使用, 一般不需要修改。

  ·系統(tǒng)開發(fā)周期短、充分利用了現(xiàn)有的網(wǎng)絡(luò)資源; 維護(hù)費(fèi)用小。

  ·具有很高的靈活性, 實(shí)現(xiàn)了真正的無處不在的遠(yuǎn)程控制。

  ·基于因特網(wǎng)的遠(yuǎn)程控制技術(shù)是不斷發(fā)展的技術(shù)。隨著因特網(wǎng)技術(shù)的發(fā)展, 基于因特網(wǎng)的遠(yuǎn)程控制技術(shù)也在不斷的發(fā)展。

  ·存在不確定的時(shí)延問題。由于網(wǎng)絡(luò)有限帶寬和不確定路由造成的大且變化的網(wǎng)絡(luò)時(shí)延, 網(wǎng)絡(luò)阻塞也可能造成的數(shù)據(jù)包丟失。

  目前, 基于因特網(wǎng)的機(jī)器人控制系統(tǒng)普遍都采用了客戶/服務(wù)器(c/s)網(wǎng)絡(luò)模型, 通過網(wǎng)絡(luò)發(fā)出控制命令。

  遠(yuǎn)程控制的實(shí)現(xiàn)方法

  ·建立遠(yuǎn)程控制的構(gòu)架, 使的在任何一臺(tái)連接到因特網(wǎng)的電腦上都可以通過瀏覽器控制異地?cái)?shù)控銑床的工作狀態(tài)。

  ·為了實(shí)現(xiàn)以上功能, 首先得建立一個(gè)本地控制函數(shù), 此函數(shù)功能以動(dòng)態(tài)鏈接庫(kù)形式表現(xiàn)出來。其次,以網(wǎng)頁(yè)的形式設(shè)計(jì)一個(gè)控制銑床的頁(yè)面。設(shè)計(jì)一個(gè)服務(wù)器上運(yùn)行的servlet, 通過動(dòng)態(tài)鏈接庫(kù)調(diào)用本地函數(shù),把遠(yuǎn)程控制的命令轉(zhuǎn)化為控制指令。

  筆者用jbuilder建立servlet,接受網(wǎng)頁(yè)信息和調(diào)用類函數(shù);建立一個(gè)本地函數(shù)。用frontpage設(shè)計(jì)網(wǎng)頁(yè)。用c++builder編寫一個(gè)本地函數(shù)的動(dòng)態(tài)鏈接庫(kù)dll,它能快速調(diào)用advantech驅(qū)動(dòng)軟件包,實(shí)現(xiàn)對(duì)底層數(shù)字量i/o卡的控制。

  系統(tǒng)總體設(shè)計(jì)

  基于internet的數(shù)控銑床的遠(yuǎn)程控制系統(tǒng)的結(jié)構(gòu)如圖1所示。這是一個(gè)典型的三層b/s結(jié)構(gòu)。

  第一層是前臺(tái)即瀏覽器。用戶通過瀏覽器訪問該系統(tǒng)而無需安裝任何軟件。 用戶在網(wǎng)頁(yè)上輸入控制銑床的運(yùn)動(dòng)信息比如:

  x軸、y軸、z軸三方向的進(jìn)給、停止, 主軸的轉(zhuǎn)動(dòng)以及停止。

  第二層servlet是運(yùn)行在jbuilder自帶的服務(wù)器tomcat4.0上的小程序。servlet負(fù)責(zé)調(diào)用本地函數(shù),并把瀏覽器傳送的信息轉(zhuǎn)化成本地函數(shù)指令。

  第三層是數(shù)控銑床的本地控制系統(tǒng)。本地控制系統(tǒng)執(zhí)行本地函數(shù)的發(fā)出的命令, 并將自己的狀態(tài)返回給本地函數(shù),本地函數(shù)把這些狀態(tài)信息傳遞給servlet。本系統(tǒng)中由bordland c++builder 進(jìn)行遠(yuǎn)程控制,建立了一個(gè)dll動(dòng)態(tài)的鏈接庫(kù),調(diào)用本地函數(shù)。本地函數(shù)是jbuilder建立的類函數(shù), 此函數(shù)的功能由dll實(shí)現(xiàn)。

  數(shù)控教學(xué)銑床的工作臺(tái)是由步進(jìn)電機(jī)實(shí)現(xiàn)控制的。采用信號(hào)發(fā)生器發(fā)出的給定脈沖(cp)控制步進(jìn)電機(jī)的旋轉(zhuǎn)步數(shù),dir的高低電平來控制電機(jī)的正反轉(zhuǎn)。

  可以改變脈沖頻率來調(diào)節(jié)銑床進(jìn)給的快慢。

  軟件的設(shè)計(jì)

  c++builder撰寫動(dòng)態(tài)鏈結(jié)函式庫(kù)dll建立dll專案的方式和一般應(yīng)用程式大致相同。使用dll有兩種方式:明確呼叫和不明確呼叫。

  不明確呼叫即靜態(tài)調(diào)用法。該方法是利用鏈結(jié)一個(gè)記載輸入函式的函式庫(kù)檔案(lib), 來進(jìn)行鏈結(jié), 如此系統(tǒng)會(huì)自動(dòng)將該dll載入,同時(shí)在使用完畢后將其釋放, 不必由使用者(也就是呼叫它的函式)來進(jìn)行載入及釋放的動(dòng)作。所謂明確呼叫(explicited linked)是使用loadlibrary函式來載入dll。使用freelibrary函式來釋放dll。使用明確呼叫的優(yōu)點(diǎn)在于,可以完全控制該dll的載入及釋放, 最有效地利用系統(tǒng)資源。在本系統(tǒng)中我們采用此種方式:

  static{system.loadlibrary(“project9”);} //調(diào)用系統(tǒng)加載庫(kù)

  java與 c++的連接方法

  jbuilder是java的開發(fā)工具,而c++builder是c的開發(fā)工具。java連接c++的方法是,先將c++語言所編寫的程序構(gòu)造成動(dòng)態(tài)鏈接函數(shù)庫(kù)(dll), 再由java程序調(diào)用 dll庫(kù)中的函數(shù),使得dll庫(kù)中函數(shù)被java看作是“方法”(method)。dll我們?cè)谇懊嬉呀?jīng)介紹過。不過這種方法是直接用其他編程語言所提供,而不是java所編寫, 所以將其方法稱為“原生方法”(native method)。我們采用的是jni方法來進(jìn)行兩者之間的接口。

  javasoft公司提出了jni的標(biāo)準(zhǔn)接口。它使運(yùn)行于java虛擬機(jī)上的java代碼與用其他語言編寫的庫(kù)和應(yīng)用程序能夠相互調(diào)用。jni允許本地方法建立、使用和更新java對(duì)象,調(diào)用java方法和引用java類。也允許java代碼調(diào)用c、c++、assembly等語言編成的程序和庫(kù)。

  實(shí)現(xiàn)步驟

  開發(fā)環(huán)境: 操作系統(tǒng)為 windows2000平臺(tái)java applet的開發(fā)工具為borland jbuilder8,本地方法的開發(fā)工具為bordland c++builder 6。

  jni—java native interface specification(java本地接口規(guī)范)jni是一種編程接口,下面將按步驟介紹使用jni的方法。

  ·ava類中要用本地代碼實(shí)現(xiàn)的方法用native修飾, 構(gòu)造類初始化器裝入實(shí)現(xiàn)本地方法的庫(kù)。

  ·譯 java類, 并用javah工具生成 c++語言頭文件, jsvah為jdki1.2帶的一個(gè)工具。

  ·編寫本地代碼并編譯成project5.dll,放入winnt的system32目錄下, 以使java vm能找到這個(gè)庫(kù)。

  servlet rvlet為服務(wù)器端的java的小程序,與運(yùn)行在客戶端的applet程序相對(duì)應(yīng),他們都是運(yùn)用java語言編寫的程序。servlet沒有main方法,只有一些特定的方法用于啟動(dòng), 執(zhí)行, 和退出。它可以與運(yùn)行在客戶端的applet程序進(jìn)行交互,也可以直接與客戶端的html頁(yè)面交互。servlet是對(duì)支持java的服務(wù)器的一般擴(kuò)充,最常見的用途是擴(kuò)展web服務(wù)器,提供非常安全的、可移植的、易于使用的cgi替代品。servlet完全運(yùn)行在java虛擬機(jī)上,由于在服務(wù)器端運(yùn)行, 因此它不依賴于瀏覽器的兼容性。

  在《form》標(biāo)記中調(diào)用servlet。html格式使用戶能在 web頁(yè)面(即從瀏覽器)上輸入數(shù)據(jù), 并向 servlet提交數(shù)據(jù)。遠(yuǎn)程控制頁(yè)面如圖2所示。

  結(jié)束語

  以有代表性的數(shù)控銑床控制機(jī)構(gòu)為研究對(duì)象,從理論和實(shí)現(xiàn)方法上對(duì)基于因特網(wǎng)的遠(yuǎn)程控制系統(tǒng)進(jìn)行了研究。運(yùn)用c++builder、jbuilder實(shí)現(xiàn)了跨平臺(tái)的操作,最終完成數(shù)控教學(xué)銑床的遠(yuǎn)程控制。

文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。