Nhận bản tin Online
Bài viết mới
04 Th12 2023

Blog Tự Động Hóa

Bạn không cần phải sử dụng ngôn ngữ cấp thấp để lập trình
Tự động hóa

Bạn không cần phải sử dụng ngôn ngữ cấp thấp để lập trình 

Có nhiều ý kiến khác nhau và trải qua nhiều cuộc tranh luận trong nhiều năm qua, và giờ đây là thời điểm thích hợp để bàn về những vấn đề liên quan lên LabVIEW và sau đó là nói đến sự hỗ trợ các I/O của chúng ta.
LabVIEW là môi trường phát triển, phần mềm này tạo ra những ứng dụng cho khách hàng, xử lý các dữ liệu từ thế giới bên ngoài hay các tín hiệu trong kỹ thuật và khoa học. Với các công cụ hỗ trợ mạnh như LabVIEW có thể tạo ra những dự án lớn trong thời gian ngắn nhất và tốn ít nhân lực nhất.

Điều gì làm nên LabVIEW?

LabVIEW, bản chất là một môi trường phát triển phần mềm với rất nhiều công cụ, một trong những số đó dùng để phục vụ cho việc kiểm tra, đo lường, hoặc các ứng dụng điều khiển.
Theo lời các nhà phát triển phần mềm NI “chúng tôi viết các mã cấp thấp vì thế bạn không cần phải làm điều đó”. Các nhóm phát triển toàn cầu của chúng tôi luôn luôn làm việc trong 6 nhóm như hình 1 để tạo sự tự do cho bạn, những nhà lập trình LabVIEW chúng tôi tập trung những vấn đề lớn và các nhiệm vụ mà bạn đang giải quyết. Bạn có thể kết nối đến hàng ngàn các phần cứng thiết bị như sau:
• Thiết bị khoa học.
• Thiết bị thu thập dữ liệu.
• Các cảm biến
• Cameras
• Động cơ và các cơ cấu chấp hành.

Hình 1 Môi trường phát triển LabVIEW tích hợp nhiều công cụ hữu ích từ ngôn ngữ lập trình đồ họa đển việc tích hợp các driver hỗ trợ phần cứng.

Đặc biệt, được tích hợp nhiều thiết bị phần cứng có thể là một điểm chính trong tự động đo lường và hệ thống điều khiển. Điều tệ hơn, nếu không tích hợp nhiều phần cứng khác nhau sẽ dẫn đến hậu quả lớn và lỗi xử lý khi tiến hành bằng tay các đo lường độc lập và sau đó cố gắng thu thập, xử lý và lập bảng dữ liệu bằng tay.
LabVIEW giúp quá trình tích hợp các phần cứng được dễ dàng hơn bằng cách tạo ra một chương trình chắc chắn bất chấp loại phần cứng mà bạn đang dùng. Các chức năng khởi tạo-cấu hình-đọc/ghi mẫu được lập lại cho nhiều phần cứng khác nhau. Dữ liệu luôn luôn được cấu hình lại sao cho tương thích với chức năng phân tích và báo cáo, và bạn không cần phải sử dụng các công cụ bằng tay đề tìm các giao thức truyền thông cấp thấp trừ những trường hợp xác định.
LabVIEW tích hợp nhiều Driver cho hàng ngàn các phần cứng của NI. Rất ít trường hợp bạn phải sử dụng các công cụ để tạo ra những Driver cho riêng bạn bằng cách tái sử dụng DLL hoặc những driver khác không liên quan đến LabVIEW, hoặc sử dụng những công cụ truyền thông cấp thấp.
Với bản chất cross-flatfom của LabVIEW, bạn có thể sử dụng code trên nhiều nền máy tính khác nhau. Ngoài ra, còn có thể trên dòng destktop Oss (Windows, Mac, và Linux), LabVIEW luôn nhắm đến việc xử lý thời gian thực và công nghệ FPGAs.
Đặc điểm LabVIEW?
Với những công cụ phát triển tích hợp trong LabVIEW sẽ làm bạn cảm thấy tiếc nuối khi phải gỡ bỏ nó. Tôi đã gặp trưởng nhóm phát triển phần mềm driver của NI-DAQmx để lấy những ý tưởng, để tạo ra những công cụ tốt nhất cho bạn.
“Tạo ra một API là một cách tốt của việc ứng dụng một giao diện chung cho nhiều người cho những chức năng giống nhau”. Một ví dụ hay của điều này là Driver NI-DAQmx. API này đưa ra vài Vis, bạn có thể chọn để thực hiện những nhiệm vụ. Những Vis này sau đó gọi vào trong những Vis cấp thấp hơn để giúp thực hiện những chức năng. Bởi vì nó có thể không cần thiết rằng bạn biết và hiểu tất cả những cấp khác nhau được gọi, điều này giúp cho API thêm trực quan nếu phần giới hạn của VIs là có thể để đặt trên sơ đồ khối, bạn có thể sử dụng những khối chức năng cho các task mà bạn muốn hoàn thành và tiết kiệm thời gian bằng cách không cần thiết phải tạo ra các chức năng cấp thấp hơn.

