久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

網絡編程實驗報告

時間:2019-05-14 07:42:24下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《網絡編程實驗報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《網絡編程實驗報告》。

第一篇:網絡編程實驗報告

實驗一 TCP Socket API程序設計

一、預備知識

1.網絡編程基本概念

網絡上的計算機間的通訊,實質上是網絡中不同主機上的程序之間的通訊。在互聯網中使用IP地址來標識不同的主機,在網絡協議中使用端口號來標識主機上不同進程,即使用(IP地址,端口號)二元組。

套接字(Socket)用于描述IP地址和端口,是一個通信鏈的句柄,通信時一個網絡程序將要傳輸的一段信息寫入它所在主機的Socket中,該Socket通過與網絡接口卡相連的傳輸介質將這段信息發送到另一臺主機的Socket中,以供其他程序使用。

圖1-1 TCP通信流程 2.TCP通信流程

TCP程序是面向連接的,程序運行后,服務器一直處于監聽狀態,客戶端與服務器通信之前必須首先發起連接請求,由服務器接收請求并在雙方之間建立連接后才可以互相通信。

二、實驗目的

1.了解Winsock API編程原理; 2.掌握TCP Socket程序的編寫; 3.了解C/S模式的特點; 4.學會解決實驗中遇到的問題。

三、實驗任務

使用Winsock API相關類實現TCP Socket通信程序,并能成功運行。

四、實驗環境及工具

1.Windows2000/XP/7 2.Visual C++開發平臺 3.Visual Studio2010

五、實驗內容和步驟

參照《Visual C++網絡編程教程》書中81頁,TCP Socket API程序設計。連接:

void CChatClientDlg::OnConnect(){

WSADATA wsd;

//WSADATA結構

WSAStartup(MAKEWORD(2,2),&wsd);

//加載協議,使用Winsock 2.2版

m_client = socket(AF_INET,SOCK_STREAM,0);//創建流式套接字

//服務器地址

sockaddr_in serveraddr;

UpdateData();

if(ServerIP.IsBlank())

{

AfxMessageBox(“請指定服務器IP!”);

return;

}

if(sPort.IsEmpty())

{

AfxMessageBox(“請指定端口!”);

return;

}

//獲取服務器進程的IP和端口

BYTE nFild[4];

CString sIP;

ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);

sIP.Format(“%d.%d.%d.%d”,nFild[0],nFild[1],nFild[2],nFild[3]);

//設置服務器地址結構的內容

serveraddr.sin_family = AF_INET;

serveraddr.sin_addr.S_un.S_addr = inet_addr(sIP);

serveraddr.sin_port = htons(atoi(sPort));

//發起連接須指明要訪問的服務器進程地址,這個地址存儲在serveraddr中

if(connect(m_client,(sockaddr*)&serveraddr,sizeof(serveraddr))!= 0)

{

MessageBox(“連接失敗”);

return;

}

else

{

m_ListWords.AddString(“連接服務器成功!”);

m_ListWords.SetTopIndex(m_ListWords.GetCount()1);

ServerIP.EnableWindow();

ServerPort.EnableWindow();

m_ButtonConnect.EnableWindow();

m_ButtonDisconnect.EnableWindow(false);

m_EditWords.EnableWindow(false);

m_ButtonSend.EnableWindow(false);

m_ButtonExit.EnableWindow();}

“發送”按鈕事件過程代碼如下:

void CChatClientDlg::OnSend(){

//向服務器發送信息

UpdateData();

if(m_sWords.IsEmpty())

{

AfxMessageBox(“發送的消息不能為空!”);

return;

}

//開始發送數據

int i = send(m_client,m_sWords.GetBuffer(0),m_sWords.GetLength(),0);

m_ListWords.AddString(“發送:” + m_sWords);

m_ListWords.SetTopIndex(m_ListWords.GetCount()1);

closesocket(m_client);

ServerIP.EnableWindow();

ServerPort.EnableWindow();

m_ButtonConnect.EnableWindow();

m_ButtonDisconnect.EnableWindow(false);

m_EditWords.EnableWindow(false);

m_ButtonSend.EnableWindow(false);

m_ButtonExit.EnableWindow();} “清空”按鈕的事件過程: m_ListWords.ResetContent();“關于”按鈕的事件過程: CAboutDlg dlgAbout;dlgAbout.DoModal();

服務器端: 開始監聽代碼:

void CChatServerDlg::OnListen(){

WSADATA wsd;

//WSADATA結構

WSAStartup(MAKEWORD(2,2),&wsd);

//加載協議棧,使用Winsock 2.2版

m_server = socket(AF_INET,SOCK_STREAM,0);//創建流式套接字

//將網絡中的事件關聯到窗口的消息函數中,定義消息號為20000,偵測客戶端的連接請求

WSAAsyncSelect(m_server,m_hWnd,20000,FD_ACCEPT);

m_client = 0;

BYTE nFild[4];

CString sIP;

UpdateData();

if(ServerIP.IsBlank())

{

AfxMessageBox(“請設置IP地址!”);

return;

}

if(sPort.IsEmpty())

{

AfxMessageBox(“請設置監聽端口!”);

return;

}

ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);

sIP.Format(“%d.%d.%d.%d”,nFild[0],nFild[1],nFild[2],nFild[3]);

//服務器地址

sockaddr_in serveraddr;

serveraddr.sin_family = AF_INET;

serveraddr.sin_addr.S_un.S_addr = inet_addr(sIP);

serveraddr.sin_port = htons(atoi(sPort));

//綁定地址

if(bind(m_server,(sockaddr*)&serveraddr,sizeof(serveraddr)))

{

MessageBox(“綁定地址失敗.”);

return;

}

//監聽開始,服務器等待連接請求的到來

listen(m_server,5);

m_ListWords.AddString(“監聽開始:”);

m_ListWords.AddString(“地址” + sIP + “ 端口” + sPort);

m_ListWords.AddString(“等待客戶端連接??”);

//界面完善

m_ListWords.SetTopIndex(m_ListWords.GetCount()-1);

ServerIP.EnableWindow(false);

ServerPort.EnableWindow(false);

m_ButtonListen.EnableWindow(false);

m_ButtonStopListen.EnableWindow();

m_ButtonClear.EnableWindow();

m_ButtonExit.EnableWindow(false);} “停止監聽”按鈕事件過程代碼如下: void CChatServerDlg::OnStopListen(){

//停止監聽

closesocket(m_server);

m_ListWords.AddString(“停止監聽”);

m_ListWords.SetTopIndex(m_ListWords.GetCount()1);} “斷開”按鈕事件過程代碼如下: void CChatServerDlg::OnDisconnect(){

closesocket(m_client);

m_ListWords.AddString(“與客戶端斷開”);

m_ListWords.SetTopIndex(m_ListWords.GetCount()1);

//界面完善

m_ButtonDisconnect.EnableWindow();

m_EditWords.EnableWindow();

m_ButtonSend.EnableWindow();} ReceiveData()函數代碼如下:

