2.1.3.1. Thơng tin số liệu
Hệ thống thơng tin số liệu dùng để xử lý và truyền các chuỗi mã nhị phân. Các mã này được tạo ra, lưu trữ và xử lý bởi máy tính và các thiết bị ngoại vi, bao gồm các loại như: các tin tức đã mã hĩa, tập tin văn bản, hình ảnh dữ liệu số và các thơng tin khác.
Đường truyền là đường truyền lẫn tín hiệu số và các ký tự truyền phổ biến là mã ASCII.
2.1.3.2. Phương thức truyền
a. Truyền nối tiếp/ Song song (Serial/ Parallel):
Truyền song song: truyền tất cả các bit của một ký tự cùng một lúc.
Hình 2.16 – Truyền song song
Truyền nối tiếp: truyền tuần tự tường bit của một ký tự.
Hình 2.17 – Truyền nối tiếp
- Truyền song song nhanh hơn truyền nối tiếp (dùng ở cự ly thơng tin gần). - Truyền nối tiếp ít tốn đường truyền hơn song song (thường dùng ở cự ly xa).
b. Truyền đồng bộ/ Bất đồng bộ (synchoronous)
Truyền đồng bộ - nối tiếp
Dùng một xung clock để đồng bộ quá trình nhận theo từng bit ký tự. Máy sẽ cung cấp tín hiệu clock cho cả hai đầu phát và thu.
Hình 2.18 – Truyền đồng bộ - nối tiếp
- Ưu điểm: Chỉ truyền data, khơng cần thêm tín hiệu đồng bộ và chuỗi data → nhanh hơn.
- Nhược điểm: Phải thêm một kênh thứ hai để truyền tín hiệu clock song song với kênh truyền data.
Truyền bất đồng bộ nối tiếp
Thêm vào phía trước mỗi ký tự một bit START và phía sau 1 hoặc 2 bit STOP. Máy thu sẽ tách bit START để khởi động tín hiệu đồng bộ dùng cho việc thu các bit ký tự. Các bit STOP được dùng để ngăn cách giữa các ký tự. Phương pháp này cho phép truyền ngẫu nhiên, khơng cần truyền liên tục.
Vì phải thêm các bit STOP, START nên tốc độ truyền tổng quát là chậm so với truyền đồng bộ nhưng lại đơn giản rẻ tiền hơn.
Tốc độ truyền bất đồng bộ: 75, 110, 300, 1200 bit/s. Tốc độ truyền đồng bộ: 2400, 4800, 9600 bit/s.
2.1.3.3. Thơng tin nối tiếp bất đồng bộ a. Dẫn nhập a. Dẫn nhập
Truyền số liệu nối tiếp cho phép trao đổi thơng tin giữa máy tính và thiết bị ngoại vi từng bit một. Số liệu trao đổi thường được gửi theo các nhĩm bit (tạo thành một ký tự hay một từ).
Ví dụ: một ký tự được thể hiện bằng mã ASCII. Trao đổi nối tiếp chỉ cần một đường dây tín hiệu hay một kênh liên lạc. Truyền số liệu nối tiếp được sử dụng khi:
+ Thiết bị ngoại vi cần trao đổi số liệu vốn đã là vào/ ra nối tiếp.
+ Khoảng cách giữa máy tính và thiết bị ngoại vi tương đối lớn. Nếu khoảng cách đĩ tăng thì giá thành tăng lên theo tổng số đường dây dẫn số liệu. Giá của hệ cịn phụ thuộc vào các bộ khuếch đại đường dây và bộ thu. Do đĩ sử dụng phương pháp trao đổi nối tiếp sẽ kinh tế hơn.
Tốc độ truyền (cịn gọi là tốc độ Baud - Rate) được xác định như tổng số lần thay đổi tín hiệu trong 1 giây. Nếu tín hiệu truyền đi là nhị phân tốc độ truyền tương đối với số bit truyền trong 1 giây. Các kênh thơng tin được đánh giá bằng tốc độ truyền. Nếu số liệu được truyền với tốc độ ngoài khả năng của kênh sẽ xảy ra lỗi, bên thu sẽ khơng nhận đúng thơng tin.
Hệ thống truyền số liệu nối tiếp gồm các dạng:
+ Đơn cơng: Số liệu chỉ được gửi đi theo một hướng.
+ Bán song cơng: Số liệu được gửi đi theo hai hướng nhưng mỗi thời điểm chỉ được truyền theo một hướng.
+ Song cơng: Số liệu được truyền theo hai hướng. - Truyền nối tiếp cĩ thể là:
+ Đồng bộ (DB) + Bất đồng bộ (BDB)
b. Thủ tục truyền nối tiếp bất đồng bộ
Đặc điểm của tín hiệu truyền nối tiếp bất đồng bộ:
Tần số CLOCK thu, phát phân biệt với cùng một tần số danh định tùy theo tốc độ truyền bit. Các ký tự truyền với những thời điểm khơng cần liên tục, truyền riêng và truyền ngẫu nhiên. Đường truyền giữ ở trạng thái 1 trong khoảng cách giữa các ký tự gọi là trạng thái rỗi (idle). Đối với một ký tự thì LSB (Least Significant Bit) được truyền đầu tiên và lần lượt là các Bit kế tiếp.
Ở đầu phát:
Khi tín hiệu LOAD = 1 thì dữ liệu ở dạng song song sẽ được nạp vào TSR (từ ngõ nhập dữ liệu).
Khi tín hiệu LOAD = 0 thì các bit này sẽ được dịch nối tiếp ra đường truyền. Thanh ghi dịch phát TSR cũng sẽ bao gồm mạch logic tự động thêm các bit START và STOP.
Ở đầu thu:
Sẽ nhận biết điểm bắt đầu một ký tự bằng cách tách bit START nhờ mạch tách bit START (START BIT DETECT) khi trạng thái đường truyền dẫn chuyển từ 1 xuống 0 và lúc này bộ phận điều khiển sẽ điều khiển thanh ghi dịch bắt đầu dịch các bit trên đường dây vào. Sau 11 lần dịch (1bit START + 8 bit DATA +2 bit STOP) thì cĩ thể đọc được ký tự thu dạng song song ở ngõ ra thanh ghi dịch khi cĩ tín hiệu READ.
Để kiểm tra sai khi truyền, 8 bit DATA sẽ cĩ 1 bit kiểm tra theo một trong hai thủ tục sau:
+ Kiểm tra chẵn (Even parity): Tổng số bit 1 trong 8 bit phải luơn luơn chẵn. + Kiểm tra lẻ (Odd parity): Tổng số bit 1 luơn luơn lẻ.
Như vậy ở đầu phát sẽ cĩ bộ phận đếm số bit 1 của 8 bit dữ liệu và tùy theo hình thức kiểm tra chẵn hay lẻ sẽ thêm vào bit cuối cùng giá trị 0 hoặc 1 cho thích hợp.
Ở đầu thu sẽ đếm số bit 1 của mỗi ký tự để xác định xem tình hình dữ liệu đến cĩ đúng hay khơng. Tất cả các thủ tục trên khơng phải bắt buộc mà cĩ thể thay đổi khác nhau tùy theo việc cài đặt thơng số ban đầu bởi người thực hiện việc truyền. Chỉ bắt buộc là các thủ tục ở hai đầu thu và phát tương ứng nhau. Tất cả những cơng việc đã mơ tả ở trên sẽ được thực hiện bởi một bộ phận giao tiếp thơng tin bất đồng bộ mà thành phần chính là chip LSI – gọi là UART.
2.1.3.4. Thơng tin nối tiếp đồng bộ
Các thủ tục truyền nối tiếp bất đồng bộ đơn giản và rẻ tiền nhưng chỉ thích hợp khi truyền các thơng tin ngắn hoặc một vài ký tự cách quãng. Đối với các tập tin dài, sử dụng phương thức truyền thơng tin đồng bộ sẽ hiệu quả hơn. Trong phương pháp này, thơng tin được truyền theo từng khối (Block). Mỗi khối bao gồm một số tuần tự các ký tự và khơng cần các bit START, bit STOP mà sẽ đồng bộ theo từng khối cũng như việc kiểm tra sai.
Trong các hệ thống đồng bộ, tín hiệu Clock của máy phát sẽ được truyền qua máy thu song song với các dữ liệu để làm xung Clock cho việc dịch chuyển các Bit thu. Nếu trong thực tế khơng thể thực hiện truyền tín hiệu Clock, thì máy thu phải tạo ra tín hiệu này. Do đĩ sẽ phức tạp hơn và cĩ giá thành cao hơn so với thơng tin bất đồng bộ. Để tránh trường hợp bit 0 hoặc 1 kéo dài đơi khi cĩ thể dùng loại mã nhị phân đặc biệt để máy thu giữ được khả năng đồng bộ, máy thu gửi nhiều ký tự đồng bộ nhận dạng khi bắt đầu việc truyền và ngay khi nhận được bit đồng bộ, máy thu bắt đầu nhận bit. Phần lớn các mạng đồng bộ sử dụng các nghi thức do IBM tạo ra và nghi thức đồng bộ nhị phân BISYNC (Binary Synchronous) hoặc đồng bộ đường điều khiển dữ liệu SDLC (Synchronous Data Link Control).
Các giao tiếp chuẩn RS232C và RS449 cung cấp các chân sau truyền tín hiệu Clock:
- Đối với RS232:
+ Chân 15: TCLK – Transmit Clock (từ DCE). + Chân 17: RCLK – Receive Clock (từ DCE). - Đối với RS499:
+ Chân 6 và chân 23: Send Timing + Chân 8 và 26: Receive Timing
+ Chân 17 và 35: Terminal Timing (từ DCE).
Khi dùng Modem đồng bộ thì tín hiệu đồng thời sẽ được cung cấp từ Modem đến máy tính. Tần số Clock phát cĩ thể tạo ra từ Modem hoặc thiết bị đầu cuối.
2.1.4. Thu thập dữ liệu
Mục đích của thu thập dữ liệu là thu thập thơng tin của các hiện tượng hay các đại lượng vật lý như là điện áp, dịng điện, nhiệt độ, áp suất hoặc âm thanh. Sự thu thập dữ liệu trên PC sử dụng một sự kết hợp giữa mơ đun phần cứng, phần mềm ứng dụng và một máy tính để thực hiện việc thu nhập [1]. Trong khi mỗi hệ thống thu thập dữ liệu được định nghĩa bởi yêu cầu ứng dụng của nĩ. Mỗi hệ thống chia sẻ một mục đích chung thu được, phân tích và nhận thơng tin hiện cĩ. Những hệ thống thu thập dữ liệu hợp nhất những tín hiệu, các cảm biến, những cơ cấu chấp hành, những trạng thái tín hiệu, những thiết bị thu thập dữ liệu và phần mềm ứng dụng.
Hình 2.20 – Hệ thống thu thập dữ liệu
Hệ thu thập dữ liệu thực hiện các chức năng như sau:
- Thu thập dữ liệu từ các thiết bị cơng nghiệp hoặc các cảm biến.
- Phân tích, xử lý và thực hiện các phép tính trên các dữ liệu thu thập được. - Hiển thị các dữ liệu thu thập được, kết quả đã xử lý, lưu trữ thơng tin
thu thập được lên máy tính.
- Viết chương trình giao tiếp, giám sát và điều khiển trên máy tính.
- Nhận các lệnh từ người điều hành và gửi các lệnh đĩ đến các thiết bị điều khiển.
Hệ thống thu thập dữ liệu được chia làm hai loại: - Hệ thống thu thập dữ liệu một kênh.
- Hệ thống thu thập dữ liệu nhiều kênh.
Hệ thống thu thập dữ liệu một kênh là hệ thống chỉ thực hiện việc thu thập dữ liệu, giám sát và điều khiển của một đối tượng một lúc. Đối tượng đĩ cĩ thể là nhiệt độ, áp suất, lưu lượng,…
Hình 2.21 - Sơ đồ hệ thu thập dữ liệu 1 kênh
Quá trình Cảm biến Chấp hành Gia cơng tín hiệu S/H Khuếch đại ADC Hệ vi xử lý và máy tính DAC
Với: S/H - Lấy mẫu và giữ.
ADC - Chuyển đổi tín hiệu tương tự sang số. DAC - Chuyển đổi tín hiệu số sang tương tự.
Hệ thống thu thập dữ liệu nhiều kênh là hệ thống cĩ thể thực hiện việc thu thập dữ liệu, giám sát và điều khiển của nhiều đối tượng cùng một lúc, các đối tượng cĩ thể giống nhau hay khác nhau. Hệ thống thu thập dữ liệu nhiều kênh là sự thu thập dữ liệu trên máy tính PC sử dụng một sự kết hợp giữa mơđun phần cứng, phần mềm ứng dụng và một máy tính đo thực hiện việc thu thập.
Hình 2.22- Sơ đồ hệ thu thập dữ liệu nhiều kênh
2.2. Lựa chọn phương pháp giao tiếp máy tính cho BĐT điện tử
BĐT điện tử dùng trên động cơ Yanmar 3SM cũng giống như các thiết bị điện tử khác là được điều khiển bởi vi điều khiển do sự lập trình trước bởi con người. Vì vậy, để giao tiếp với BĐT điện tử nhằm hỗ trợ điều khiển và thu nhập dữ liệu cho nĩ thì cần phải cĩ một phương pháp ghép nối thích hợp giữa BĐT và máy tính.
Phần 2.1 đã giới thiệu về cấu trúc vi điều khiển và các phương pháp giao tiếp máy tính hiện nay. Cĩ nhiều phương pháp kết nối với những ưu, nhược điểm riêng của chúng. Tuy nhiên, với các ưu điểm sau:
- Khoảng cách truyền xa hơn truyền song song. - Số dây kết nối ít. Quá trình Cảm biến Khuếch đại S/H ADC Hệ vi xử lý và máy tính DAC Multiplexer Khuếch đại Khuếch đại Demultiplexer Khuếch đại Cảm biến Chấp hành Chấp hành
- Cho phép nối mạng.
- Cĩ thể tháo lắp thiết bị trong lúc máy tính đang làm việc. - Cĩ thể cung cấp nguồn cho các mạch điện đơn giản.
Phương pháp giao tiếp nối tiếp qua cổng USB - COM theo chuẩn RS232 được em lựa chọn cho việc ghép nối máy tính với BĐT điện tử dùng trên động cơ Yanmar 3SM. Từ đĩ cĩ thể tác động trực tiếp lên vi điều khiển của BĐT điện tử nhằm hỗ trợ điều khiển và thu nhập dữ liệu trong quá trình làm việc. Để thực hiện được cơng việc đĩ yêu cầu nhất thiết phải cĩ một giao diện giao tiếp giữa chúng.
2.3. Lựa chọn ngơn ngữ lập trình
2.3.1. Cơ sở lựa chọn ngơn ngữ lập trình
Ngày nay, để lập trình cho các ứng dụng đo lường, điều khiển, người lập trình thường dùng một số ngơn ngữ lập trình như ASSEMBLY, C++, Basic…
Trong đĩ, Assembly là một ngơn ngữ cấp thấp. Ưu điểm của hợp ngữ Assembly là: mã gọn, ít chiếm dung lượng bộ nhớ, hoạt động với tốc độ nhanh, và nĩ cĩ hiệu suất tốt hơn so với các chương trình viết bằng ngơn ngữ bậc cao khác nhưng nhược điểm của nĩ là mỗi câu lệnh chương trình tương ứng với một chỉ lệnh mà bộ xử lý cĩ thể thực hiện được nên thường được sử dụng để viết những chương trình điều khiển đơn giản, lĩnh vực hẹp.
Ngơn ngữ C++ và Basic là ngơn ngữ lập trình bậc cao. Tuy nhiên, việc lập trình trong Visual C++ (VC++) tương đối khĩ hơn Visual Basic (VB) nhất là cho người mới tìm hiểu. Người lập trình thường sử dụng VC++ trong viết các chương trình chuyên sâu như lập trình phần mềm,…cịn VB thường được dùng để viết chương trình cho các ứng dụng điều khiển bởi sự đơn giản, tiện lợi trong việc xây dựng các màn hình đồ họa mà vẫn đảm bảo yêu cầu sử dụng. Các thuộc tính của các Control như Edit box trong VC++ khơng được truy cập trực tiếp như Textbox trong VB mà phải tự tạo ra chúng. Ví dụ để gán và hiển thị một chuỗi hay số lên Edit box phải thực hiện gán và cập nhật dữ liệu qua các biến trung gian. Điều đĩ thực sự là khơng cần thiết với những chương trình điều khiển.
Từ những cơ sở trên mà em lựa chọn ngơn ngữ lập trình Visual Basic 6 cho viết chương trình hỗ trợ điều khiển và thu nhập dữ liệu cho BĐT điện tử yêu cầu.
2.3.2. Ngơn ngữ lập trình Visual Basic 6.0 2.3.2.1. Khái quát về Visual Basic 6.0 2.3.2.1. Khái quát về Visual Basic 6.0
Ngơn ngữ lập trình Visual Basic 6.0 được giới thiệu vào năm 1988được xem là cơng cụ phát triển phần mềm nhanh chĩng và hiệu quả để lập trình trên Microsoft Windows. Visual Basic là ngơn ngữ lập trình phổ dụng trên thế giới hiện nay. Nĩ bổ sung một số tính năng, ngơn ngữ đã được mong đợi từ lâu của người sử dụng, tăng cường năng lực cho việc đánh chỉ mục và các tính năng cơ sở dữ liệu mạnh hơn.
Mặt khác, điểm tiện lợi khi dùng Visual Basic chính là ở chỗ tiết kiệm thời gian và cơng sức so với các ngơn ngữ lập trình khác, khi xây dựng cùng một ứng dụng.
Visual Basic gắn liền với khái niệm lập trình trực quan (Visual) nghĩa là khi thiết kế chương trình ta nhìn thấy ngay kết quả của từng thao tác và giao diện khi chương trình thực hiện. Đây là yếu tố thuận lợi lớn so với các ngơn ngữ lập trình khác. Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chĩng. Màu sắc, kích thước, hình dáng của các đối tượng đều cĩ mặt trong ứng dụng.
Khi viết chương trình Visual Basic phải trải qua 02 bước: + Thiết kế giao diện (Visual Programming).
+ Viết lệnh (Code Programming).
2.3.2.2. Thiết kế giao diện
Do Visual Basic là một ngơn ngữ lập trình hướng đối tượng rất đơn giản, bằng cách đưa các đối tượng vào Form và tiến hành thay đổi một số thuộc tính của các đối tượng đĩ.
Form: Form là biểu mẫu của mỗi ứng dụng Visual Basic. Ta dùng Form nhằm định vị và sắp xếp các bộ phận trên nĩ khi thiết kế các phần giao tiếp với người dùng. Ta cĩ thể xem Form như là một bộ phận mà mà nĩ cĩ thể chứa các bộ phận khác. Form chính của ứng dụng, các thành phần của nĩ tương tác với các Form khác và các