Articles by "LabView"

Amplifier Analyzer AOIP Bài giảng LabView Balance Bản tin công nghệ Biến tần-Khởi động mềm blogger_ino Calibrator Cảm biến chuyên dụng Takex DX-S35F – DX-S33C – Phase Diffrential Detection BGS Sensors – Takex Việt Nam Cảm biến quang AECO FT18SM-CP50 – Photoelectric Sensors AECO – AECO Viet Nam Cảm biến quang AECO FTQSP – Photoelectric Sensors AECO – AECO Viet Nam Cảm biến quang IFM – Photoelectric Sensor IFM O1D100 – IFM Việt Nam – INO Việt Nam Cảm biến siêu âm Takex US-1AH / US-1AHPN – Ultrasonic Sensers – Takex Viet Nam Cảm biến siêu âm Takex US-S25AN – Takex Viet Nam – INO Việt Nam Cảm biến siêu âm Takex US-T04AN – Ultrasonic Sensers – Takex Viet Nam – INO Việt Nam Cảm biến siêu âm Takex US-T50 / US-R25 – Ultrasonic Sensers – Takex Viet Nam – INO Việt Nam Cảm biến siêu âm Takex US-U30AN – Takex Viet Nam – INO Việt Nam Cảm biến siêu âm Takex USA-S1AN / USA-S3MAN / USA-S6AN – Ultrasonic Displacement Sensers – Takex Viet Nam Cảm biến siêu âm Takex VS-S50RNF / VS-S20R / VS-S20B / VS-S15W / VS-S15WNF / VS-S15RBNF – BGS Photodiode Array Sensers – Takex Viet Nam Cảm biến sợi quang Takex F1R – F1RPN – F1RH – F1RHPN – F1RM – F1RMPN – F1RH-J – F11R – F11CR – F11CRPN – Digital Display Fiber Optic Sensors – Takex Viet Nam Cảm biến sợi quang Takex F70RK – F70GK – F70BK – F70WK – F70RKPN – F70GKPN – F70BKPN – F70WKPN – Fiber Optic Sensors – Takex Viet Nam Cảm biến sợi quang Takex F80R – F80RPN – Digital Display Fiber Optic Sensors – Takex Viet Nam Cảm biến vị trí AECO – Cảm biến cảm ứng AECO SMF – M12 – M18 – M30 – Metalface Inductive Sensors – AECO Việt Nam Cảm biến vị trí AECO – Cảm biến điện dung AECO SC18SP – SC30SM – Capacitive Sensors – AECO Việt Nam Cảm biến vị trí AECO – Cảm biến điện dung AECO SC30SP – SC30M – Capacitive Sensors – AECO Việt Nam Cảm biến vị trí AECO – Cảm biến từ AECO SI12SM – Inductive Sensors – AECO Việt Nam Cảm biến vị trí AECO – Cảm biến từ AECO SIP12 – SIQ80 – Inductive Sensors – AECO Việt Nam Controller Counter/Timer Data Acquisition System Dịch vụ Đếm xung và đếm số vòng quay của động cơ bằng encoder ElCO và PLC S7-300 – ELCO Việt Nam Điều Khiển-Giám Sát Đo các đại lượng điện Đo lực-Momen Đo Lường-Kiểm Tra Đo quang-Âm thanh featuredpost featuredpost/sản phẩm Form-Biểu mẫu Giới thiệu Hiệu chuẩn-Cân chỉnh HMI Siemens – Biến Tần Siemens – Simatic Siemens – Module Siemens – Siemens Việt Nam IFTTT Khác Khoảng cách-Vị trí LabView Linh kiện thiết bị khác Lưu lương-Mức Meter Mỹ áp thuế khủng gần 800% lên thép Nga National Instruments – Integrated 266 MHz Real-Time Controller and 2M Gate FPGA (Model: NI cRIO-9073) Nhiệt độ-Áp suất Oscilloscope Phần mềm LabView Phân tích-Thử nghiệm PLC-HMI Power Supply Sản phẩm Sản phẩm - Dự án Sản phẩm nổi bật Sản-phẩm-nổi-bật Sensor Signal Generator Súng bắn nhiệt Fluke – Máy chụp nhiệt Fluke – Fluke Việt Nam – INO Việt Nam Switch Tài liệu LabView Tin tức Tin tức - Sự kiện Tự Động-Đóng Cắt YouTube
Hiển thị các bài đăng có nhãn LabView. Hiển thị tất cả bài đăng

