Bảng điều khiển Habr dựa trên HMI của Advantech


Video: Bảng điều khiển dành cho quản trị viên Habr. Cho phép bạn điều chỉnh nghiệp lực, xếp hạng và cấm người dùng.

TL; DR: Trong bài viết này, tôi sẽ cố gắng tạo bảng điều khiển truyện tranh Habr bằng môi trường phát triển giao diện công nghiệp Webaccess/HMI Designer và thiết bị đầu cuối WebOP.

Giao diện người-máy (HMI) là một tập hợp các hệ thống tương tác giữa con người với máy móc được điều khiển. Thông thường, thuật ngữ này được áp dụng cho các hệ thống công nghiệp có người vận hành và bảng điều khiển.

WebOP - một thiết bị đầu cuối công nghiệp tự trị để tạo ra các giao diện người-máy. Dùng để tạo ra các bảng điều khiển sản xuất, hệ thống giám sát, phòng điều khiển, bộ điều khiển nhà thông minh,.. Hỗ trợ kết nối trực tiếp với thiết bị công nghiệp và có thể hoạt động như một phần của hệ thống SCADA.

Thiết bị đầu cuối WebOP - phần cứng

Bảng điều khiển Habr dựa trên HMI của AdvantechThiết bị đầu cuối WebOP là một máy tính công suất thấp dựa trên bộ xử lý ARM, trong một hộp duy nhất có màn hình và màn hình cảm ứng, được thiết kế để chạy chương trình có giao diện đồ họa được tạo trong HMI Designer. Tùy thuộc vào kiểu máy, thiết bị đầu cuối có nhiều giao diện công nghiệp khác nhau trên bo mạch: RS-232/422/485, CAN bus để kết nối với hệ thống ô tô, cổng USB Host để kết nối các thiết bị ngoại vi bổ sung, cổng USB Client để kết nối thiết bị đầu cuối với máy tính, âm thanh đầu vào và đầu ra âm thanh, đầu đọc thẻ MicroSD để truyền tải cài đặt và bộ nhớ ổn định.

Các thiết bị này được định vị là sự thay thế hợp túi tiền cho những chiếc PC tất cả trong một, dành cho những tác vụ không yêu cầu bộ xử lý mạnh mẽ và tài nguyên của một máy tính để bàn chính thức. WebOP có thể hoạt động như một thiết bị đầu cuối độc lập để điều khiển và nhập/xuất dữ liệu, được ghép nối với các WebOP khác hoặc như một phần của hệ thống SCADA.

Bảng điều khiển Habr dựa trên HMI của Advantech
Thiết bị đầu cuối WebOP có thể kết nối trực tiếp với các thiết bị công nghiệp

Làm mát thụ động và bảo vệ IP66

Do tản nhiệt thấp, một số mẫu WebOP được thiết kế hoàn toàn không có hệ thống làm mát không khí chủ động. Điều này cho phép thiết bị được gắn ở những khu vực nhạy cảm với độ ồn và giảm lượng bụi lọt vào bên trong vỏ.

Mặt trước được chế tạo không có khe hở hoặc khớp nối, có cấp độ bảo vệ IP66 và cho phép nước xâm nhập trực tiếp dưới áp lực.

Bảng điều khiển Habr dựa trên HMI của Advantech
Bảng mặt sau của thiết bị đầu cuối WOP-3100T

Bộ nhớ không bay hơi

Để tránh mất dữ liệu, WebOP có 128Kb bộ nhớ cố định, có thể hoạt động theo cách tương tự như với RAM. Nó có thể lưu trữ số đo đồng hồ và các dữ liệu quan trọng khác. Trong trường hợp mất điện, dữ liệu sẽ được lưu và khôi phục sau khi khởi động lại.

Cập nhật từ xa

Chương trình chạy trên thiết bị đầu cuối có thể được cập nhật từ xa thông qua mạng Ethernet hoặc qua giao diện nối tiếp RS-232/485. Điều này giúp đơn giản hóa việc bảo trì vì nó loại bỏ nhu cầu phải đến tất cả các thiết bị đầu cuối để cập nhật phần mềm.

Mô hình WebOP

Bảng điều khiển Habr dựa trên HMI của Advantech
Dòng 2000T - các thiết bị giá cả phải chăng nhất được xây dựng trên cơ sở hệ điều hành thời gian thực HMI RTOS. Bộ truyện được đại diện bởi WebOP-2040T/2070T/2080T/2100T, với đường chéo màn hình lần lượt là 4,3 inch, 7 inch, 8 inch và 10.1 inch.

