Phòng thí nghiệm điện tử dùng mạng máy tính

pdf 11 trang vanle 2310
Bạn đang xem tài liệu "Phòng thí nghiệm điện tử dùng mạng máy tính", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfphong_thi_nghiem_dien_tu_dung_mang_may_tinh.pdf

Nội dung text: Phòng thí nghiệm điện tử dùng mạng máy tính

  1. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 1-2006 PHÒNG THÍ NGHIỆM ĐIỆN TỬ DÙNG MẠNG MÁY TÍNH Phạm Thị Thu Phương, Nguyễn Trường An, Nguyễn Hữu Phương Bộ môn Điện tử – Viễn thông, Đại học Khoa học Tự nhiên, ĐHQG – HCM ( Bài nhận ngày 01 tháng 12 năm 2005, hoàn chỉnh sửa chữa ngày 14 thng 02 năm 2006) TÓM TẮT: Có rất nhiều phòng thí nghiệm (thực hành) điện tử, và các phòng thí nghiệm khác tương tự, được tổ chức theo cách truyền thống. Bài báo này trình bày sự tự động hóa phòng thí nghiệm dùng mạng máy tính. Trước tiên là kết nối các thiết bị điều khiển và đo lường vào một máy tính PC (máy trạm), kế đến kết nối hai chiều nhiều máy trạm đến máy tính chủ trung tâm thành một mạng nội bộ. Máy trung tâm giao tiếp với File server, máy in, và, nếu cần, qua Modem vào mạng diện rộng để phục vụ đào tạo từ xa. Ưu điểm của cách tổ chức này thể hiện ở nhiều mặt mà nhất là khả năng lưu trữ xử lý dữ liệu. Để có phòng thí nghiệm chúng tôi đã thực hiện 3 bộ phận sau, mỗi bộ phận gồm phần cứng và phần mềm: 1. Máy phát tín hiệu (máy tạo hàm) điều khiển từ máy tính 2. Chuyển đổi máy tính thành một dao động ký số hai tia 3. Nối kết mạng nhiều máy tính trạm với máy tính trung tâm Cả 3 bộ phận trên là một phần của đề tài NCKH trọng điểm ĐHQG-HCM đã nghiệm thu năm 2004 [1]. Bộ phận 1 ở trên đã được trình bày ở [2]. Bài báo này trình bày bộ phận 3 tức nối kết và truyền thông mạng. 1. GIỚI THIỆU Một máy tính PC có thể được biến thành một trung tâm đo lường và điều khiển (gọi đo lường ảo) [1] bằng cách gắn thêm Card DAQ (Data Acquisition – thu nhận dữ liệu), hoặc các mạch điện tử tương đương, giao tiếp với máy tính qua cổng song song hoặc Bus PCI . . . Một trung tâm đo lường ảo như vậy tạo các tín hiệu, thu nhận kết quả đo, xử lý và hiển thị lên màn hình, và phát ra điều khiển phục vụ cho các thí nghiệm (thực hành) điện tử (hình 1) và các thí nghiệm khác có sử dụng nhiều thiết bị đo. Vấn đề tiếp theo là nối kết các máy học viên (máy trạm) đến máy của giáo viên (máy chủ) ở chung phòng hoặc ở xa thành một mạng máy. Máy giáo viên có thể nối kết với mạng diện rộng trong hệ thống đào tạo qua mạng. Hình 2 là sơ đồ hệ thống. MÀN HÌNH Các cảm biến và mạch tiền xử lý MÁY TÍNH Tạo tín hiệu Thu nhận tín Các chương (hay điều khiển) hiệu trình M ạch hay thiết bị cần đo (hay điều khiển) Hình 1: Máy tính như một trung tâm đo lường, điều khiển, xử lý và hiển thị Trang 5
  2. Science & Technology Development, Vol 9, No.1 - 2006 Máy học viên Máy học viên Máy học viên DA DA . . . DA . . . HV: . . . . . . . . . . Máy Máy in giáo viên Mạng WAN Hình 2: Mạng máy tính kết nối các máy học viên với máy gio viên Mục đích của việc kết nối mạng là để giáo viên có thể theo dõi diễn tiến thí nghiệm (hay thực hành) của mỗi học viên, trao đổi với học viên, đưa ra mạch điện tử và câu hỏi thực hành hoặc thi. Bên cạnh đó là việc quản lý như lập danh sách học viên, cho điểm, in kết quả. Trong mạng, máy giáo viên thường đóng vai trò máy chủ, máy học viên là máy khách (hay máy trạm), tuy nhiên cũng có trường hợp ngược lại. Phần còn lại của bài báo gồm mục 2 là kết nối và truyền thông mạng, mục 3 là chương trình của học viên, mục 4 là chương trình của giáo viên, và cuối cùng mục 5 là kết luận. 2. KẾT NỐI VÀ TRUYỀN THÔNG MẠNG Các chương trình được viết bằng ngôn ngữ lập trình Visual C++, có những chức năng xử lý tín hiệu và giao tiếp mạng để có thể truyền thông qua lại giữa các máy. Tùy theo nhiệm vụ của từng chương trình, từng chức năng mà có những cách giao tiếp mạng khác nhau. Cách thứ nhất là Pear-to-Pear, dùng một Buffer để lưu thông tin cần chuyển đi, cách này chỉ cho phép giao tiếp giữa hai máy, không thể cùng lúc truyền trong ba máy. Đây là cách được sử dụng trong việc học viên khai báo tên khi vào chương trình và truyền dữ liệu từ máy học viên sang máy giáo viên. Cách thứ hai là dùng CArchive và Serialize, tương tự như kiểu truyền trong mạng quảng bá, từ một máy gửi đến tất cả các máy trong mạng. Chương trình dùng cách này trong việc truyền thông giữa máy giáo viên và máy học viên, giữa các máy học viên với nhau, nhưng có kiểm soát. 2.1 Nối kết mạng giữa máy giáo viên và máy học viên Khi giáo viên vào chương trình, giáo viên chỉ cần khởi động việc kết nối mạng, tức là lắng nghe đường truyền, lúc bấy giờ máy giáo viên là máy chủ, các máy học viên là máy khách. Học viên vào chương trình, khai báo tên học viên và tên máy tính, rồi gởi tới máy chủ. Sau khi kết nối thành công, trong chương trình của giáo viên có tên máy của những học viên đã kết nối, còn mỗi chương trình của học viên đã kết nối lúc này trở thành một máy chủ để lắng nghe đường truyền xem có yêu cầu của máy giáo viên để truyền dữ liệu (diễn tiến thực hành) không. Nếu giáo viên yêu cầu học viên nào truyền dữ liệu thì máy gởi thông điệp tới học viên với tên máy tương ứng, và học viên sẽ truyền dữ liệu đến máy giáo viên. Khi giáo viên muốn chuyển sang nhận dữ liệu từ học viên khác, giáo viên dừng kết nối trước đó, Trang 6
  3. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 1 -2006 chuyển yêu cầu nhận dữ liệu tới học viên mong muốn. Giáo viên mỗi lần nhận dữ liệu chỉ nhận được từ một máy học viên. Khi giáo viên khởi động việc Chat với các học viên, máy giáo viên là máy chủ, máy học viên là máy khách. Vì là máy chủ nên giáo viên nắm quyền kiểm soát ví dụ cho phép câu hỏi của học viên hoặc trả lời của giáo viên hoặc trả lời của học viên truyền tới những máy học viên khác (truyền quảng bá) hoặc chỉ truyền cho một học viên chỉ định (truyền Pear-to-Pear). Phần truyền File từ máy giáo viên kết hợp cả hai giao thức truyền quảng bá và truyền Pear-to-Pear. Khi truyền File, trước hết truyền cho một máy học viên (truyền Pear-to-Pear), sau đó sử dụng vòng lặp để truyền cùng nội dung tới các máy học viên khác trong mạng (truyền quảng bá). Nhờ sử dụng các Port và giao thức truyền khác nhau nên đã tránh được các xung đột xảy ra khi các kiểu dữ liệu truyền khác nhau. Sự hoán vị máy giáo viên và các máy học viên để khi là máy chủ khi là máy khách trong các trường hợp khác nhau tạo ra sự linh hoạt trong kết nối mạng. 2.2 Trao đổi thông tin Trong phần này, máy giáo viên là máy chủ, máy học viên là máy khách. Bởi vì giáo viên phải quản lý nội dung truyền trong mạng, cấp quyền cho phép mỗi câu gởi đến có được quảng bá hay không, bảo đảm cho các học viên không trao đổi với nhau mà không thông qua máy chủ của giáo viên. Hình 3 là sơ đồ giải thuật việc trao đổi thông tin (gởi đi) của giáo viên. Hình 4 là sơ đồ giải thuật việc trao đổi thông tin (nhận) của học viên. đúng Chọn gởi sai cho tất cả. Chọn học viên. Tìm tên học viên trùng với tên giáo viên đã chọn. Gởi thông tin đi và lưu vào Gởi thông tin đi và lưu vào List Box. List Box. sai đúng Là học viên cuối. dừng Hình 3: Sơ đồ giải thuật gởi thông tin của giáo viên Trang 7
  4. Science & Technology Development, Vol 9, No.1 - 2006 Khi có sự kiện nhận thông tin. sai Nhận được Thông báo lỗi. thành công đúng Thêm vào cuối thông điệp nhận được một kí tự kết thúc Hiển thị ra List Box. Hình 4: Sơ đồ giải thuật nhận thông tin của học viên 2.3 Truyền File Trong truyền File, để bảo đảm có thể truyền nguyên một File đi trong một khối, như vậy việc truyền sẽ nhanh chóng và bảo đảm nguyên vẹn File, ta dùng CSocket và CFile. Các sơ đồ giải thuật ở hình 5 và 6 hình minh họa việc truyền, nhận File của máy giáo viên và máy học viên. Hình 7 và 8 cho thấy màn hình của học viên. Tạo một Socket Tạo một CFile Đọc tên file muốn gởi đi Đọc nội dung của Mở file và đọc độ dài file file vào CFile Gởi đi độ dài file. Gởi đi CFile Đóng CFile, xoá bộ đệm, đóng Socket. Hình 5: Sơ đồ giải thuật truyền File của giáo viên Trang 8
  5. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 1 -2006 Tạo một Socket Kết nối Socket với máy chủ Khi Socket nhận được file Tạo một CFile Đọc độ dài file Đọc nội dung của file vào CFile Lưu CFile với độ dài file đã biết Đóng CFile, xoá bộ đệm, đóng Socket. Hình 6: Sơ đồ nhận file của học viên Hình 7: Học viên nhận được thông báo và cho phép lưu file Hình 8: Học viên lưu File vừa nhận vào máy Trang 9
  6. Science & Technology Development, Vol 9, No.1 - 2006 3. CHƯƠNG TRÌNH CỦA HỌC VIÊN Máy học viên được kết nối mạng với máy giáo viên nên ở mỗi máy học viên còn được cài đặt chương trình mạng. Lúc đầu, học viên vào chương trình kết nối với máy giáo viên, đăng ký tên mình và tên máy cho giáo viên. Khi học viên muốn đặt câu hỏi với giáo viên, học viên vào Tools\Communication để đưa câu hỏi tới máy giáo viên. Học viên sẽ nhận được câu trả lời hoặc các thông tin khác từ máy giáo viên hoặc từ các máy học viên khác tùy theo sự cho phép của giáo viên. Ở mỗi máy học viên có các chương trình: kết nối mạng, đăng ký tên và máy, gửi dữ liệu đến máy giáo viên, trao đổi thông tin . . . Khi học viên vào chương trình học viên đăng ký tên mình và tên máy gởi đi cho giáo viên. Sau đó, học viên trở thành máy chủ nghe xem giáo viên có muốn lấy dữ liệu của mình không (hình 9). Tạo một socket khách. Kết nối với máy chủ. Kết nối sai dừng thành công. đúng Gởi tên học viên và tên máy. Gởi thành sai dừng công đúng Tạo một socket chủ và lắng nghe đường truyền. Hình 9: Học viên đăng ký tên và số máy Trang 10
  7. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 1 -2006 4. CHƯƠNG TRÌNH CỦA GIÁO VIÊN Chương trình của giáo viên là chương trình dùng để quản lý, theo dõi kết quả thực hành của học viên. 4.1.Các chức năng trong chương trình giáo viên Khi bắt đầu chương trình, giáo viên tạo ra một danh sách tên của học viên trong buổi học đầu tiên, các buổi học sau, giáo viên chỉ cần lấy ra danh sách học viên tương ứng mà thôi. Khi học viên nào vào học sẽ khai báo tên trong chương trình Oscilloscope của học viên và gửi cho máy giáo viên (máy chủ), nếu đúng có tên học viên trong danh sách thì tên học viên sẽ được viết hoa, giáo viên nhìn vào danh sách sẽ biết được các học viên hiện diện và sẽ yêu cầu lấy dữ liệu của học viên để quan sát khi cần. Nếu học viên là học viên mới, chưa có tên trong danh sách, giáo viên sẽ có quyền quyết định cho học viên đó vào sanh sách hay không. Giáo viên cũng có thể đặt câu hỏi, nhận câu hỏi từ phía học viên, giáo viên kiểm soát toàn bộ các thông tin trao đổi, cho phép hoặc không cho phép thông tin từ giáo viên hoặc từ học viên này truyền tới học viên khác. Giáo viên có thể ra đề thi, đề kiểm tra bằng cách sử dụng các phần mềm khác như Electric WorkBench hoặc bằng các File hình ảnh, File text Chương trình này cho phép giáo viên gửi file đến tất cả máy của học viên. Kết thúc buổi học, giáo viên liên kết với cơ sở dữ liệu để cho điểm các học viên. 4.2.Tạo một danh sách học viên Khi vào chương trình, nếu giáo viên muốn tạo mới một danh sách lớp học của mình, giáo viên nhấn chọn: Make a new student list (thông thường thực hiện vào buổi học đầu tiên), khi đó một List Box hiện ra cho phép giáo viên nhập tên học viên của lớp mình. Ý tưởng chung của phần này chỉ là dùng List Box quản lý dữ liệu rồi lưu lại toàn bộ dữ liệu vào một File. Giải thuật lưu dữ liệu vào File tương tự phần lưu dữ liệu đã trình bày trong chương 2. Nếu giáo viên đã có danh sách lớp, không cần tạo danh sách mới, muốn mở danh sách cũ ra thì giáo viên nhấn chọn nút: Choose a student list. Lúc đó, một hộp Dialog hiện ra cho phép giáo viên lựa chọn danh sách học viên phù hợp (hình 10). Hình 10: Hộp Dialog của giáo viên Sau khi đã lựa chọn danh sách học viên, danh sách này sẽ được đưa vào trong danh sách học viên của chương trình chính. Khi có một học viên nào vào chương trình và đăng ký tên thì tên của học viên sẽ thay đổi, giáo viên sẽ biết được sự hiện diện của học viên (hình 11). Trang 11
  8. Science & Technology Development, Vol 9, No.1 - 2006 Hình 11: Giáo viên có theo dõi lớp học thực hành 4.3.Xem dữ liệu của học viên Khi giáo viên muốn xem dữ liệu (diễn tiến thực hành) của học viên, giáo viên chỉ cần nhấn Double click vào tên của học viên đó trong List Box, khi đó máy giáo viên gửi đến máy học viên tương ứng một yêu cầu (do lúc đầu khi vào chương trình thì học viên đã khai báo tên mình và tên máy). Khi nhận được yêu cầu của giáo viên, máy học viên (trong chức năng này đóng vai trò là máy chủ) sẽ đáp ứng yêu cầu và gửi dữ liệu đến máy giáo viên. Khi giáo viên muốn nhận dữ liệu từ máy học viên khác, giáo viên cắt kết nối và chuyển sang yêu cầu một máy học viên khác, lúc bấy giờ máy giáo viên là máy chủ. 4.4.Liên lạc với học viên Khi vào chương trình, với vai trò là máy chủ, giáo viên nhắp Active Server, khi đó, máy giáo viên bắt đầu lắng nghe đường truyền. 4.5.Kết nối cơ sở dữ liệu học viên Khi kết thúc buổi học, giáo viên cho điểm học viên, bằng cách nhấn vào nút Give Points, khi đó giáo viên sẽ được kết nối với cơ sở dữ liệu. Cơ sở dữ liệu gồm có 4 table, được thiết kế trong Microsoft Access, có quan hệ như sau: Trang 12
  9. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 1 -2006 Chương trình dùng DataGrid để hiển thị dữ liệu, dữ liệu được kết nối với Access thông qua lớp CAdodc, chương trình đã kết hợp dùng các câu lệnh SQL của Access tạo ra nhiều chức năng linh hoạt. 4.4.Xem danh sách giáo viên Đoạn lệnh SQL chỉ cho phép xem tên và địa chỉ của giáo viên chứ không cho xem ID của giáo viên để bảo mật. 4.5.Xem danh sách học viên − Theo lớp: Giáo viên nhập vào tên lớp để xem danh sách học viên trong lớp ấy. − Theo ID của học viên: Giáo viên nhập mã số của học viên để xem chi tiết về các lớp học và điểm của học viên đó. Thích hợp trong việc giáo viên xem lại điểm cho đã đúng chưa. − Xem danh sách lớp học: Giáo viên xem tên các lớp học và số lượng học viên trong lớp ấy. − Xem danh sách khóa học: + Theo ID lớp: Giáo viên nhập vào tên mã môn học để biết rõ tên của môn học đó. + Theo ID giáo viên: Giáo viên nhập vào mã số của mình để xem tên cũng như mã số các môn học mình dạy. − Chấm điểm và sửa điểm: Giáo viên nhập vào mã số giáo viên của mình, khi đó nếu đúng mã số thì mới hiện ra trong datagrid những mã số môn học do giáo viên đó dạy. Tiếp đó giáo viên nhập vào mã số môn học cần cho điểm, danh sách học viên hiện ra cho phép giáo viên nhập điểm của từng học viên. Trang 13
  10. Science & Technology Development, Vol 9, No.1 - 2006 5. KẾT LUẬN Chúng tôi đã hoàn thành việc nối kết và truyền thông mạng máy tính cho nhiều máy học viên (máy trạm) và máy giáo viên (máy chủ trung tâm) thành một phòng thí nghiệm điện tử (và cho các lĩnh vực khác) dùng mạng máy tính, trong đó mỗi máy học viên là một trung tâm phát tín hiệu, đo, xử lý, hiển thị, và điều khiển, còn máy giáo viên nối kết hai chiều với tất cả các máy học viên để theo dõi hoạt động thí nghiệm và là nơi chứa cơ sở dữ liệu, quản lý cần thiết. Máy trung tâm tâm kết nối với máy in, File server, và qua Modem vào mạng Internet cho đào tạo từ xa. Tất cả phần mềm đều tự viết dùng ngôn ngữ Visual C++, riêng cơ sở dữ liệu sử dụng thêm SQL Server. COMPUTER NETWORK – BASED ELECTRONIC LABORATORY Pham Thi Thu Phuong, Nguyen Truong An, Nguyen Huu Phuong Department of Electronics - Telecommunications, University of Natural Sciences, VNU-HCM ABSTRACT: There are many electronic laboratories, and similar labs, organized in the traditional way. This paper presents the automation of a laboratory using computer network. First, we connect all signal generator, DAQ card, control interface to a PC (workstation). Next, we link the workstations bidirectionally to a central server. The server works with printer and file server, and, through a modem, communicates with the Internet for distance training. This computer network – based electronic laboratory has many advantages, especially the capability of data storage and processing. To establish such a laboratory we have achieved three units, each consists both the hardware and the software, as follows 1. Signal generator (function generator) controlled from PC 2. Converting a PC into two-channel digital oscilloscope 3. Computer networking and communication Trang 14
  11. TẠP CHÍ PHÁT TRIỂN KH&CN, TẬP 9, SỐ 1 -2006 The above laboratory automation is part of our VNU – HCM supported research completed in 2004 [1]. Unit 2 has been presented in [2]. This paper discusses the last unit. TÀI LIỆU THAM KHẢO [1]. Nguyễn Hữu Phương et al, Xây dựng cơ sở phần cứng và phần mềm phòng thí nghiệm điện tử dùng mạng máy tính, Báo cáo nghiệm thu đề tài NCKH trọng điểm ĐHQG – HCM, 2004 [2]. Nguyen Truong An, Bui Trong Tu, Nguyen Huu Phuong, Function Generator – Controlled by PC, ISEE 05, HUT, VNU-HCM, 2005 [3]. Stephen C. Gates & Jordan Becker, Laboratory Automation using the IBM PC, Prentice Hall, 1990 [4]. Fred Halsall, Data Communications, Computer Networks and Open System, 4th Edition, Addision-Wesley, 1996 Trang 15