Ví dụ về ứng dụng iPhone, iPad or iPod Touch để điều khiển các ứng dụng LabVIEW trên máy tính và ngược lại
Có bao giờ bạn đã thử điều khiển một ứng dụng bằng LabVIEW trên máy tính của mình từ Iphone, I Pad hay Ipod hay chưa? Có bao giờ bạn kết nối và truyền nhận dữ liệu từ các máy tính đến các thiết bị Media như điều khiển một nhạc cụ, một máy tính khác…thông qua giao tiếp UDP, thông qua wifi…
Bài viết này cho bạn một cái nhìn cơ bản về cách thức sử dụng LabVIEW trong các ứng dụng nói trên.
Đầu tiên, bạn nên download và cài đặt ứng dụng TouchOSC trên thiết bị Media của mình (Ở đây tôi sử dụng một máy nghe nhạc IPod Touch của Apple). TouchOSC là một ứng dụng trên iPhone / iPod Touch / iPad mà cho phép bạn truyền và nhận Open Sound Control messages thông qua mạng Wifi sử dụng giao thức UDP.
Ipod/Iphone/Ipad and LabVIEW, touchOSC and LabVIEW, LabVIEW and Wifi, UDP protocal and LabVIEW
Sau khi cài đặt xong thì trên thiết bị cầm tay của bạn sẽ có ứng dụng TouchOSC này.
Ipod/Iphone/Ipad and LabVIEW, touchOSC and LabVIEW, LabVIEW and Wifi, UDP protocal and LabVIEW
Tiếp theo, bạn phải sử dụng một công cụ tạo giao diện cho ứng dụng của mình gọi là TouchOSC Editor (See here for download link) (Bạn cần cài đặt Java để sử dụng ứng dụng này). Ở đây, tôi tạo ra một giao diện bao gồm các nút bấm, control, LED và các message box …
Ipod/Iphone/Ipad and LabVIEW, touchOSC and LabVIEW, LabVIEW and Wifi, UDP protocal and LabVIEW
Sau khi hoàn thành, lưu file với tên gọi nào đó (Ở đây, tôi lưu tên file là INO Test.touchosc).
Tiếp theo là bước cấu hình cho kết nối giữa thiết bị Media và máy tính thông qua mạng Internet
Ipod/Iphone/Ipad and LabVIEW, touchOSC and LabVIEW, LabVIEW and Wifi, UDP protocal and LabVIEW
Ipod/Iphone/Ipad and LabVIEW, touchOSC and LabVIEW, LabVIEW and Wifi, UDP protocal and LabVIEW
 Sau khi đã cấu hình xong, trên màn hình của Ipod sẽ hiện ra giao diện mà bạn đã tạo ra ở trên. Bây giờ, bạn mở ứng dụng LabVIEW của bạn trên máy tính có địa chỉ IP 192.168.0.15 nói trên và chạy ứng dụng đó.