Bảng điều khiển Habr dựa trên HMI của Advantech
Dòng 3000T — các mẫu cao cấp hơn dựa trên hệ điều hành Windows CE. Chúng khác với dòng 2000T ở số lượng lớn giao diện phần cứng và có giao diện CAN trên bo mạch. Các thiết bị này hoạt động trong phạm vi nhiệt độ mở rộng (-20~60°C) và có khả năng bảo vệ chống tĩnh điện (Không khí: 15KV/Tiếp điểm: 8KV). Dây chuyền đáp ứng đầy đủ các yêu cầu của tiêu chuẩn IEC-61000, cho phép sử dụng các thiết bị trong sản xuất chất bán dẫn trong đó vấn đề phóng tĩnh điện. Bộ truyện được đại diện bởi WebOP-3070T/3100T/3120T, với đường chéo màn hình lần lượt là 7 inch, 10.1 inch và 12.1 inch.

Môi trường phát triển WebAccess/HMI Designer

Thiết bị đầu cuối WebOP ngay từ đầu chỉ là một máy tính ARM công suất thấp mà bạn có thể chạy bất kỳ phần mềm nào trên đó, nhưng điểm mấu chốt của giải pháp này là môi trường phát triển giao diện công nghiệp WebAcess/HMI độc quyền. Hệ thống bao gồm hai thành phần:

  • Nhà thiết kế HMI - môi trường để phát triển các giao diện và logic lập trình. Chạy trong Windows trên máy tính của lập trình viên. Chương trình cuối cùng được biên dịch thành một tệp và chuyển đến thiết bị đầu cuối để thực thi khi chạy. Chương trình này có sẵn bằng tiếng Nga.
  • Thời gian chạy HMI — thời gian chạy để chạy chương trình đã biên dịch trên thiết bị đầu cuối cuối cùng. Nó có thể hoạt động không chỉ trên các thiết bị đầu cuối WebOP mà còn trên Advantech UNO, MIC và máy tính để bàn thông thường. Có phiên bản thời gian chạy cho Linux, Windows, Windows CE.

Bảng điều khiển Habr dựa trên HMI của Advantech

Xin chào thế giới - tạo một dự án

Hãy bắt đầu tạo giao diện thử nghiệm cho bảng điều khiển Habr của chúng tôi. Tôi sẽ chạy chương trình trên terminal WebOP-3100T chạy WinCE. Đầu tiên chúng ta tạo một dự án mới trong HMI Designer. Để chạy một chương trình trên WebOP, điều quan trọng là phải chọn đúng kiểu máy, định dạng của tệp cuối cùng sẽ phụ thuộc vào điều này. Ở bước này, bạn cũng có thể chọn kiến ​​trúc máy tính để bàn, sau đó tệp cuối cùng sẽ được biên dịch cho thời gian chạy X86.

Bảng điều khiển Habr dựa trên HMI của Advantech
Tạo một dự án mới và chọn một kiến ​​trúc

Chọn giao thức truyền thông qua đó chương trình đã biên dịch sẽ được tải vào WebOP. Ở bước này, bạn có thể chọn giao diện nối tiếp hoặc chỉ định địa chỉ IP của thiết bị đầu cuối.
Bảng điều khiển Habr dựa trên HMI của Advantech

Giao diện tạo dự án. Ở phía bên trái có sơ đồ cây về các thành phần của chương trình trong tương lai. Hiện tại, chúng ta chỉ quan tâm đến mục Screens, đây trực tiếp là những màn hình có các thành phần giao diện đồ họa sẽ được hiển thị trên terminal.

Bảng điều khiển Habr dựa trên HMI của Advantech

Đầu tiên, hãy tạo hai màn hình có dòng chữ "Xin chào thế giới" và khả năng chuyển đổi giữa chúng bằng các nút. Để thực hiện việc này, chúng tôi sẽ thêm một màn hình mới, Màn hình số 2 và trên mỗi màn hình, chúng tôi sẽ thêm một thành phần văn bản và hai nút để chuyển đổi giữa các màn hình (Nút màn hình). Hãy cấu hình từng nút để chuyển sang màn hình tiếp theo.
Bảng điều khiển Habr dựa trên HMI của Advantech
Giao diện cài đặt nút chuyển giữa các màn hình