void CChatServerDlg::ReceiveData(){

//接收客戶端的數據

char buffer[1024];

int num = recv(m_client,buffer,1024,0);

buffer[num] = 0;

CString sTemp;

sTemp.Format(“收到:%s”,buffer);

m_ListWords.AddString(sTemp);//顯示信息

m_ListWords.SetTopIndex(m_ListWords.GetCount()1);

closesocket(m_client);//關閉與客戶端通信的Socket

WSAAsyncSelect(m_server,m_hWnd,20000,FD_ACCEPT);//準備接收新的客戶端連接

//界面完善

m_ButtonDisconnect.EnableWindow(false);

m_EditWords.EnableWindow(false);

m_ButtonSend.EnableWindow(false);} 服務器的初始化代碼如下: //界面初始化

m_ButtonStopListen.EnableWindow(false);m_ButtonDisconnect.EnableWindow(false);m_ButtonClear.EnableWindow(false);m_EditWords.EnableWindow(false);m_ButtonSend.EnableWindow(false);

運行結果:

六、思考題

1.用Winsock API編程時,主要進行哪些通行的操作步驟? 2.闡述C/S模式的通信過程。答:

1.通行的操作

1.Winsock的打開(WSAStartup())。2.建立套接字(socket()或WSASocket())。3.地址綁定(bind())。

4.服務器監聽連接(listen())。

5.客戶端提出連接申請(connect()或WSAConnect())。6.服務器接收客戶端的連接請求(accept()或WSAAccept())。7.數據的發送(send()或WSASend(),sendto()或WSASendTo())。8.數據的接收(recv()或WSARecv(),recvfrom()或WSARecvfrom())。9.關閉套接字(closesocket())。10.關閉Winsock(WSACleanup())。

2通信過程

第二篇:嵌入式串口和網絡編程實驗報告

嵌入式實驗報告

題目:linux

串口和網絡編程

一、實驗目的:

1、強化本學期所學的相關的內容。

2、掌握串口相關設置。

3、強化基于TCP網絡傳輸的三次握手。

4、自學Linux線程的使用。

二、實驗內容:

本試驗基于server和client的透明傳輸來實現類似于QQ的聊天功能。

三、實驗過程:

1、linux開發環境的建立

2、嵌入式linux系統的搭建

1>BootLoader的移植

2>linux系統的裁剪與移植 Linux內核裁剪

./make_image生成自己的uImage2638

上電驗證:

3>根文件系統的移植 修改hostname為:whmtt

./mkcramfsdisk_new 生成rootfs_new.cramfs

大小從老師給的40000到37b00(因為有的沒有用到,大小變小了):

上電驗證:

3、客服端編程client.c 相關代碼: #include #include #include #include #include #include #include #include

#define SERVER_PORT 20000 //設置服務端口

#define CLIENT_PORT((20001+rand())%65536)//設置客戶端端口(隨機)#define BUFFER_SIZE 256 #define LENGTH_OF_LISTEN_QUEUE 10 //可竊聽隊列長為10 #define WELCOME_MESSAGE “welcome to connect the server.”

void usage(char* name){ printf(“usage: %s IpAddrn ” ,name);}

struct sockaddr_in servaddr,cliaddr;int servfd,clifd,length=0;struct sockaddr_in servaddr,cliaddr;socklen_t socklen=sizeof(servaddr);char buf[BUFFER_SIZE],buf2[BUFFER_SIZE];pthread_t tidp,tidp2;int pth;int runflag=0;

void *Thread1(void *arg)/*等待runflag為1,當為1時清空buf,同時接收來自server的數據并輸出。

但當沒有清空,則break.*/ { while(runflag){

memset(buf,0,BUFFER_SIZE);

length=recv(clifd,buf,BUFFER_SIZE,0);

if(strstr(buf,“$”)>0){runflag=0;printf(“stop!n”);break;}

if(length>0)printf(“from server:%s”,buf);

} }

void *Thread2(void *arg)/*等待發送數據給Server*/ { printf(“Please input your words to Server:--$ to stopn”);while(runflag){

memset(buf2,0,BUFFER_SIZE);

scanf(“%s”,buf2);

send(clifd,buf2,strlen(buf2),0);

if(strstr(buf2,“$”)>0){runflag=0;printf(“stop!n”);break;}

} }

int main(int argc, char** argv){ if(argc < 2){

usage(argv[0]);

exit(1);} if((clifd = socket(AF_INET,SOCK_STREAM,0))< 0)//用tcp定義socket {

printf(“ create socket error!n ”);

exit(1);}

srand(time(NULL));// initialize random generator

bzero(& cliaddr, sizeof(cliaddr));cliaddr.sin_family = AF_INET;cliaddr.sin_port = htons(CLIENT_PORT);cliaddr.sin_addr.s_addr = htons(INADDR_ANY);

if(bind(clifd,(struct sockaddr*)&cliaddr,sizeof(cliaddr))< 0){

printf(“bind to port %d failure!n ” ,CLIENT_PORT);

exit(1);}//綁定的目的是讓其端口是隨機的,否則端口是自增1 //一般情況下client端不用綁定

bzero(&servaddr, sizeof(servaddr));

servaddr.sin_family = AF_INET;inet_aton(argv[1], &servaddr.sin_addr);servaddr.sin_port = htons(SERVER_PORT);

if(connect(clifd,(struct sockaddr *)&servaddr, socklen)< 0){

printf(“can't connect to %s!n”, argv[1]);

exit(1);}

runflag=1;

pth=pthread_create(&tidp,NULL,Thread1,NULL);

if(pth!=0){printf(“error!”);return-1;}

pth=pthread_create(&tidp2,NULL,Thread2,NULL);

if(pth!=0){printf(“error!”);return-1;}

pthread_detach(tidp);

pthread_detach(tidp2);

while(runflag){;}

close(clifd);

return 0;}

4、服務端server.c編寫

相關代碼: #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

#define COM0 0 #define BLOCK_MODE 1 #define NONBLK_MODE 0 #define SERVER_PORT 20000 #define LENGTH_OF_LISTEN_QUEUE 10 #define QUEUE 20 #define BUFFER_SIZE 256 #define WELCOME_MESSAGE “welcome to connect the server.”

static struct termios g_newtio,g_oldtio;

static int speed_arr[] = { B115200, B57600, B38400, B19200, B9600, B4800, B2400, B1200, B300, B115200, B57600, B38400, B19200, B9600, B4800, B2400, B1200, B300, };

static int name_arr[] = { 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200, 300, 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200, 300, };