Hình 2. LabVIEW Kết nối đến hầu hết phần cứng nào, tiết kiệm thời gian cho bạn

Ví dụ, driver NI-DAQmx lấy tín hiệu điều khiển từ nhiều hệ thống khác nhau từ các thiết bị đo lường – hoặc từ các “routing”. Ví dụ, với hai thiết bị thu thập dữ liệu được kết nối qua hệ thống cáp tích hợp thời gian thực (RTSI) cần phải đồng bộ để thu thập dữ liệu liên tục. Ở cấp độ cao, điều này yêu cầu một trong các thiết bị phải hoạt động như là một master và route và tín hiệu bắt đầu đến thiết bị slave. Trong những APIs trước, bạn phải viết mã để gửi tín hiệu thời gian từ master đến đường RTSI không dùng và tín hiệu bắt đầu đến cái khác và sau đó viết thêm mã đến route. Những tín hiệu từ đường RTSI trên các thiết bị slave đến những hệ thống thời gian và trigger phụ. Điều này thì nhàm chán, không trực giác, dễ xảy ra lỗi…tuy nhiên, sự tích hợp chặt chẽ của những thiết bị trong hệ thống NI-DAQmx, bao gồm thiết bị “passive” nhưng cáp RTSI , làm cho khả năng NI-DAQmx để tính toán đến cuối đường dẫn cho tín hiệu và gửi cấu hình chính xác đến các board là tự động. NI_DAQmx biết được các tài nguyên các hệ thống là tự do chưa sử dụng. Nó chọn đường truyền RTSI chưa sử dụng và các đường route để lấy tín hiệu đến nơi cần thiết. Bạn chỉ cần báo cho NI-DAQmx rằng tính hiệu định thời của thiết bị slave và tín hiệu bắt đầu được bắt nguồn từ tín hiệu định thời và tín hiệu strigger của hệ thống con trên thiết bị chính và NI-DAQmx thực hiện công việc khó khăn này.
Một nhóm Driver NI-DAQmx cũng được thiết kế API rất linh động cho người lập trình để tạo các task một dễ dàng và đưa ra các công cụ trung gian và thuận lợi cho người sử dụng để nâng cao hiệu suất của các ứng dụng và điều này sẽ làm thiết bị NI trở nên tinh vi hơn. Có những điều mà người sử dụng chưa biết, có một mô hình trạng thái liến quan đến task NI-DAQmx bao gồm 5 trạng thái khác nhau không thực hiện được, xác nhận, dự trữ, tận tụy và chạy để dễ dàng sử dụng, API,NI-DAQmx được thiết kế để di chuyển các task đến các trangjthais một cách tự động mà không cần một lệnh nào và hầu hết thời gian là giành để xử lý các task. Tuy nhiên, có fine-grained điều khiển toàn bộ trạng thái của một task là cần thiết cho các ứng dụng vì thế NI-DAQ mở rộng các DAQmx Control Task API. Điều này thuận lợi cho người sử dụng là có khả năng bổ sung trạng thái các task bằng tay, ví dụ như những người sử dụng có thể tối ưu hóa hiệu suất các task. Các driver NI-DAQ được nhóm lại một cách cẩn thận sao cho có thể cung cấp những tính năng một các nhanh chóng và dễ dàng để thực hiện việc đo lường đơn giản và các task tổng quan, trong khi các công cụ cũng sẽ mở ra những tiềm năng của các phần cứng và phần mềm

Related posts

Trả lời

Required fields are marked *