Chương trình Hello World đã sẵn sàng, bây giờ bạn có thể biên dịch và chạy nó. Ở giai đoạn biên dịch có thể có lỗi trong trường hợp các biến hoặc địa chỉ được chỉ định không chính xác. Bất kỳ lỗi nào đều được coi là nghiêm trọng; chương trình sẽ chỉ được biên dịch nếu không có lỗi.
Môi trường cung cấp khả năng mô phỏng một thiết bị đầu cuối để bạn có thể gỡ lỗi chương trình trên máy tính của mình cục bộ. Có hai loại mô phỏng:

  • Mô phỏng trực tuyến — tất cả các nguồn dữ liệu bên ngoài được chỉ định trong chương trình sẽ được sử dụng. Đây có thể là USO hoặc thiết bị được kết nối qua giao diện nối tiếp hoặc Modbus TCP.
  • Mô phỏng ngoại tuyến - mô phỏng mà không cần sử dụng các thiết bị bên ngoài.

Mặc dù chúng tôi không có dữ liệu bên ngoài nhưng chúng tôi sử dụng mô phỏng ngoại tuyến do đã biên dịch chương trình trước đó. Chương trình cuối cùng sẽ nằm trong thư mục dự án, có tên ProjectName_ProgramName.px3

Bảng điều khiển Habr dựa trên HMI của Advantech
Chương trình đang chạy trong mô phỏng có thể được điều khiển bằng con trỏ chuột giống như trên màn hình cảm ứng của thiết bị đầu cuối WebOP. Chúng tôi thấy rằng mọi thứ hoạt động như dự định. Tuyệt vời.
Để tải chương trình xuống thiết bị đầu cuối vật lý, chỉ cần nhấp vào nút Tải xuống. Nhưng vì tôi không định cấu hình kết nối của thiết bị đầu cuối với môi trường phát triển nên bạn chỉ cần truyền tệp bằng ổ flash USB hoặc thẻ nhớ MicroSD.
Bảng điều khiển Habr dựa trên HMI của Advantech
Giao diện chương trình trực quan, tôi sẽ không đi qua từng khối đồ họa. Việc tạo hình nền, hình dạng và văn bản sẽ dễ dàng đối với bất kỳ ai đã sử dụng các chương trình tương tự như Word. Để tạo giao diện đồ họa, không cần kỹ năng lập trình; tất cả các thành phần đều được thêm bằng cách kéo chuột vào biểu mẫu.

Làm việc với bộ nhớ

Bây giờ chúng ta đã biết cách tạo các phần tử đồ họa, hãy tìm hiểu cách làm việc với nội dung động và ngôn ngữ kịch bản. Hãy tạo biểu đồ thanh hiển thị dữ liệu từ một biến U $ 100. Trong cài đặt biểu đồ, chọn loại dữ liệu: số nguyên 16 bit và phạm vi giá trị biểu đồ: từ 0 đến 10.

Bảng điều khiển Habr dựa trên HMI của Advantech

Chương trình hỗ trợ viết script bằng ba ngôn ngữ: VBScript, JavaScript và ngôn ngữ riêng. Tôi sẽ sử dụng tùy chọn thứ ba vì có các ví dụ về nó trong tài liệu và trợ giúp cú pháp tự động ngay trong trình soạn thảo.

Hãy thêm một macro mới:

Bảng điều khiển Habr dựa trên HMI của Advantech

Hãy viết một số mã đơn giản để thay đổi dần dần dữ liệu trong một biến có thể được theo dõi trên biểu đồ. Chúng ta sẽ thêm 10 vào biến và đặt lại về 100 khi nó lớn hơn XNUMX.

$U100=$U100+10
IF $U100>100
$U100=0
ENDIF

Để thực thi tập lệnh theo vòng lặp, hãy đặt tập lệnh đó trong cài đặt Cài đặt chung làm Macro chính, với khoảng thời gian thực thi là 250 mili giây.

Bảng điều khiển Habr dựa trên HMI của Advantech
Hãy biên dịch và chạy chương trình trong trình mô phỏng:

Bảng điều khiển Habr dựa trên HMI của Advantech

Ở giai đoạn này, chúng ta đã học cách thao tác dữ liệu trong bộ nhớ và hiển thị nó một cách trực quan. Điều này đã đủ để tạo ra một hệ thống giám sát đơn giản, nhận dữ liệu từ các thiết bị bên ngoài (cảm biến, bộ điều khiển) và ghi chúng vào bộ nhớ. Các khối hiển thị dữ liệu khác nhau có sẵn trong HMI Designer: ở dạng mặt số tròn có mũi tên, các biểu đồ và đồ thị khác nhau. Bằng cách sử dụng tập lệnh JavaScript, bạn có thể tải xuống dữ liệu từ các nguồn bên ngoài thông qua HTTP.

