LabVIEW Vietnam

cancel
Showing results for 
Search instead for 
Did you mean: 

Bài tập về Random number

Solved!
Go to solution

Xin chào tất cả các bạn.

Mình vừa mới làm quen với LabView và có làm một số bài tập nho nhỏ.

Bài tập của mình ở đây là viết chương trình chạy ra số bất kì và đợi một khoảng thời gian t để ra số thứ 2, đợi thời gian t ra số thứ 3 ,... (mình có thể control bao nhiêu số mình muốn). Và thể hiện các giá trị trên một đồ thị và sau đó ghi giá trị vào file.

Thắc mắc 1. Kết quả là mình thấy thời gian không đúng như mình muốn. Đúng ra là giá trị ban đầu là t0=0s, đợi khoảng 1s thì t1 =1s, t2=2,t3=3s,....Nhưng giá trị ra rất ngẫu nhiên. Mình không hiểu.

Thắc mắc 2. Và mình chọn create file nhưng sao cứ phải open một file có sẵn.

Thắc mắc 3. Các bạn cho mình hỏi là làm sao để đồ thị thể hiện giá trị thay đổi khi đang chạy chương trình, chứ không phải chạy xong rồi mới có đồ thị.

Mình có đính kèm bài tập của mình để các bạn xem.

Mình cảm ơn các bạn rất nhiều. Chúc các bạn cuối tuần vui vẻ.

0 Kudos
Message 1 of 8
(5,219 Views)
Solution
Accepted by Newloan93ni

Trả lời vấn đề khó nhất trước, cái số 3:

Gợi ý là bạn sử dụng thanh dịch. Nguyên tắc là bạn sẽ tạo 1 mảng. Tại t0 có 1 giá trị sẽ đc đi vào thanh dịch rồi đi vào mảng, t1...t2 cũng như vậy. Trình bày hơi khó, để tối mình sẽ up ví dụ cụ thể cho bạn cả 3 vấn đề trên.

0 Kudos
Message 2 of 8
(5,212 Views)

Mình cảm ơn bạn rất nhiều. Bạn có thể dùng tiếng Anh cũng được, tại mình cũng chưa hiểu thanh dịch là gì.

0 Kudos
Message 3 of 8
(5,206 Views)

Mình gửi bạn ví dụ có hình ảnh và file .vi đây. Ví dụ này chắc đủ 3 vấn đề bạn cần. Tự tìm hiểu, có gì không hiểu thì hỏi thêm.

Thanh dịch là shift register.

Trả lời ý 2: bạn có thể tạo sẵn đường dẫn cho file cần lưu dữ liệu thu thập. Có rất nhiều cách để lưu từ dạng txt, csv hay thậm chí là word, pdf:)

 

Download All
Message 4 of 8
(5,200 Views)

Woa. Cảm ơn bạn rất nhiều. Để mình tìm hiểu thêm. Có gì không rõ mình xin được hỏi tiếp.

Thanks

0 Kudos
Message 5 of 8
(5,189 Views)

Mình nghĩ là cái đồng hồ bạn đặt là 1000ms, có nghĩa là sau mỗi 1s là có một giá trị mới xuất hiện trên amplitude. Trên trục x, thời gian sẽ là 0s, 1s, 2s, 3s, 4s,....

Như vậy, mình muốn sau 2s hoặc sau một t(s) nào đó sẽ xuất hiện một giá trị mới trên amplitude. Ví dụ mình muốn sau 2s, thì mình đặt giá trị cho đồng hồ là 2000ms, và mình sẽ nghĩ rằng trên trục thời gian sẽ có 0s, 2s, 4s, 6s,... và trên file giá trị cũng như vậy. Tuy nhiên, trên trục thời gian vẫn là 0s, 1s, 2s, 3s, .....Có nghĩa là mình muốn trục thời gian là thời gian từ lúc bắt đầu cho đến khi xuất hiện một số mới trên trục amplitude. Có lẽ phải dùng một shift register ở đây nữa?

Hy vọng thắc mắc của mình không ngớ ngẩn.

0 Kudos
Message 6 of 8
(5,186 Views)

Không phải tạo thêm thanh ghi dịch nữa.

Đơn giản thôi, trong hàm add number to array ấy, có 2 đầu input, 2 đầu này đều đc nối đến i. Một input là giá trị số cần add vào mảng, 1 input và vị trí add số trong mảng. Vị trí add số thì vẫn nối với i, còn đầu input giá trị số add vào mảng thì tách ra, lấy i nhân 2 là ok.

0 Kudos
Message 7 of 8
(5,181 Views)

Yeah, mình đã làm được. Cảm ơn bạn rất nhiều

0 Kudos
Message 8 of 8
(5,177 Views)