Tuỳ thuộc vào ứng dụng mà bạn viết thì chức năng và cách tương tác sẽ mang một cách thức riêng. Ở đây, bạn có thể tham khảo một ứng dụng LabVIEW cho phép bạn điều khiển các nút bấm, truyền nhận các dữ liệu từ máy tính tới IPod và ngược lại. Để truyền dữ liệu từ máy tính tới Ipod, bạn phải cấu hình địa chỉ IP tại ô IP address của phần Transmit trên ứng dụng LabVIEW theo địa chỉ của Ipod.
Ipod/Iphone/Ipad and LabVIEW, touchOSC and LabVIEW, LabVIEW and Wifi, UDP protocal and LabVIEW
Ví dụ: Để truyền một tin nhắn từ máy tính với thông điệp “Xin chao INO” cho hiển thị trên đối tượng Message ở trên Ipod, chúng ta gõ nội dung tin nhắn trong ô String, chọn loại dữ liệu gửi qua OSC là String rồi bấm nút Send. Lập tức trên màn hình Ipod, tại ô Message của giao diện hiện ra nội dung này. Nếu bạn muốn điều khiển một đối tượng ví dụ như bật một đối tượng LED trên màn hình Ipod, bạn phải đổi địa chỉ tại ô OSC Address sang đối tượng LED và gõ vào nội dung 0,1 (Tắt hoặc mở) rồi bấm nút Send. Đối tượng LED trên màn hình Ipod sẽ sáng hoặc tắt theo dữ liệu bạn truyền vào. Bạn có thể gõ dữ liệu vào ô Float32 nhưng lưu ý khi đó cần chọn lại OSC type là String hoặc float32 tương ứng.
Ngược lại, nếu bạn dùng tay để điều khiển các đối tượng trên màn hình Ipod, ở đây là bạn di chuyển con trỏ trên đối tượng XY Pad của màn hình Ipod thì tương ứng trên màn hình LabVIEW cũng có sự di chuyển con trỏ và các toạ độ x, y, z sẽ thay đổi theo sự di chuyển của bạn trên Ipod.
Ipod/Iphone/Ipad and LabVIEW, touchOSC and LabVIEW, LabVIEW and Wifi, UDP protocal and LabVIEW
Bạn cũng có thể sử dụng nhiều máy tính để điều khiển các đối tượng trên màn hình Ipod (nhưng lưu ý là các máy tính cần thiết lập địa chỉ IP tại ô IP address giống với địa chỉ IP của Ipod).
Với việc nắm bắt được ví dụ này, cho phép bạn thoải mái sáng tạo ra các ứng dụng khác thông qua sự phối hợp giữa LabVIEW, TouchOSC và Iphone/Ipad/Ipod.Lưu ý rằng, vì ứng dụng giao tiếp qua giao thức UDP/IP nên bạn hoàn toàn có thể sử dụng Iphone, Ipad, Ipod touch truy cập vào một mạng Wifi và điều khiển ứng dụng LabVIEW trên một máy tính kết nối mạng Internet từ xa miễn là trên Ipod bạn thiết lập đúng địa chỉ IP của máy tính chạy ứng dụng LabVIEW. Trong trường hợp ứng dụng LabVIEW của bạn điều khiển và kết nối với một thiết bị ngoại vi thì sử dụng iPhone, iPad hoặc iPod Touch cũng cho phép bạn tương tác với các thiết bị đó thông qua mạng Internet. Giờ đây, bạn mặc sức sáng tạo cho các ứng dụng của mình với sự trợ giúp điều khiển từ iPhone, iPad hoặc iPod Touch.
Để download ví dụ LabVIEW sử dụng trong chương trình, bạn click vào link dưới đây.
 - File : osc%20server%282009sp1%29.zip
- Type : zip
Hãy tham khảo qua một vài Video cho các ứng dụng tương tự

Controlling the servo by iPhone


Turn a servo with your iPhone

iPhone Controlling Servos and LEDs on Arduino


Người viết : Dung nv