int Init_COM(int Comm,int Baudrate,int Parity,int Stopbit,int Flagblock){ int ret,i;char dev_buf[16];

if(Comm > 3){

printf(“Com%d not existn”,Comm);

return-1;}

memset(dev_buf,0x00,sizeof(dev_buf));sprintf(dev_buf,“/dev/ttyS%d”,Comm);

if(Flagblock){

ret = open(dev_buf, O_RDWR | O_NOCTTY);//以默認阻塞方式打開

} else {

ret = open(dev_buf, O_RDWR | O_NOCTTY | O_NONBLOCK);//以非阻塞方式打開

}

if(ret < 0){

printf(“Open ttyS%d failedn”,Comm);

return-1;

}

if(tcgetattr(ret, &g_oldtio)< 0)//保存原先的端口

{

printf(“Get Com Parameter Error.n”);

return-1;}

for(i= 0;i < sizeof(speed_arr)/ sizeof(int);i++){

if(Baudrate == name_arr[i])

{

cfsetispeed(&g_newtio,speed_arr[i]);/*設置輸入輸出波特率*/

cfsetospeed(&g_newtio,speed_arr[i]);

break;

} }

if(i>=sizeof(speed_arr)/ sizeof(int)){

printf(“Unsupported Speed!n”);

return-1;}

switch(Parity){

case 'n':

case 'N':

g_newtio.c_cflag &= ~PARODD;

g_newtio.c_cflag &= ~PARENB;

break;

case 'o':

case 'O':

g_newtio.c_cflag |= PARENB;

g_newtio.c_cflag |= PARODD;//奇校驗

break;

case 'e':

case 'E':

g_newtio.c_cflag |= PARENB;//偶校驗

g_newtio.c_cflag &= ~PARODD;

break;

default:

printf(“Unsupported Parityn”);

return-1;}

switch(Stopbit)//設置停止校驗位是為2,否為1.{

case 1:

g_newtio.c_cflag &= ~CSTOPB;

break;

case 2:

g_newtio.c_cflag |= CSTOPB;

break;

default:

printf(“Unsupported Stopbit!n”);

return-1;} g_newtio.c_iflag = 0;g_newtio.c_oflag = 0;g_newtio.c_lflag = 0;

g_newtio.c_cc[VTIME] = 1;//最大等待時間為1*100ms g_newtio.c_cc[VMIN] = 1;//最小讀數為1

g_newtio.c_iflag &= ~INPCK;g_newtio.c_cflag &= ~CRTSCTS;g_newtio.c_cflag &= ~CSIZE;//設置數據位

g_newtio.c_cflag |= CS8;// g_newtio.c_cflag |= CLOCAL;g_newtio.c_cflag |= CREAD;

if(tcsetattr(ret, TCSANOW, &g_newtio)!= 0)//激活設置

{

printf(“Set Com Parameter Error!n”);

return-1;}

tcflush(ret, TCIOFLUSH);//刷新輸入輸出緩存

return ret;}

//以上為套接字的相關定義

//一下類似與client一樣設置數據接收和發送。

void RestoreComConfiguration(int fd,struct termios *ptios){ if(tcsetattr(fd, TCSANOW, ptios)!= 0){

printf(“Restore Com Parameter Error!n”);} }

int fd;char buf[1024],buf2[1024];int servfd,clifd;

struct sockaddr_in servaddr,cliaddr;int runflag=0;

void *Thread1(void *arg){ printf(“Please input your words to Server:--$ to stopn”);while(runflag){

memset(buf,0,BUFFER_SIZE);

read(fd,buf,1024);

send(clifd,buf,strlen(buf),0);

if(strstr(buf,“$”)>0){runflag=0;printf(“stop!n”);break;}

} }