Bảng điều khiển Habr

Sử dụng các kỹ năng có được, chúng tôi sẽ tạo giao diện truyện tranh cho bảng điều khiển dành cho quản trị viên Habr.

Bảng điều khiển Habr dựa trên HMI của Advantech

Điều khiển từ xa của chúng tôi sẽ có thể:

  • Chuyển đổi hồ sơ người dùng
  • Lưu trữ dữ liệu nghiệp và xếp hạng
  • Thay đổi giá trị nghiệp và xếp hạng bằng thanh trượt
  • Khi bạn nhấp vào nút “cấm”, hồ sơ sẽ được đánh dấu là bị cấm, hình đại diện sẽ chuyển thành gạch chéo

Chúng tôi sẽ hiển thị từng hồ sơ trên một trang riêng biệt, vì vậy chúng tôi sẽ tạo một trang cho mỗi hồ sơ. Chúng tôi sẽ lưu trữ nghiệp và xếp hạng trong các biến cục bộ trong bộ nhớ, các biến này sẽ được khởi tạo bằng cách sử dụng Setup Macro khi chương trình khởi động.

Bảng điều khiển Habr dựa trên HMI của Advantech
Hình ảnh có thể nhấp được

Điều chỉnh nghiệp lực và xếp hạng

Để điều chỉnh nghiệp chúng ta sẽ sử dụng thanh trượt (Slide Switch). Chúng tôi chỉ định biến được khởi tạo trong Setup Macro làm địa chỉ ghi. Hãy giới hạn phạm vi giá trị của thanh trượt từ 0 đến 1500. Bây giờ, khi thanh trượt di chuyển, dữ liệu mới sẽ được ghi vào bộ nhớ. Trong trường hợp này, trạng thái ban đầu của thanh trượt sẽ tương ứng với các giá trị của biến trong bộ nhớ.

Bảng điều khiển Habr dựa trên HMI của Advantech
Để hiển thị các giá trị số của nghiệp và đánh giá, chúng ta sẽ sử dụng phần tử Numeric display. Nguyên lý hoạt động của nó tương tự như sơ đồ trong chương trình “Xin chào thế giới” ví dụ, chúng tôi chỉ cần chỉ ra địa chỉ của biến trong Địa chỉ giám sát.

Nút cấm

Nút “cấm” được triển khai bằng cách sử dụng phần tử Toggle Switch. Nguyên tắc lưu trữ dữ liệu tương tự như các ví dụ trên. Trong cài đặt, bạn có thể chọn văn bản, màu sắc hoặc hình ảnh khác nhau, tùy thuộc vào trạng thái của nút.

Bảng điều khiển Habr dựa trên HMI của Advantech
Khi nhấn nút, hình đại diện sẽ bị gạch chéo màu đỏ. Điều này rất dễ thực hiện bằng cách sử dụng khối Picture Display. Nó cho phép bạn chỉ định nhiều hình ảnh được liên kết với trạng thái của nút Toggle Switch. Để làm điều này, khối được cấp cùng địa chỉ với khối có nút và số trạng thái. Hình ảnh kèm bảng tên dưới ảnh đại diện cũng được thiết lập tương tự.

Bảng điều khiển Habr dựa trên HMI của Advantech

Kết luận

Nhìn chung, tôi thích sản phẩm. Trước đây, tôi đã có kinh nghiệm sử dụng máy tính bảng Android cho các tác vụ tương tự, nhưng việc phát triển giao diện cho nó khó khăn hơn nhiều và API trình duyệt không cho phép truy cập đầy đủ vào các thiết bị ngoại vi. Một thiết bị đầu cuối WebOP có thể thay thế sự kết hợp giữa máy tính bảng, máy tính và bộ điều khiển Android.

HMI Designer tuy có thiết kế cổ xưa nhưng lại khá tiên tiến. Nếu không có kỹ năng lập trình đặc biệt, bạn có thể nhanh chóng phác thảo giao diện làm việc. Bài viết không thảo luận về tất cả các khối đồ họa, trong đó có rất nhiều: ống hoạt hình, hình trụ, đồ thị, công tắc bật tắt. Nó hỗ trợ nhiều bộ điều khiển công nghiệp phổ biến ngay lập tức và chứa các đầu nối cơ sở dữ liệu.

tài liệu tham khảo

Có thể tải xuống môi trường phát triển WebAccess/HMI Designer và Runtime đây

Nguồn của dự án bảng điều khiển Habr

Nguồn: www.habr.com

Thêm một lời nhận xét