Chúng ta hãy cùng khám phá  một kỹ thuật sử dụng vòng lặp tiếp theo là Event-Driven
Trong LabVIEW, thông thường khi kết thúc một vòng lặp, nó ngay lập tức bắt đầu thực thi một vòng lặp tiếp theo. Không có một sự ngừng trệ hay trì hoãn giữa các vòng lặp liên tục. Khi đó hệ thống luôn luôn phải dò xét (polling) xem chương trình có thể thực thi được vòng lặp tiếp theo hay chưa và khi nào kết thúc vòng lặp. Giải pháp tạm thời đưa ra là người dùng chỉ cần thêm vào vòng lặp while một hàm Wait (ms) để cho phép vòng lặp được nghỉ trong một khoảng thời gian xác định (Đơn vị ms). Tuy nhiên khi sử dụng hàm Wait trong vòng lặp While lại phát sinh vấn đề sau:
-          Nếu người dùng đặt một khoảng thời gian t(ms) rất nhỏ hoặc bằng 0 ms trong hàm Wait thì vòng lặp While cứ lặp đi lặp lại liên tục, điều này dẫn tới việc toàn bộ CPU phải tập trung thực thi ứng dụng của LabVIEW mà không có thời gian và tài nguyên để thực thi các tác vụ khác, nhiều khi dẫn tới máy bị treo.
-          Ngược lại nếu nếu thời gian t(ms) lớn hơn tốc độ thực thi của vòng lặp trong chương trình thì sẽ gây ra sự chậm trễ trong thời gian đáp ứng.
Giải pháp đưa ra trong trường hợp trên là đối với những ứng dụng vẫn thường gặp thì người dùng cần phải xác định và kiểm soát tốc độ thực thi vòng lặp của nó, mức độ tần suất thực thi của vòng lặp để CPU có những khoảng thời gian dù nhỏ nhưng rất đáng kể nằm ở trạng thái Idle, Sleep hoặc thực thi các tác vụ khác. Ngoài biện pháp trên , Labview đã phát triển thêm cấu trúc  event-driven với mục đích để tối ưu hóa vòng lặp
Sử dụng cấu trúc sự kiện trong LabVIEW (Event structure)
Vì sao phải sử dụng cấu trúc sự kiện?
Giả sử ta có một ứng dụng mà người dùng sẽ tương tác với chương trình thông qua một nút bấm trên Front Panel. Mỗi khi người dùng bấm vào nút đó thì chương trình sẽ thực thi tác vụ đã được chỉ định trước. Chương trình đó có thể được thực thi bởi code trong Block diagram sau đây.

Event-Driven, LabVIEW, học LabVIEW, kỹ thuật vòng lặp, thủ thuật vòng lặp trong LabVIEW
Theo đó, mỗi khi người dùng nhấn nút “Do some work?” thì nội dung code trong cấu trúc Case (Trường hợp True) sẽ được thực thi. Ở đây, nội dung code trong cấu  trúc Case chỉ là tự động cọng thêm một đơn vị để nhằm tính toán số lần người dùng nhấn nút “Do Some Work?”. Mặc dù chúng ta cũng đã sử dụng kỹ thuật Timing cho vòng lặp đã được trình bày ở các bài trước, song số lần thực thi vòng lặp vẫn còn khá nhiều. Vòng lặp vẫn phải dò xét liệu rằng người dùng đã nhấn nút hay chưa tuy rằng không còn liên tục nữa nhưng điều này cũng chiếm khá nhiều tài nguyên của CPU trong các ứng dụng lớn và phức tạp. Chúng ta thấy dù thực sự chúng ta chỉ cần 3 lần lặp cho 3 lần nhấn nút “Do some work?” nhưng vòng lặp đã thực thi tới 339 lần tổng cộng. Có quá nhiều lần thực thi một cách lãng phí (Đó là các trường hợp ứng “False” trong cấu trúc Case). Vậy có cách nào để giải quyết sự lãng phí tài nguyên CPU này hay không? Câu trả lời nằm ở cách lập trình dưới đây:

Event-Driven, LabVIEW, học LabVIEW, kỹ thuật vòng lặp, thủ thuật vòng lặp trong LabVIEW
 

