Trong lĩnh vực điều khiển tự động của chúng ta thì máy tính lại đặc biệt quan trọng hơn nữa. Nó hoặc trực tiếp hoặc gián tiếp là những “ông chủ”, hay những “giám sát viên” trong một dây truyền tự động hoặc một quy trình sản xuất. Nhưng để làm được những điều đó PC cần phải được lập trình trước hay nói cách khác là những người biết sử dụng nó.
Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn I.1 Sơ lược PC ứng dụng PC Điều Khiển Tự Động: Vào năm 40 kỷ XX, kiện quan trọng lónh vực điện toán xảy đời máy tính chữ số chạy điện đời biết đến tên gọi “Aniac” “Aniac” tổng cộng phải dùng đến 18000 chi tiết điện điện tử, có 1500 chi tiết điện loại linh kiện khác, tổng thể tích khoảng 90 m , 30 tấn, chiếm diện tích 170 m2 Nếu đem so sánh với máy tính ngày cỗ máy khổng lồ Cũng mà vào thời điểm người ta chưa thể thấy hết tầm quan trọng việc Nhưng đến tháng 12 năm 1981, IBM công bố máy tính cá nhân họ Máy thiết kế máy tính để bàn vừa phải, dùng vi xử lý Intel 8088 Model chuẩn dược bán với giá $3000 Máy gồm 64K RAM (bộ nhớ truy cập ngẫu nhiên) mạch chính, mở rộng lên tới 256 K mạch hệ thống, 40K ROM (bộ nhớ đọc) Phần lớn ROM thiết kế để lưu chương trình hỗ trợ hệ thống gọi làhệ thống nhập/xuất bản, hay BIOS Máy PC có ổ đóa mật độ kép mặt Các ổ đóa địng dạng có khả lưu trữ 180K liệu Phần mềm hệ điều hành ban đầu cung cấp hãng Microsoft Corporation Và từ đến nay, khoảng thời gian ngắn, máy tính – PC – trở thành thiết bị quan trọng hàng đầu tất lónh vực kinh tế, sản xuất, sinh hoạt đặc biệt ngàng công nghiệp đại Trong lónh vực điều khiển tự động máy tính lại đặc biệt quan trọng Nó trực tiếp gián tiếp “ông chủ”, hay “giám sát viên” dây truyền tự động quy trình sản xuất Nhưng để làm điều PC cần phải lập trình trước hay nói cách khác người biết sử dụng SVTH: Nguyễn Quang Huy Trang : Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn Một yếu tố quan trọng hàng đẩu việc đưa PC vào dây truyền tự động ta phải “giao tiếp” với Có nghóa ta phải lập trình PC trao đổi liệu với thiết bị ngoại vi khác Để từ ta có thề dùng PC để điều khiển thiết bị ngoại vi Các thiết bị ngoại vi hay mạng NuDam, vi xử lý(uP), PLC mạng PC khác… Có nhiều phương thức để giao tiếp máy tính vói thiếi bị ghép nối bên ngoài, cách có ưu, nhược điểm khác Tùy theo mục đích, điều kiện sử dụng mà người ta sử dụng phương cách khác cho có hiệu qủa Sau ba phương thức sử dụng phổ biến Kết nối máy tính cách sử dụng card giao tiếp đïc cắm trực tiếp lên slot mainboard cùa máy tính Có nhiều loại Bus khác loại Bus có ưu điểm khác nhau, loại bus sử dụng phổ biến : ISA, PCIø, AGP, PC, MCA, EISA… Phương pháp có ưu điểm bật trao đổi liệu với dung lượng lớn, tốc độ cao Nhưng có nhược điểm can thiệp nhiều vào phẩn cứng PC dễ “nguy hiểm” linh kiện tương đố đắt tiền Một nhược điểm hệ thống vận hành ta khó can thiệp vào phần cứng Kết nối máy tính thông qua cổng song song hay cổng máy in Loại có ưu điểm qúa trình giao tiếp trao đổi liệu với tốc độ cao so sánh với phương pháp truyền nối tiếp Nhưng phương pháp có nhược điểm lớn khả trống nhiễu thấp, truyền xa đườc Kết nối máy tính thông qua cổng nối tiếp hay cổng COM Loại có nhược diểm trao đổi liệu với tốc độ không cao Nhưng lại có ưu điểm bật phương thức giao tiếp đơn giản dễ sử dụng Linh kiện lắp đặt phải dễ mua Không can thiệp nhiều vào phần cứng máy tính tháo lắp dễ dàng hệ thống hoạt động Khả chốn gnhiễu so với phng thức truyền song song cao nhiều Phương thức truyền tương đối xa Trong ba phương thức trên, phương thức giao tiếp máy tính qua cổng nối tiếp đáp ứng yêu cầu lónh vực điều khiển tự động Đó đòi hỏi phải xác, đặt hàng đầu, đơn giản lónh vực vận hành SVTH: Nguyễn Quang Huy Trang : Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn I.2 Chuẩn RS-485 đề tài giao: Trong việc giao tiếp nối tiếp hay gọi truyền thông nối tiếp có nhiều phương cách khác Được sử dụng rộng rãi chuẩn giao tiếp EIA(Electronics Industries Association) gọi tắt tên RS-232,RS-422,RS-423,RS-485…Trong chuẩn RS-485 có nhiều ưu điểm : - Chuẩn RS-485 phát triển dành cho hệ thống multi-droped, giao tiếp tốc độ cao khoảng cách dài Chuẩn RS-485 hoạt động tốc độ lên đến 10Mbps chiều dài cable 1.200m (4000feet) - RS-485 hỗ trợ đến 32 điều khiển nhận đường truyền Điều cho phép dùng ứng dụng mạng hệ thống ngang (multi-drop) Chính nhờ ưu điểm đó, RS-485 sử dụng rộng rãi nhiều dây truyền tự động khác RS-485 đề tài nghiên cứu luận văn em Như đề cập trên, RS-485 không xa lạ với tất người thuộc lónh vực “Điều Khiển Tự Động” Nhưng với ưu điểm vượt trội đề tài không cũ Có thể nói hành trang cần thiết cho kỹ sư nghành Tự Động trường Chính em trọn RS-485 làm chủ đề cho luận văn Việc ứng dụng giao tiêp máy tính với kit vi xử lý dùng chuẩn RS-485 để làm công việc minh họa muôn hình muôn vẻ Có nhiều đề tài anh chị trước làm, làm lại không tránh khỏi trùng lặp, nghiên cứu đề tài với thờ gian cho phép không dài việc mạo hiểm Việc ứng dụng làm bàn phím đa em mặt lý thuyết Nhưng với 40 phím minh họa, có nhiều phím trức đặc biệt để giao tiếp độc lập với máy tính vấn đề thực hành quan trọng Để hoàn thành tốt công việc cần phải sử dụng thành thạo lập trình vi xử lý ngôn ngữ lập trình máy tính để từ kết hợp thật tốt giũa máy tính với kit vi xử lý thông qua RS-485 II Công Việc Được Giao: Do điều kiện sản xuất xương thử bình gas ẩm ướt, ồn độ rung động lớn… để máy tính quản lý liệu SVTH: Nguyễn Quang Huy Trang : Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn xưởng lên công ty Sài Gòn Petro cần hệ thống quản lý số liệu sơn, thử bình ga Hệ thống bao gồm : _Bàn phím:Bao gồm ba bàn phím dùng để truy xuất số liệu bình ga(số sêri, tải trọng, hãng sản xuất…) đặt phân xưởng làm việc kết nối với máy tính _Máy tính đặt văn phòng quản lý số liệu cách phân xưởng quản lý khoảng 100 m Máy tính có nhiệm vụ thống kê tạo 01 biểu mẫu dạng “lý lịch bình ga” Thống kê đưa bảng biểu thông số quản lý yêu cầu Kiểm tra cảnh báo có thông số bất thường lập trình sẵn… III Chi tiết kỹ thuật thiết bị : Bàn phím có số lượng tối đa khoảng 45 phím, thị hiển thị led có led matrận dùng để hiển thị thông số nhập, led dơn dùng để hiển thị số liệu thông số nhập Các số liệu bảng kiểm tra thử bình ga gồm có thông số: • Nhóm thông số bình ga: Ngày tháng thử, sở hữu chủ, dung tiùch thử lần thứ, số sêri, năm sản xuất, noi sản xuất, khối lượng bì, chiều dày • Nhóm kiểm tra tình trạng bình đạt,không đạt: cổ, khối lượng, cắt đục đào lõm, phình , ăn mòn, chiều dày , rò rỉ, cháy • Nhóm tình trạng kiểm định loại bình : Đến hạn kiểm định, chưa đến hạn kiểm định yêu cầu sơn , loại 12kg loại 50 kg IV Mô tả hoạt động hệ thống • Nhập nhóm Thông Số Bình Gas : - Nhấn phím ngày tháng thử: Nhấn phím Date, số đầu chữ:DA Nhập ngày tháng vào liên tục số theo thứ tự ngày tháng năm: 14 08 01 - Khi phập sai số, dùng CE để xóa số nhập - Phím CHECK dùng để xem toàn lý lịch bình hữu dòng SVTH: Nguyễn Quang Huy Trang : Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn một, nhấn CHECK sau nhấn thêm phím thông số giá trị tương ứng thông số lên Nhấn CHECK lần thoát khỏi tình trạng kiểm định - Nhấn phím ENTER giá trị truyền máy tính - Nhấn phím RESET trở lại trạng thái sẵn sàng nhập giá trị • Nhập nhóm Tình Trạng Kiểm Định : - Nhấn phím rò rỉ LE [leak] thị LE - Nhấn OK đạt (hiện số 1) - Nhấn NOTOK không đạt (hiện số 0) - Các thông số khác nhập tương tự • Tính chất thị: - Khi nhập số liệu đẩy dần từ phải sang trái, phập sai nhấn phím CE để nhập lại - Đèn báo hiệu sẵn sàng nhập - Đèn báo lỗi đường truyền… - V Giải công việc: Tuy thực tế công việc đòi hỏi phải có ba bàn phím ba bàn phím mặt kỹ thuật hoàn toàn giống lên em làm bàn phím mang tính chất mô , lý làm bàn phím tốn data data PC Bàn phím data data data Khối RS-485 data data data data Bàn phím Bàn phím SVTH: Nguyễn Quang Huy Trang : Sơ đồ hệ thống Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn ground TXD RXD PC ground A Tín hieäu visai B Max-232 / RS-485 ground TXD RXD TTL / RS-485 Bàn Phím SVTH: Nguyễn Quang Huy Trang : Sơ đồ thi công Luận Văn Tốt Nghiệp Chí Nghóa SVTH: Nguyễn Quang Huy GVHD:Thầy Nguyễn Trang : Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn CHƯƠNG I: Giới thiệu số phương pháp truyền thông A GIỚI THIỆU TỔNG QUÁT VỀ MẠNG MÁY TÍNH SVTH: Nguyễn Quang Huy Trang : Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn I Tổng quát: Mạng máy tính tập hợp máy tính nối với đường truyền vật lý theo kiến trúc Và ngày mạng máy tính trở thành lónh vực nghiên cứu phát triển ngày ứng dụng rộng rãi sống Đøng truyền vật lý kiến trúc mạng: Đường truyền vật lý: Đường truyền vật lý dùng để truyền tín hiệu điện tử máy tính Các tính hiệu điện tử biểu thị giá trị liệu dạng xung nhị phân Tất tín hiệu truyền máy tính thuộc dạng sóng điện từ đó, trải từ tần số radio tới sóng cực ngắn(vi ba) tia hồng ngoại Tuỳ theo tần số sóng điện từ dùng đường truyền vật lý khác để truyền tín hiệu Các tần số radio truyền cáp điện ( dây đôi xoắn đồng trục ) phương tiện quảng bá (radio broadcasting) o Sóng cực ngắn (vi ba) thường dùng để truyền trạm mặt đất vệ tinh o Tia hồng ngoại lý tưởng nhiều loại truyền thông mạng Nó dùng để truyền hai điểm hay từ điểm đến nhiều máy thu o Khi xem xét lựa chọn đường truyền cần ý đến đặc trưng : giải thông , độ suy hao, độ nhiễm từ Kiến trúc mạng: Kiến trúc mạng máy tính thể qua cách nối máy tính với tập hợp quy tắc mà tất thực thể tham gia truyền thông mạng phải tuân theo mạng hoạt động tốt Cách kết nối máy tính gọi hình trạng(topology), quy tắc quy ước truyền thông gọi giao thức (protocol) Topology mạng : có hai kiểu nối mạng chủ yếu point-topoint quảng bá theo kiểu point-to-point, đưởng truyền nối thành cặp nút với nút có trách nhiệm lưu trữ tạm thời sau chuyển liệu đích Theo kiểu quảng bá, tất nút phân chia chung đường truyền vật lý Dữ liệu gởi từ nút tiếp nhận tất nút lại Nơi nhận kiểm tra xem địa đích gởi đến có phải hay SVTH: Nguyễn Quang Huy Trang : Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn không để tiếp tục thực việc giao tiếp hay không giao tiếp Giao thức mạng : Việc truyền tín hiệu mạng cần phải tuân theo quy tắc, quy ước nhiều mặt, từ khuôn dạng (cú pháp, ngữ nghóa) liệu tới thủ tục gởi, nhận liệu kiểm soát có hiệu chất lượng truyền tin xử lý lỗi cố Tập hợp tất quy tắc gọi giao thức (protocol) mạng Phân loại mạng máy tính: Có nhiều cách phân loại mạng khác tuỳ thuộc vào yếu tố làm tiêu phân loại mạng Nếu lấy khoảng cách làm tiêu phân loại mạng ta có loại sau: Mạng cục bộ: Là mạng cài đặt phạm vi tương đối nhỏ với khoảng cách lớn máy tính vài chục km trở lại Một mạng cục bao gồm phần cứng phần mềm Phần mềm bao gồm chương trình điều khiển hệ điều hành mạng Còn phần cứng bao gồm : o Máy chủ (File server-FS ) o Các trạm làm việc o Các thiết bị ngoại vi o Card mạng Mạng đô thị: ( Metropolian Area Networds-MAN ) mạng sử dụng (cài đặt ) phạm vi đô thị hay trung tâm kinh tế –chính trị xã hội có bán kính phạm vi khoảng 100km trở lại Mạng diện rộng: (Wide Area Networds-WAN ) Có phạm vi vượt biên giới quốc gia Mạng toàn cầu: (Global Area Networds-GAN ) phạm vi mạng trải khắp bề mặt trái đất B Giao tiếp máy tính với ngoại vi: Như ta biết, để ghép nối với máy tính ta có ba khả để trọn: i Ghép nối qua cổng máy in hay gọi cổng song song ii Ghép nối qua rãnh cắm mở rộng mạch iii Ghép nối qua cổng nối tiếp Mỗi phương pháp có ưu nhược điểm riêng lên đến tất phương pháp tồn Tùy theo kinh nghiệm , công việc khác mà ta có lưa trọn khác SVTH: Nguyễn Quang Huy Trang :10 Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn procedure TForm1.Banphim1Click(Sender: TObject); begin load.Enabled:=true; new1.Enabled:=true; end; procedure TForm1.New1Click(Sender: TObject); begin Timer1.Enabled:=true; Load.Enabled:=false; end; end unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, Menus; type TForm2 = class(TForm) Grid1: TStringGrid; MainMenu1: TMainMenu; File1: TMenuItem; New1: TMenuItem; Save1: TMenuItem; Load1: TMenuItem; N1: TMenuItem; Son1: TMenuItem; Kiemdinh1: TMenuItem; N2: TMenuItem; Exit1: TMenuItem; Help1: TMenuItem; exit2: TMenuItem; procedure Son1Click(Sender: TObject); SVTH: Nguyeãn Quang Huy Trang :146 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa procedure New1Click(Sender: TObject); procedure Kiemdinh1Click(Sender: TObject); procedure exit2Click(Sender: TObject); procedure N2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses thu, Unit3, Unit4, Unit5; {$R *.DFM} procedure TForm2.Son1Click(Sender: TObject); begin Form3.show; end; procedure TForm2.New1Click(Sender: TObject); var hoso:textFile; cot:array[1 20]of String[20]; rowNums,i,j,t:integer; s:string; begin AssignFile(hoso,'C:\My Documents\hoso.txt'); reset(hoso); rowNums:=0; Grid1.Cells[1,0]:='So Seri'; Grid1.Cells[2,0]:='ngay nhap'; Grid1.Cells[3,0]:='so huu chu'; Grid1.Cells[4,0]:='Dung tich'; Grid1.Cells[5,0]:='Thu lan thu'; Grid1.Cells[6,0]:='Nam san xuat'; SVTH: Nguyễn Quang Huy Trang :147 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa Grid1.Cells[7,0]:='Noi san xuat'; Grid1.Cells[8,0]:='Khoi luong binh'; Grid1.Cells[9,0]:='Be day'; Grid1.Cells[10,0]:='co'; Grid1.Cells[11,0]:='Khoi luong vo'; Grid1.Cells[12,0]:='Cat duc dao lom'; Grid1.Cells[13,0]:='Phi ra'; Grid1.Cells[14,0]:='an mon'; Grid1.Cells[15,0]:='Ro ri'; Grid1.Cells[16,0]:='Kiem dinh'; Grid1.Cells[17,0]:='Son'; try begin While not eof(hoso) begin readln(hoso,cot[1],cot[2],cot[3],cot[4],cot[5],cot[6], cot[7],cot[8],cot[9],cot[10],cot[11],cot[12], cot[13],cot[14],cot[15],cot[16],cot[17]) ; inc(rowNums); Grid1.RowCount:=rowNums; Grid1.Cells[0,rowNums]:=IntToStr(rownums); for i:=1 to Grid1.Cells[i,rownums]:=cot[i]; Grid1.Cells[3,rownums]:='SGPETRO'; Grid1.Cells[4,rownums]:=cot[4]+'.l'; for i:=5 to Grid1.Cells[i,rownums]:=cot[i]; Grid1.Cells[8,rownums]:=cot[8]+'.kg'; Grid1.Cells[9,rownums]:=cot[9]+'.cm'; Grid1.Cells[10,rownums]:=cot[10]+'.cm'; Grid1.Cells[11,rownums]:=cot[11]+'.kg'; for i:=12 to 15 if cot[i][1]='0' then Grid1.Cells[i,rownums]:='khong dat' else if cot[i][1]='1' then Grid1.Cells[i,rowNums]:='dat'; if cot[16][1]='1' then Grid1.Cells[16,rowNums]:='khong&kd'; if cot[16][1]='0' then SVTH: Nguyeãn Quang Huy Trang :148 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa Grid1.Cells[16,rowNums]:='phai&kd'; if cot[17][1]='1' then Grid1.Cells[17,rowNums]:='khong&son'; if cot[17][1]='0' then Grid1.Cells[17,rowNums]:='phai& son'; for j:=1 to 17 begin s:=''; for t:=1 to length(Grid1.Cells[j,rownums]) if Grid1.Cells[j,rownums][t]=' ' then s:=s+'' else if Grid1.Cells[j,rownums][t]='&' then s:=s+' ' else s:=s+ Grid1.Cells[j,rownums][t]; Grid1.Cells[j,rownums]:=' '+s; end; end; inc(rowNums); Grid1.RowCount:=rowNums; end; Grid1.FixedRows:=1; finally CloseFile(hoso); end; end; procedure TForm2.Kiemdinh1Click(Sender: TObject); begin Form4.show; end; procedure TForm2.exit2Click(Sender: TObject); begin close(); end; SVTH: Nguyeãn Quang Huy Trang :149 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa procedure TForm2.N2Click(Sender: TObject); begin form5.showmodal; end; end unit Unit3; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, Menus; type TForm3 = class(TForm) Grid1: TStringGrid; MainMenu1: TMainMenu; File1: TMenuItem; New1: TMenuItem; Save1: TMenuItem; Exit1: TMenuItem; Help1: TMenuItem; procedure New1Click(Sender: TObject); procedure Exit1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form3: TForm3; implementation {$R *.DFM} SVTH: Nguyeãn Quang Huy Trang :150 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa procedure TForm3.New1Click(Sender: TObject); var hoso:textFile; cot:array[1 20]of String[20]; rowNums,i,binh:integer; temp:string; begin AssignFile(hoso,'C:\My Documents\hoso.txt'); reset(hoso); rowNums:=0; binh:=0; Grid1.RowCount:=rowNums; Grid1.Cells[0,0]:='stt'; Grid1.Cells[1,0]:='so se ri'; try begin While not eof(hoso) begin readln(hoso,cot[1],cot[2],cot[3],cot[4],cot[5],cot[6], cot[7],cot[8],cot[9],cot[10],cot[11],cot[12], cot[13],cot[14],cot[15],cot[16],cot[17]) ; temp:=''; for i:=1 to Length(cot[17]) if cot[17][i]=' ' then temp:=temp+'' else temp:=temp+ cot[17][i]; if temp='0' then begin inc(rowNums); Grid1.RowCount:=rowNums; Grid1.cells[1,rownums]:=cot[1]; Grid1.Cells[0,rowNums]:=IntToStr(rownums); end else inc(binh); end; inc(rowNums); Grid1.RowCount:=rowNums; end; Grid1.FixedRows:=1; SVTH: Nguyễn Quang Huy Trang :151 Luận Văn Tốt Nghiệp Chí Nghóa finally CloseFile(hoso); end; GVHD:Thầy Nguyễn end; procedure TForm3.Exit1Click(Sender: TObject); begin close(); end; end unit Unit4; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, Grids; type TForm4 = class(TForm) MainMenu1: TMainMenu; File1: TMenuItem; New1: TMenuItem; Save1: TMenuItem; Load1: TMenuItem; N1: TMenuItem; exit1: TMenuItem; Help1: TMenuItem; Grid1: TStringGrid; procedure New1Click(Sender: TObject); procedure exit1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; SVTH: Nguyeãn Quang Huy Trang :152 Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn var Form4: TForm4; implementation {$R *.DFM} procedure TForm4.New1Click(Sender: TObject); var hoso:textFile; cot:array[1 20]of String[20]; rowNums,i,binh:integer; temp:string; begin AssignFile(hoso,'C:\My Documents\hoso.txt'); reset(hoso); rowNums:=0; binh:=0; Grid1.RowCount:=rowNums; Grid1.Cells[0,0]:='stt'; Grid1.Cells[1,0]:='so se ri'; try begin While not eof(hoso) begin readln(hoso,cot[1],cot[2],cot[3],cot[4],cot[5],cot[6], cot[7],cot[8],cot[9],cot[10],cot[11],cot[12], cot[13],cot[14],cot[15],cot[16],cot[17]) ; temp:=''; for i:=1 to Length(cot[16]) if cot[16][i]=' ' then temp:=temp+'' else temp:=temp+ cot[16][i]; if temp='0' then begin inc(rowNums); Grid1.RowCount:=rowNums; SVTH: Nguyễn Quang Huy Trang :153 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa Grid1.cells[1,rownums]:=cot[1]; Grid1.Cells[0,rowNums]:=IntToStr(rownums); end else inc(binh); end; // temp:=temp+ cot[16][i]; inc(rowNums); Grid1.RowCount:=rowNums; //Grid1.cells[1,rownums]:=cot[1]; //Grid1.Cells[0,rowNums]:=IntToStr(rownums); end; Grid1.FixedRows:=1; finally CloseFile(hoso); end; end; procedure TForm4.exit1Click(Sender: TObject); begin close(); end; end unit Unit5; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm5 = class(TForm) Edit1: TEdit; Edit2: TEdit; SVTH: Nguyễn Quang Huy Trang :154 Luận Văn Tốt Nghiệp Chí Nghóa OK: TButton; Cancel: TButton; Label1: TLabel; Label2: TLabel; procedure OKClick(Sender: TObject); procedure CancelClick(Sender: TObject); private { Private declarations } public { Public declarations } end; GVHD:Thầy Nguyễn var Form5: TForm5; implementation uses Unit2, Unit6; {$R *.DFM} procedure TForm5.OKClick(Sender: TObject); var i,t,k:integer; temp,temp1,temp2,s:string; Procedure binhgas(j:integer); var lylich:textFile; t:integer; s:array[1 20]of string; begin AssignFile(lylich,'c:\My Documents\lylich.txt'); Rewrite(lylich); try for t:=1 to form2.grid1.colcount s[t]:=form2.Grid1.Cells[t,j]; Writeln(lylich,' Ly lich binh gas'); writeln(lylich,''); writeln(lylich,' Số sê ri',' :',s[1]); writeln(lylich,' Ngày nhập',' :',s[2]); writeln(lylich,' Sở hữu chủ',' :',s[3]); SVTH: Nguyễn Quang Huy Trang :155 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa writeln(lylich,' Dung tích bình',' :',s[4]); writeln(lylich,' Thử lần thứ',' :',s[5]); writeln(lylich,' Năm sản xuất',' :',s[6]); writeln(lylich,' Nơi sản xuất',' :',s[7]); writeln(lylich,' Khối lượng bình',' :',s[8]); writeln(lylich,' Chiều dày',' :',s[9]); writeln(lylich,' Cổ',' :',s[10]); writeln(lylich,' Khối lượng vỏ',' :',s[11]); writeln(lylich,' Cắt đục đào lõm',' :',s[12]); writeln(lylich,' Phì ra',' :',s[13]); writeln(lylich,' Ăn mòn',' :',s[14]); writeln(lylich,' Rò rỉ,',' :',s[15]); writeln(lylich,' Kiểm định',' :',s[16]); writeln(lylich,' Sơn',' :',s[17]); finally CloseFile(lylich); Form6.Show; end; end; begin k:=0; temp1:=edit2.text; temp2:=edit1.text; temp:=''; for i:=1 to length(temp1) if temp1[i]=' ' then temp:=temp+'' else temp:=temp+temp1[i]; temp1:=temp; temp:=''; for i:=1 to length(temp2) if temp2[i]=' ' then temp:=temp+'' else temp:=temp+temp2[i]; temp2:=temp; if temp1'*' then SVTH: Nguyễn Quang Huy Trang :156 Luận Văn Tốt Nghiệp GVHD:Thầy Nguyễn Chí Nghóa begin for i:=1 to form2.Grid1.Rowcount begin s:=''; for t:=1 to length(form2.Grid1.Cells[2,i]) if form2.Grid1.Cells[2,i][t]=' ' then s:=s+'' else s:=s+ form2.Grid1.Cells[2,i][t]; if temp1=s then begin s:=''; for t:=1 to length(form2.Grid1.Cells[1,i]) if form2.Grid1.Cells[1,i][t]=' ' then s:=s+'' else s:=s+ form2.Grid1.Cells[1,i][t]; if temp2=s then begin k:=1; binhgas(i); end; end; end; if k=0 then ShowMessage('Khong co binh hay thu lai '); end; if temp1='*' then begin for i:=1 to form2.Grid1.Rowcount begin s:=''; for t:=1 to length(form2.Grid1.Cells[1,i]) if form2.Grid1.Cells[1,i][t]=' ' then s:=s+'' else s:=s+ form2.Grid1.Cells[1,i][t]; if temp2=s then begin SVTH: Nguyễn Quang Huy Trang :157 Luận Văn Tốt Nghiệp Chí Nghóa binhgas(i); k:=1; end; end; if k=0 then ShowMessage('Khong co binh '); end; end; GVHD:Thầy Nguyễn procedure TForm5.CancelClick(Sender: TObject); begin close(); end; end unit Unit6; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Grids, StdCtrls, Menus; type TForm6 = class(TForm) Memo1: TMemo; Edit1: TEdit; MainMenu1: TMainMenu; File1: TMenuItem; Help1: TMenuItem; procedure Memo1Change(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end; SVTH: Nguyeãn Quang Huy Trang :158 Luận Văn Tốt Nghiệp Chí Nghóa GVHD:Thầy Nguyễn var Form6: TForm6; implementation {$R *.DFM} procedure TForm6.Memo1Change(Sender: TObject); begin //Memo1.Lines.LoadFromFile(edit1.text); end; procedure TForm6.FormCreate(Sender: TObject); begin //Memo1.Lines.LoadFromFile(edit1.text); end; procedure TForm6.FormActivate(Sender: TObject); begin Memo1.Lines.LoadFromFile(edit1.text); end; end SVTH: Nguyeãn Quang Huy Trang :159 Luận Văn Tốt Nghiệp Chí Nghóa SVTH: Nguyễn Quang Huy GVHD:Thầy Nguyễn Trang :160 ... Kết nối tự động Với mạch hình ta viết chương trình điều khiển, ta không cần phải chốt điều khiển, dùng 75176B kết hợp với 555, cho ta thời gian delay đủ để điều hoạt động ( Enable ) điều khiển. .. vực ? ?Điều Khiển Tự Động? ?? Nhưng với ưu điểm vượt trội đề tài không cũ Có thể nói hành trang cần thiết cho kỹ sư nghành Tự Động trường Chính em trọn RS-485 làm chủ đề cho luận văn Việc ứng dụng. .. RS-485 hỗ trợ đến 32 điều khiển nhận đường truyền Điều cho phép dùng ứng dụng mạng hệ thống ngang (multi-drop) Chính nhờ ưu điểm đó, RS-485 sử dụng rộng rãi nhiều dây truyền tự động khác RS-485