void *Thread2(void *arg){ int length=0;while(runflag){char stdstr[1024]=“from client:”;

memset(buf2,0,BUFFER_SIZE);

length=recv(clifd,buf2,1024,0);if(length>0){

strcat(stdstr,buf2);strcat(stdstr,“n”);

if(strstr(buf2,“$”)>0)

{runflag=0;printf(“stop!n”);break;}

write(fd,stdstr,strlen(stdstr));

}

}

} void socket_init(void){ if((servfd=socket(AF_INET,SOCK_STREAM,0))<0){printf(“create socket error!n”);exit(1);} bzero(&servaddr,sizeof(servaddr));servaddr.sin_family=AF_INET;servaddr.sin_port=htons(SERVER_PORT);servaddr.sin_addr.s_addr=htons(INADDR_ANY);if(bind(servfd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0){printf(“bind to port %d failure!n”,SERVER_PORT);exit(1);} if(listen(servfd,QUEUE)<0){printf(“call listen failure!n”);exit(1);} socklen_t length=sizeof(cliaddr);clifd=accept(servfd,(struct sockaddr*)&cliaddr,&length);if(clifd<0){ printf(“error comes when call accept!n”);exit(1);} } int main(int argc,char *argv[]){ fd = Init_COM(COM0,115200,'N',1,BLOCK_MODE);socket_init();pthread_t tidp,tidp2;int pth;if(fd >= 0)RestoreComConfiguration(fd,&g_oldtio);

runflag=1;

pth=pthread_create(&tidp,NULL,Thread1,NULL);

if(pth!=0){printf(“error!”);return-1;}

pth=pthread_create(&tidp2,NULL,Thread2,NULL);

if(pth!=0){printf(“error!”);return-1;}

pthread_detach(tidp);

pthread_detach(tidp2);

while(runflag){;}

close(clifd);close(fd);close(servfd);//全部關閉

return 0;} 編譯結果:

5、nfs掛載

四、實驗結果:

五、心得體會:

第三篇:《網絡高級編程》實驗報告要求

一、實驗報告為紙質報告,手寫,不少于8頁紙。

二、報告首頁為標準實驗報告封面,有課程名稱、實驗名稱、姓名、時間

三、報告內容為:1、2、3、4、實驗目的 實驗題目 實驗過程步驟,詳細說明實驗編程的過程 實驗程序的主要代碼和注釋說明(不需要完整的程

序!)。

5、6、實驗中遇到的問題,怎么解決的。實驗心得

四、報告的得分主要根據3、4、5五、三份實驗報告裝訂在一起

六、班長將報告收齊,按照班級序號排好,交給實驗老師。

第四篇:數控編程仿真實驗報告

目錄

一、實驗目的-----------3

二、實驗要求-----------3

三、數控車床實驗一-----3(1)、實驗內容(2)、實驗零件圖樣(3)、車削加工程序

(4)、FANUC 0i系統仿真軟件面板操作過程

四、數控車床實驗二-----6(1)、實驗內容(2)、實驗零件圖樣(3)、車削加工程序

(4)、FANUC 0i系統仿真軟件面板操作過程

五、數控銑床實驗一-----10(1)、實驗內容(2)、實驗零件圖樣(3)、銑削加工程序

(4)、FANUC 0i系統仿真軟件面板操作過程

六、數控銑床實驗二-----14(1)、實驗內容(2)、實驗零件圖樣(3)、銑削加工程序

(4)、FANUC 0i系統仿真軟件面板操作過程

一、實驗目的

“數控機床加工程序編制”(簡稱數控編程)課程,是機械和機電等各類專業本、專科教學計劃中開設的一門應用性和實踐性很強的專業課程。學好本課程,不僅要掌握數控編程的基本理論知識和編程方法,更重要的是要通過一定的實踐教學,在實踐教學中運用所掌握的機械加工工藝知識、數控編程的理論知識、數控編程的方法編制零件加工程序,并完成對零件的數控加工。采用仿真軟件在計算機上進行模擬加工,是完成這一實踐教學的有效手段。因此,在各專業本、專科“數控編程”課程的教學計劃中均設有“仿真實驗”這一實踐教學環節。其實驗的目的是:

1.熟悉并學會運用計算機仿真技術,模擬數控車床、數控銑床完成零件加工的全過程;

2.為后續的“數控編程實訓”,實地操作數控機床進行數控加工,積累和打下操作技能訓練的基礎。

二、實驗要求

1.熟悉并掌握FANUC 0i系統仿真軟件面板操作過程;

2.按給定車削零件圖樣,編制加工程序,在計算機上運用仿真軟件,進行模擬加工;

3.按給定銑削零件圖樣,編制加工程序,在計算機上運用仿真軟件,進行模擬加工;

4.按實驗內容,編寫實驗報告。

三、數控車床實驗一(1)、實驗內容

如圖A所示,毛坯直徑為φ45mm,起刀點在圖示編程坐標系的P點,試運用G71,G70指令編制圖示軸類零件車削加工程序。

給定切削條件是:粗車時切深為2mm,退刀量為1mm,精車余量X方向為0.6mm(直徑值),Z方向為0.3mm,主軸轉速為S 600 r /min,進給速度為F 0.15 mm/ r;

精車時主軸轉速為S800 r /min ,進給速度為F 0.1 mm / r。[注:φ45外圓不加工](2)、實驗零件圖樣

圖A

(3)、車削加工程序 O1;N10 G50 X100.Z100.T0101;

N20 G90 G97 S600 M03;N30 G00 X51.Z3.M08;N40 G71 U2.R1.;N50 G71 P60 Q120 U0.6 W0.3 F0.15;N60 G00 X22.;N70 G01 Z-12.F0.1 S800;N80 G02 X38.Z-20.I8.;

N90 G01 Z-30.;N100 X44.Z-40.;N110 Z-55.;N120 X51.;N130 G70 P60 Q120;N140 G00 X100.Z100.T0100 M09;N150 M05;

N160 M30;

(4)、FANUC 0i系統仿真軟件面板操作過程 1.進入宇龍數控加工仿真系統3.7版,首先啟動加密鎖管理程序,然后啟動數控加工仿真系統。

2.打開菜單“機床/選擇機床?”,或單擊選擇機床圖標,系統彈出“選擇機床”對話框。選擇數控系統FANUC0i的車床,選擇標準(平床身前置刀架),按“確定”按鈕,系統即可切換到車床仿真加工界面。

3.打開菜單“零件/定義毛坯”,或單擊定義毛坯圖標,系統彈出“定義毛坯”對話框,點擊尺寸輸入框,改變毛坯尺寸為φ45×150 mm,按“確定”按鈕,保存定義的毛坯并且退出本操作。4.打開菜單“零件/放置零件”,或單擊放置零件圖標,系統彈出“選擇零件”對話框,在列表中點擊所需的零件,選中的零件信息加亮顯示,按下“安裝零件”按鈕,系統自動關閉對話框,零件將被放到機床上。

5.毛坯在放置到工作臺(三爪卡盤)后,系統將自動彈出一個小鍵盤,通過按動小鍵盤上的方向按鈕,實現零件的平移和旋轉或車床零件調頭。再按小鍵盤上的“退出”按鈕,關閉小鍵盤。6.打開菜單“機床/選擇刀具”,或單擊選擇刀具圖標,系統彈出“車刀選擇”對話框。選擇外圓加工,刀片D55°,刀柄93°,修改刀尖半徑為0,按“確認退出”按鈕,完成選刀。7.點擊機床操作面板中“緊急停止”,“啟動”操作按鈕,加載驅動,當“機床電機”和“伺服控制”指示燈亮,表示機床已被激活。在回零指示狀態下(回零模式),選擇機床操作面板上的“X軸”、“Z軸”,點擊“+”按鈕,此時X軸、Z軸將回零,當回到機床參考點時,相應操作面板上“X原點燈”、“Z原點燈”的指示燈亮。

8.點擊機床操作面板中“手動”操作按鈕,將機床切換到JOG狀態,進入“手動”方式,點擊MDI鍵盤的“POS”按鈕,LCD顯示刀架在機床坐標系中的坐標值,將刀具移近零件毛坯,準備對刀。(1).點擊“主軸正轉”按鈕,使主軸轉動,點擊“Z軸”,“-”負向移動按鈕,用刀具試切工件外圓。然后,點擊“+”正向移動按鈕,Z向退刀,將刀具退離零件毛坯。記下LCD界面上顯示的X絕對坐標 為X1=255.733mm。點擊“主軸停止”按鈕,使主軸停止轉動,點擊菜單“測量/剖面圖測量?”,點擊試切外圓時所切線段,記下測量對話框中對應線段的X值(試切外圓的直徑)為X2=44.367mm。此時,工件中心軸線X的坐標值即為X1-X2,記為X=211.366mm。

(2).同理,刀具移動在切右端面的位置,試切端面,切完后,Z向不動,沿X退刀,同時記下此時的Z坐標值,記為Z=147.483mm。(3).點擊MDI鍵盤的“OFFSET SETING”按鈕,進入參數設置畫面,點擊“坐標系”軟鍵,進入坐標系設定畫面,將通過對刀得到的坐標值(X、Z)輸入G54坐標系。

9.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕,輸入O2;G01 X100.Z100.;再點擊機床操作面板中“自動運行”,“循環啟動”操作按鈕,將刀具移動到刀具起點。

10.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕。打開菜單“機床/DNC傳送?”,在打開文件對話框中選取文件。在文件名列表框中選中文件O1,按“打開”確認。按LCD畫面軟鍵“[(操作)]”,再點擊畫面軟鍵向右,再按畫面“[READ]”對應軟鍵。在MDI鍵盤在輸入文件名O1。點擊畫面“[EXEC]”對應軟鍵,即輸入預先編輯好的車削加工程序,并在LCD顯示。

11.點擊機床操作面板中“自動運行” 操作按鈕,點擊MDI鍵盤的“CUSFOM GRAPH”按鈕,程序執行轉入檢查運行軌跡模式;再點擊機床操作面板中“循環啟動”操作按鈕,即可觀察數控程序的運行軌跡。

12.點擊MDI鍵盤的“CUSFOM GRAPH”按鈕,再點擊機床操作面板中“循環啟動”操作按鈕,即可加工零件。13.打開菜單“文件/另存項目”,系統彈出“選擇保存類型”對話框,按“確定”按鈕。系統彈出“另存為”對話框,輸入O1.mac文件名,保存在桌面,按“保存”按鈕。

四、數控車床實驗二(1)、實驗內容

如圖B所示,毛坯直徑為φ45mm,起刀點在圖示編程坐標系的P點,試運用G71,G70指令編制圖示軸類零件車削加工程序。

給定切削條件是:粗車時切深為2mm,退刀量為1mm,精車余量X 方向為0.6mm(直徑值),Z方向為0.3mm,主軸轉速為S 600 r /min,進給速度為F 0.15 mm/ r;

精車時主軸轉速為S800 r /min ,進給速度為F 0.1 mm / r。[注:φ45外圓不加工]

(2)、實驗零件圖樣

圖B

(3)、車削加工程序 O2;N10 G50 X100.Z100.T0101;N20 G90 G97 S600 M03;N30 G00 X51.Z3.M08;N40 G71 U2.R1.;N50 G71 P60 Q140 U0.6 W0.3 F0.15;N60 G00 X20.;N70 G01 Z-15.F0.1 S800;N80 G03 X30.Z-20.k-5.;N90 G01 Z-35.;N100 X34.Z-47.;N110 Z-57.;N120 G02 X44.Z-62.I5.;N130 G01 Z-78.;N140 X51.;N150 G70 P60 Q140;N160 G00 X100.Z100.T0100 M09;N170 M05;N180 M30;

(4)、FANUC 0i系統仿真軟件面板操作過程 1.進入宇龍數控加工仿真系統3.7版,首先啟動加密鎖管理程序,然后啟動數控加工仿真系統。

2.打開菜單“機床/選擇機床?”,或單擊選擇機床圖標,系統彈出“選擇機床”對話框。選擇數控系統FANUC0i的車床,選擇標準(平床身前置刀架),按“確定”按鈕,系統即可切換到車床仿真加工界面。

3.打開菜單“零件/定義毛坯”,或單擊定義毛坯圖標,系統彈出“定義毛坯”對話框,點擊尺寸輸入框,改變毛坯尺寸為φ45×150 mm,按“確定”按鈕,保存定義的毛坯并且退出本操作。4.打開菜單“零件/放置零件”,或單擊放置零件圖標,系統彈出“選擇零件”對話框,在列表中點擊所需的零件,選中的零件信息加亮顯示,按下“安裝零件”按鈕,系統自動關閉對話框,零件將被放到機床上。

5.毛坯在放置到工作臺(三爪卡盤)后,系統將自動彈出一個小鍵盤,通過按動小鍵盤上的方向按鈕,實現零件的平移和旋轉或車床零件調頭。再按小鍵盤上的“退出”按鈕,關閉小鍵盤。6.打開菜單“機床/選擇刀具”,或單擊選擇刀具圖標,系統彈出“車刀選擇”對話框。選擇外圓加工,刀片D55°,刀柄93°,修改刀尖半徑為0,按“確認退出”按鈕,完成選刀。7.點擊機床操作面板中“緊急停止”,“啟動”操作按鈕,加載驅動,當“機床電機”和“伺服控制”指示燈亮,表示機床已被激活。在回零指示狀態下(回零模式),選擇機床操作面板上的“X軸”、“Z軸”,點擊“+”按鈕,此時X軸、Z軸將回零,當回到機床參考點時,相應操作面板上“X原點燈”、“Z原點燈”的指示燈亮。

8.點擊機床操作面板中“手動”操作按鈕,將機床切換到JOG狀態,進入“手動”方式,點擊MDI鍵盤的“POS”按鈕,LCD顯示刀架在機床坐標系中的坐標值,將刀具移近零件毛坯,準備對刀。(1).點擊“主軸正轉”按鈕,使主軸轉動,點擊“Z軸”,“-”負向移動按鈕,用刀具試切工件外圓。然后,點擊“+”正向移動按鈕,Z向退刀,將刀具退離零件毛坯。記下LCD界面上顯示的X絕對坐標為X1=256.333mm。點擊“主軸停止”按鈕,使主軸停止轉動,點擊菜單“測量/剖面圖測量?”,點擊試切外圓時所切線段,記下測量對話框中對應線段的X值(試切外圓的直徑)為X2=44.967mm。此時,工件中心軸線X的坐標值即為X1-X2,記為X=211.366mm。

(2).同理,刀具移動在切右端面的位置,試切端面,切完后,Z向不動,沿X退刀,同時記下此時的Z坐標值,記為Z=147.500mm。(3).點擊MDI鍵盤的“OFFSET SETING”按鈕,進入參數設置畫面,點擊“坐標系”軟鍵,進入坐標系設定畫面,將通過對刀得到的坐標值(X、Z)輸入G54坐標系。

9.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕,輸入O3;G01 X100.Z100.;再點擊機床操作面板中“自動運行”,“循環啟動”操作按鈕,將刀具移動到刀具起點。

10.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕。打開菜單“機床/DNC傳送?”,在打開文件對話框中選取文件。在文件名列表框中選中文件O2,按“打開”確認。按LCD畫面軟鍵“[(操作)]”,再點擊畫面軟鍵向右,再按畫面“[READ]”對應軟鍵。在MDI鍵盤在輸入文件名O2。點擊畫面“[EXEC]”對應軟鍵,即輸入預先編輯好的車削加工程序,并在LCD顯示。

11.點擊機床操作面板中“自動運行” 操作按鈕,點擊MDI鍵盤的“CUSFOM GRAPH”按鈕,程序執行轉入檢查運行軌跡模式;再點擊機床操作面板中“循環啟動”操作按鈕,即可觀察數控程序的運行軌跡。

12.點擊MDI鍵盤的“CUSFOM GRAPH”按鈕,再點擊機床操作面板中“循環啟動”操作按鈕,即可加工零件。13.打開菜單“文件/另存項目”,系統彈出“選擇保存類型”對話 框,按“確定”按鈕。系統彈出“另存為”對話框,輸入O2.mac文件名,保存在桌面,按“保存”按鈕。

五、數控銑床實驗一(1)、實驗內容

如圖A所示,毛坯尺寸為140×100×50,起刀點位置在編程坐標系的(0,0,20)處,按圖示的走刀路線ABCDEFGA編制銑削加工程序。選用φ20 mm的鍵槽銑刀,F 60mm/min, S 750r/min。

(2)、實驗零件圖樣

圖A

(3)、銑削加工程序 O3;N10 G92 X0 Y0 Z20.;N20 M03 S750;N30 G90 G00 X-50.Y-50.Z0 M08;N40 G41 G01 X0 Y0 Z-3.F60 D01;N50 G01 X20.Y10.;N60 Y62.;

N70 G02 X44.Y86.I24.;N80 G01 X96.;N90 G03 X120.Y62.I24.;N100 G01 Y40.;N110 X100.Y14.;N120 X16.;N130 X0 Y0;N140 G40 Z20.M09;N150 M05;N160 M30;

D01=10.(4)、FANUC 0i系統仿真軟件面板操作過程 1.進入宇龍數控加工仿真系統3.7版,首先啟動加密鎖管理程序,然后啟動數控加工仿真系統。

2.打開菜單“機床/選擇機床?”,或單擊選擇機床圖標,系統彈出“選擇機床”對話框。選擇數控系統FANUC0i的銑床,選擇標準,按“確定”按鈕,系統即可切換到銑床仿真加工界面。3.打開菜單“零件/定義毛坯”,或單擊定義毛坯圖標,系統彈出“定義毛坯”對話框,點擊尺寸輸入框,改變毛坯尺寸為140×100×100 mm,按“確定”按鈕,保存定義的毛坯并且退出本操作。

打開菜單“零件/安裝夾具”,或單擊夾具圖標,系統彈出“選擇夾具”對話框。在“選擇零件”列表框中選擇已定義毛坯。在“選擇夾具”列表框中選擇平口鉗,按“確定”按鈕。4.打開菜單“零件/放置零件”,或單擊放置零件圖標,系統彈出“選擇零件”對話框,在列表中點擊所需的零件,選中的零件信息加亮顯示,按下“安裝零件”按鈕,系統自動關閉對話框,零件將被放到機床上。5.毛坯在放置到工作臺(三爪卡盤)后,系統將自動彈出一個小鍵盤,通過按動小鍵盤上的方向按鈕,實現零件的平移和旋轉。再按小鍵盤上的“退出”按鈕,關閉小鍵盤。6.打開菜單“機床/基準工具?”,或單擊基準工具圖標,系統彈出“基準工具”對話框。選擇φ14×75 mm的剛性芯棒基準工具,按“確定”按鈕,剛性芯棒基準工具被放到機床上。7.點擊機床操作面板中“緊急停止”,“啟動”操作按鈕,加載驅動,當“機床電機”和“伺服控制”指示燈亮,表示機床已被激活。在回零指示狀態下(回零模式),選擇機床操作面板上的“X軸”、“Y軸”、“Z軸”,點擊“+”按鈕,此時X軸、Y軸、Z軸將回零,當回到機床參考點時,相應操作面板上“X原點燈”、“Y原點燈”、“Z原點燈”的指示燈亮。

8.點擊機床操作面板中“手動”操作按鈕,將機床切換到JOG狀態,進入“手動”方式,點擊MDI鍵盤的“POS”按鈕,LCD顯示刀架在機床坐標系中的坐標值,將零件毛坯移近基準工具,準備剛性芯棒采用檢查塞尺松緊的方式對刀。

(1).利用機床操作面板上的選擇軸按鈕,單擊選擇“X軸”,再通過軸移動鍵“+”,“-”,采用點動方式移動機床,將裝有基準工具的機床主軸在X方向上移動到工件左側,借助“視圖”菜單中的動態旋轉、動態放縮、動態平移等工具,調整工作區大小到工件左側的大致位置。取正向視圖,點擊菜單“塞尺檢查/1mm”,安裝塞尺。

(2).點擊機床操作面板上“手動脈沖”按鈕,切換到手輪方式,點擊操作面板右下角的“H”拉出手輪,選中X軸,調整手輪倍率。按鼠標右鍵為主軸向X軸“-”方向運動,按鼠標左鍵為主軸向X軸“+”方向運動,如此移動芯棒,使得提示信息對話框顯示“塞尺檢查的結果:合適”。

(3).記下塞尺檢查結果為“合適”時LCD界面中顯示的X坐標值,此為基準工具中心的X坐標,記為X1=-578.000 mm;將基準工件直徑記為X2=14.000 mm,將塞尺厚度記為X3=1.000 mm,則:工件上表面左下角的X向坐標為:基準工具中心的X坐標+基準工具半徑+塞尺厚度,即:X=X1+X2/2+X3=-578+7+1=-570 mm。

(4).在不改變Z向坐標的情況下,將剛性芯棒在JOG手動方式下移動到零件的前側,同理可得到工件上表面左下角的Y坐標:Y=Y1+Y2/2+Y3=-473+7+1=-465 mm。9.打開菜單“機床/選擇刀具”,或單擊選擇刀具圖標,選擇φ20 mm的鍵槽銑刀,按“確定”按鈕。點擊機床操作面板中“手動”操作按鈕,將機床切換到JOG狀態,進入“手動”方式,為主軸裝上實際加工刀具,點擊MDI鍵盤的“POS”按鈕,LCD顯示刀架在機床坐標系中的坐標值。

利用機床操作面板上的選擇軸按鈕,單擊選擇“Z軸”,再通過軸移動鍵“+”,“-”,采用點動方式移動機床,將裝有刀具的機床主軸在Z方向上移動到工件上表面的大致位置。類似在X,Y方向對刀的方法進行塞尺檢查,得到“塞尺檢查:合適”時Z的坐標值,記為Z1=-247.000 mm。則相應刀具在工件上表面中心的Z坐標值為:Z=Z1-塞尺厚度=-247-1=-248 mm。

點擊MDI鍵盤的“OFFSET SETING”按鈕,進入參數設置畫面,輸入刀具半徑補償D01=10.000 mm ,再點擊“坐標系”軟鍵,進入坐標系設定畫面,將通過對刀得到的坐標值(X、Y、Z)輸入G54坐標系。10.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕,輸入O4;G01 X0 Y0 Z20.;再點擊機床操作面板中“自動運行”,“循環啟動”操作按鈕,將刀具移動到刀具起點。

11.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕。打開菜單“機床/DNC傳送?”,在打開文件對話框中選取文件。在文件名列表框中選中文件O3,按“打開”確認。按LCD畫面軟鍵“[(操作)]”,再點擊畫面軟鍵向右,再按畫面“[READ]”對應軟鍵。在MDI鍵盤在輸入文件名O3。點擊畫面“[EXEC]”對應軟鍵,即輸入預先編輯好的銑削加工程序,并在LCD顯示。

12.點擊機床操作面板中“自動運行” 操作按鈕,點擊MDI鍵盤的“CUSFOM GRAPH”按鈕,程序執行轉入檢查運行軌跡模式;再點擊機床操作面板中“循環啟動”操作按鈕,即可觀察數控程序的運行軌跡。

13.點擊MDI鍵盤的“CUSFOM GRAPH”按鈕,再點擊機床操作面板中“循環啟動”操作按鈕,即可加工零件。14.打開菜單“文件/另存項目”,系統彈出“選擇保存類型”對話框,按“確定”按鈕。系統彈出“另存為”對話框,輸入O3.mac文件名,保存在桌面,按“保存”按鈕。

六、數控銑床實驗二(1)、實驗內容

如圖B所示,毛坯尺寸為150×80×30,起刀點位置在編程坐標系的(0,0,20)處,按圖示的工件尺寸編制銑削加工程序并仿真。突臺高5 mm,孔深10 mm,選用φ8 mm的鍵槽銑刀,φ20mm鉆頭,F 60 mm/min, S 750r/min。

(2)、實驗零件圖樣

圖B

(3)、銑削加工程序 O4;N10 G92 X0 Y0 Z20.;N20 M03 S750 T0101;N30 G90 G00 X-50.Y-50.Z0 M08;N40 G41 G01 X0 Y-10.Z-5.F60 D01;N50 G01 Y20.;N60 X27.017 Y64.988;N70 G02 X35.521 Y70.R10.;N80 G01 X80.;N90 G02 X90.Y60.J-10.;N100 G03 X120.I15.;N110 G01 Y75.;N120 X130.;N130 G02 X140.Y65.J-10.;N140 G01 Y0;N150 X-10.;N160 G00 G40 X-50.Y-50.Z200.T0100 M09;N170 M05;N180 M00;N190 M06 T0202;N200 M03 S750;N210 G43 G00 Z5.H02;N220 G99 G81 X50.Y28.Z-10.R2.F60;N230 G98 X100.Y20.;N240 G80;

N250 G00 X-50.Y-50.;N260 G49 Z200.T0200;N270 M05;N280 M30;

D01=4.;H02=100.;

(4)、FANUC 0i系統仿真軟件面板操作過程 1.進入宇龍數控加工仿真系統3.7版,首先啟動加密鎖管理程序,然后啟動數控加工仿真系統。

2.打開菜單“機床/選擇機床?”,或單擊選擇機床圖標,系統彈出“選擇機床”對話框。選擇數控系統FANUC0i的銑床,選擇標準,按“確定”按鈕,系統即可切換到銑床仿真加工界面。3.打開菜單“零件/定義毛坯”,或單擊定義毛坯圖標,系統彈出 “定義毛坯”對話框,點擊尺寸輸入框,改變毛坯尺寸為150×80×100 mm,按“確定”按鈕,保存定義的毛坯并且退出本操作。

打開菜單“零件/安裝夾具”,或單擊夾具圖標,系統彈出“選擇夾具”對話框。在“選擇零件”列表框中選擇已定義毛坯。在“選擇夾具”列表框中選擇平口鉗,按“確定”按鈕。4.打開菜單“零件/放置零件”,或單擊放置零件圖標,系統彈出“選擇零件”對話框,在列表中點擊所需的零件,選中的零件信息加亮顯示,按下“安裝零件”按鈕,系統自動關閉對話框,零件將被放到機床上。

5.毛坯在放置到工作臺(三爪卡盤)后,系統將自動彈出一個小鍵盤,通過按動小鍵盤上的方向按鈕,實現零件的平移和旋轉。再按小鍵盤上的“退出”按鈕,關閉小鍵盤。6.打開菜單“機床/基準工具?”,或單擊基準工具圖標,系統彈出“基準工具”對話框。選擇φ14×75 mm的剛性芯棒基準工具,按“確定”按鈕,剛性芯棒基準工具被放到機床上。7.點擊機床操作面板中“緊急停止”,“啟動”操作按鈕,加載驅動,當“機床電機”和“伺服控制”指示燈亮,表示機床已被激活。在回零指示狀態下(回零模式),選擇機床操作面板上的“X軸”、“Y軸”、“Z軸”,點擊“+”按鈕,此時X軸、Y軸、Z軸將回零,當回到機床參考點時,相應操作面板上“X原點燈”、“Y原點燈”、“Z原點燈”的指示燈亮。

8.點擊機床操作面板中“手動”操作按鈕,將機床切換到JOG狀態,進入“手動”方式,點擊MDI鍵盤的“POS”按鈕,LCD顯示刀架在機床坐標系中的坐標值,將零件毛坯移近基準工具,準備剛性芯棒采用檢查塞尺松緊的方式對刀。

(1).利用機床操作面板上的選擇軸按鈕,單擊選擇“X軸”,再通過軸移動鍵“+”,“-”,采用點動方式移動機床,將裝有基準工具的機床主軸在X方向上移動到工件左側,借助“視圖”菜單中的動態旋轉、動態放縮、動態平移等工具,調整工作區大小到工件左側的大致位置。取正向視圖,點擊菜單“塞尺檢查/1mm”,安裝塞尺。

(2).點擊機床操作面板上“手動脈沖”按鈕,切換到手輪方式,點擊操作面板右下角的“H”拉出手輪,選中X軸,調整手輪倍率。按鼠標右鍵為主軸向X軸“-”方向運動,按鼠標左鍵為主軸向X軸“+”方向運動,如此移動芯棒,使得提示信息對話框顯示“塞尺檢 查的結果:合適”。

(3).記下塞尺檢查結果為“合適”時LCD界面中顯示的X坐標值,此為基準工具中心的X坐標,記為X1=-583.000 mm;將基準工件直徑記為X2=14.000 mm,將塞尺厚度記為X3=1.000 mm,則:工件上表面左下角的X向坐標為:基準工具中心的X坐標+基準工具半徑+塞尺厚度,即:X=X1+X2/2+X3=-583+7+1=-575 mm。

(4).在不改變Z向坐標的情況下,將剛性芯棒在JOG手動方式下移動到零件的前側,同理可得到工件上表面左下角的Y坐標:Y=Y1+Y2/2+Y3=-463+7+1=-455 mm。9.打開菜單“機床/選擇刀具”,或單擊選擇刀具圖標,選擇φ8 mm的鍵槽銑刀,按“確定”按鈕。點擊機床操作面板中“手動”操作按鈕,將機床切換到JOG狀態,進入“手動”方式,為主軸裝上實際加工刀具,點擊MDI鍵盤的“POS”按鈕,LCD顯示刀架在機床坐標系中的坐標值。

利用機床操作面板上的選擇軸按鈕,單擊選擇“Z軸”,再通過軸移動鍵“+”,“-”,采用點動方式移動機床,將裝有刀具的機床主軸在Z方向上移動到工件上表面的大致位置。類似在X,Y方向對刀的方法進行塞尺檢查,得到“塞尺檢查:合適”時Z的坐標值,記為Z1=-317.000 mm。則相應刀具在工件上表面中心的Z坐標值為:Z=Z1-塞尺厚度=-317-1=-318 mm。

點擊MDI鍵盤的“OFFSET SETING”按鈕,進入參數設置畫面,輸入刀具半徑補償D01=4.000 mm ,刀具長度補償H02=100.000 mm,再點擊“坐標系”軟鍵,進入坐標系設定畫面,將通過對刀得到的坐標值(X、Y、Z)輸入G54坐標系。

10.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕,輸入O5;G01 X0 Y0 Z20.;再點擊機床操作面板中“自動運行”,“循環啟動”操作按鈕,將刀具移動到刀具起點。

11.點擊機床操作面板中“編輯”操作按鈕,再點擊MDI鍵盤的“PROG”按鈕。打開菜單“機床/DNC傳送?”,在打開文件對話框中選取文件。在文件名列表框中選中文件O4,按“打開”確認。按LCD畫面軟鍵“[(操作)]”,再點擊畫面軟鍵向右,再按畫面“[READ]”對應軟鍵。在MDI鍵盤在輸入文件名O4。點擊畫面“[EXEC]”對應軟鍵,即輸入預先編輯好的銑削加工程序,并在LCD顯示。

12.點擊機床操作面板中“自動運行” 操作按鈕,點擊MDI鍵盤 的“CUSFOM GRAPH”按鈕,程序執行轉入檢查運行軌跡模式;再點擊機床操作面板中“循環啟動”操作按鈕,即可觀察數控程序的運行軌跡。

13.點擊MDI鍵盤的“CUSFOM GRAPH”按鈕,再點擊機床操作面板中“循環啟動”操作按鈕,即可加工零件。再打開菜單“機床/選擇刀具”,或單擊選擇刀具圖標,選擇φ20 mm的鉆頭,按“確定”按鈕。點擊機床操作面板中“自動運行”、“循環啟動” 操作按鈕,繼續加工零件。

14.打開菜單“文件/另存項目”,系統彈出“選擇保存類型”對話框,按“確定”按鈕。系統彈出“另存為”對話框,輸入O4.mac文件名,保存在桌面,按“保存”按鈕。

第五篇:JSP編程實驗報告

JSP編程實驗報告

學生姓名:學生班級:學生學號:指導教師:實驗n(n-實驗順序號):實驗名稱

一、實驗目的二、實驗內容及步驟

三、源代碼

四、運行界面

五、收獲和體會

下載網絡編程實驗報告word格式文檔
下載網絡編程實驗報告.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    數控加工與編程實驗報告

    數控加工與編程實訓報告 學院: 專業: 班級: 學號: 姓名: 指導老師: 一、 課程的任務和基本要求 《數控加工與變成實習》是機械設計組織及其自動化專業在專業學習過程中一次重要的......

    網絡編程實習作業

    網絡編程實習作業一. 實習內容: ? 了解插口(socket)實現原理。 ? 在某一種平臺(Linux,Unix系列或Windows系列)下進行網絡客戶機-服務器編程。 二. 主要參考書目: ? W. Richard Steve......

    網絡編程常見問題總結

    網絡編程常見問題總結 網絡編程常見問題總結 串講(一) 網絡編程常見問題總結 在網絡程序中遇到的一些問題進行了總結, 這里主要針對的是我們常用的TCP socket相關的總結,......

    網絡編程實習報告

    [實習目的] 通過理論聯系實際,鞏固所學的知識,提高處理實際問題的能力,并為自己能順利與社會環境接軌做準備。[實習任務]Linux下網絡服務器開發(基于C語言);本文總結了我對Linux......

    網絡編程實習報告

    廣東應屆生實習報告網在線編輯整理本文。[實習目的] 通過理論聯系實際,鞏固所學的知識,提高處理實際問題的能力,并為自己能順利與社會環境接軌做準備。[實習任務]Linux下網絡服......

    網絡互聯實驗報告

    網絡互聯實驗報告書 課程:網絡互聯技術 任課老師:程克非 學院:計算機班級:0430801 學號:08490121 姓名:姚樹秘 日期:2010年12月13日 實驗1 路由器的啟動及CLI的編輯命令 一、實驗......

    網絡實驗報告(五篇模版)

    實驗2-練習1 各主機打開協議分析器,進入相應的網絡結構并驗證網絡拓撲的正確性,如果通過拓撲驗證,關閉協議分析器繼續進行實驗,如果沒有通過拓撲驗證,請檢查網絡連接。本練習將......

    網絡經濟學實驗報告

    山東建筑大學 商學院·實驗報告 課程名稱: 網絡經濟學 班 級: 電商121 學生姓名: 王旺 學 號: 20120914038 成 績: 指導教師: 吳 學 霞 所屬學期: 2014 - 2015 學年第 2 學期 實驗......

主站蜘蛛池模板: 人妻丰满熟妇av无码区乱| 亚洲日韩欧洲乱码av夜夜摸| 无码日韩人妻精品久久蜜桃| 好男人日本社区www| 欧美黑人又粗又大高潮喷水| 亚洲精品一卡2卡3卡4卡乱码| 国产激情内射在线影院| 久久久久无码专区亚洲av| 亚洲男人的天堂在线播放| 九九视频免费精品视频| 中文字幕乱偷无码av先锋| 亚洲精品无码av中文字幕电影网站| 国产精品高清网站| 成人欧美一区二区三区黑人| 国产精品午夜小视频观看| 在线a毛片免费视频观看| 国产成人亚洲精品另类动态图| 国产无套乱子伦精彩是白视频| 乱色熟女综合一区二区三区| 国产日韩欧美久久久精品图片| 在线精品亚洲一区二区动态图| 无码免费无线观看在线视频| 亚洲腹肌男啪啪网站男同| 成年女人毛片免费视频| 无码伊人久久大杳蕉中文无码| 中文字幕亚洲乱码熟女在线| 亚洲精品无码人妻无码| 免费观看一区二区三区| 国产人妻人伦精品| 色五月丁香六月欧美综合| 天天躁日日摸久久久精品| 亚洲精品少妇一区二区| 四虎影视在线永久免费观看| 中文字幕 人妻熟女| 天天爽天天爽夜夜爽毛片| 刺激性视频黄页| 亚洲av无码一区二区三区乱子伦| 黑人上司粗大拔不出来电影| 国产区图片区小说区亚洲区| 日韩精品无码免费一区二区三区| 美女啪啪网站又黄又免费|