Trong cách lập trình này, chúng ta đã sử dụng cấu trúc Event Driven để giải quyết vấn đề chương trình, vòng lặp cứ phải liên tục polling (Dò xét) liệu khi nào thì người dùng nhấn nút “Do some work?”. Ở đây, vòng lặp chỉ thực thi khi người dùng nhấn nút mà thôi, trong thời gian người dùng không tương tác, nhấn nút thì vòng lặp rơi vào trạng thái ngủ đông (Idle), tài nguyên của máy được giải phóng hoàn toàn. Số lần lặp thực thi tương ứng với số lần người dùng nhấn nút (5-5) như hình trên.
Định nghĩa sự kiện:
Giống như cấu trúc Case Structure, Event driven bao gồm nhiều sơ đồ con, trong số đó được cấu hình để xử lý một hoặc nhiều sự kiện. Sự kiện là những hành động người dùng trên front panel,  chẳng hạn như nhấn vào một phím (Key Down) hoặc di chuyển chuột (Mouse Move) có thể thêm một Event Structure để sơ đồ khối giống như bất cứ câu trúc nào khác của LabVIEW. Như trường hợp trên, sự kiện ở đây là trường hợp nút nhấn “Do some work?” thay đổi giá trị. Cứ mỗi lần nút nhấn có kiểu dữ liệu Boolean này thay đổi trạng thái từ True sang False hoặc ngược lại thì tác vụ tương ứng với sự kiện đó được thực thi.
Cách thức sử dụng và cấu hình sự kiện:
Người dùng có thể sử dụng cấu trúc event-driven để xử lý các sự kiện trong một ứng dụng giống như cấu trúc Case Structure, có thể thêm nhiều trường hợp sự kiện và có thể cấu hình những trường hợp để xử lý một hoặc nhiều sự kiện. Khi những sự kiện xảy ra, LabVIEW thực hiện các trường hợp tương ứng.
 Khi các Event Structure đã xử lý một sự kiện, nó đã hoàn tất thực hiện. Event Structure không tự động lặp để xử lý nhiều sự kiện, điều này đòi hỏi bổ sung một vòng lặp while ngoài Event Structure. Đó cũng chính là lí do chúng tôi coi việc sử dụng Event Structure là một trong những kỹ thuật sử dụng vòng lặp và nội dung này được trình bày trong serial bài viết cho chủ đề này.
Các hình ảnh dưới đây mô tả các thao tác để đặt một cấu trúc sự kiện Event-driven trong Block diagram cũng như cách cấu hình cho một sự kiện
 

Event-Driven, LabVIEW, học LabVIEW, kỹ thuật vòng lặp, thủ thuật vòng lặp trong LabVIEW
Lựa chọn  các sự kiện bằng click  phải chuột lên biên cấu trúc sự kiện và chọn Edit Events Handled by This Case từ menu. Sử dụng hộp thoại Edit sự kiện xuất hiện để chỉnh sửa một hoặc nhiều  trường hợp
Event-Driven, LabVIEW, học LabVIEW, kỹ thuật vòng lặp, thủ thuật vòng lặp trong LabVIEW
 
Những lưu ý khi sử dụng cấu trúc Event-driven:
  1. 1.    Ứng dụng đang chạy không phải dùng  polling
  2. 2.    Khi ứng dụng không hoạt động, hệ điều hành giải phóng tài nguyên, có thời gian xử lý các chương trình khác. Điều này làm cho VI và các ứng dụng khác hiệu quả hơn và nâng cao hiệu suất.
  3. 3.      Mỗi lần một sự kiện xảy ra, nó được lưu trữ trong dữ liệu đang chờ xử lí của hệ điều hành. Khi các event-driven được tác động, sự kiện đầu tiên trong dữ liệu đang chờ xử lí được thực hiện, sau đó là sự kiện  tiếp theo và cứ như vậy người dùng không phải lo lắng về việc thiếu một sự kiện thay đổi nhanh chóng trên Front Panel:
  4. 4.      Không bao giờ đặt một cấu trúc event-driven bên trong một cấu trúc event-driven khác, khi đó Chương trình VI sẽ ngưng hoạt động.
Để tìm hiểu và thực hành thêm về cấu trúc sự kiện, chúng ta có thể tham khảo ví dụ demo dưới đây về cách sử dụng cấu trúc sự kiện Event-Driven
- File : demo_event_driven.zip
- Type : zip
- Size : 485.1 KB

Người viết : Nguyễn Tiến & Dung nv

Author Name

CÔNG TY TNHH GIẢI PHÁP VÀ CÔNG NGHỆ ĐO LƯỜNG INO Địa chỉ: S2-G2, Chung cư SunView, Đường Cây Keo, Phường Tam Phú, Quận Thủ Đức, TP Hồ Chí Minh, Việt Nam Tel: (084)2873.000.184 | Email: info@ino.com.vn Hot line: 0939021319/0908289053 | Website: www.ino.com.vn | www.ino.vn

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.