Bỏ qua tới nội dung
0968 86 41 40
  1. Trang chủ
  2. Bài viết
  3. Giải pháp IoT công nghiệp
  4. Chuyển đổi giao thức EIS-D620: Modbus, OPC UA lên MQTT
Giải pháp IoT công nghiệp

Chuyển đổi giao thức EIS-D620: Modbus, OPC UA lên MQTT

12/09/2022· 9 phút đọc · 2079 từ· Chuyên mục Giải pháp IoT công nghiệp

EIS-D620 nhận số liệu Modbus và OPC UA từ thiết bị trường, đổi sang MQTT dạng JSON rồi đẩy lên đám mây. Bài viết nêu luồng dữ liệu, bộ phần mềm giao kèm và cách dựng bảng điều khiển tại chỗ.

Chuyển đổi giao thức EIS-D620 là phần việc chính của máy chủ biên này khi đặt trong tủ điện. Thiết bị trong tủ nói Modbus, bộ điều khiển đời mới nói OPC UA, còn nền tảng đám mây chỉ nhận MQTT. EIS-D620 đứng giữa ba lớp đó: đọc số liệu ở phía dưới, quy đổi thành bản tin JSON rồi đẩy lên trên. Bài viết này bàn phần luồng dữ liệu và bộ phần mềm; phần cứng và cách gá đặt nằm ở bài máy chủ biên EIS-D620 nền ARM.

Máy chủ biên Advantech EIS-D620 đặt trong tủ điện, nối thiết bị trường lên đám mây
EIS-D620 nhận số liệu từ thiết bị trường, đổi giao thức rồi đẩy lên đám mây

Chuyển đổi giao thức trên EIS-D620 làm những việc gì

Nhiều người hình dung việc đổi giao thức chỉ là dịch từ tên bản tin này sang tên bản tin khác. Thực tế phần việc dài hơn, và nó quyết định số liệu trên đám mây có dùng được hay không.

Việc thứ nhất là đọc. Máy giữ danh sách điểm đo: mỗi điểm gắn với một địa chỉ trạm, một thanh ghi, một kiểu số và một chu kỳ đọc. Danh sách này phải khớp với bảng thanh ghi trong tài liệu của thiết bị, và đây là chỗ tốn công nhất khi lắp đặt.

Việc thứ hai là quy đổi. Thanh ghi Modbus trả về số nguyên không mang đơn vị. Đồng hồ đo điện có thể trả 2205 cho 220,5 vôn. Máy biên nhân hệ số, gắn đơn vị và gắn tên điểm đo để bản tin đi lên đã đọc được ngay.

Việc thứ ba là gộp và lọc. Đọc mỗi giây nhưng đẩy lên mỗi giây là lãng phí đường truyền và tiền lưu trữ. Luồng thường gộp theo phút, kèm giá trị lớn nhất, nhỏ nhất và trung bình trong khoảng đó, chỉ đẩy tức thời khi giá trị vượt ngưỡng.

Việc thứ tư là đóng gói và gửi. Bản tin ra ngoài ở dạng JSON qua MQTT, kèm nhãn thời gian và mã trạm. Khi đường truyền hỏng, máy giữ số liệu lại trong bộ nhớ trong rồi gửi bù khi mạng trở lại.

Modbus, OPC UA và MQTT: ba lớp trong cùng một luồng

LớpGiao thứcKiểu làm việcThiết bị thường gặp
Thiết bị trườngModbus RTU trên tuyến nối tiếpHỏi đáp theo lượt, một bên chủ động hỏiĐồng hồ đo điện, biến tần, bộ điều khiển nhiệt độ, cân
Lớp điều khiểnModbus TCP, OPC UAHỏi đáp qua mạng, OPC UA có thêm mô tả kiểu dữ liệuBộ điều khiển khả trình, mô-đun vào ra mạng, máy chủ OPC UA
Lớp đám mâyMQTT mang tải JSONĐăng và nhận theo chủ đề, thiết bị chủ động mở kết nối raNền tảng thu thập, dịch vụ phân tích, kho số liệu

Khác biệt đáng chú ý nhất giữa hai đầu là chiều mở kết nối. Ở lớp dưới, bên hỏi phải với tới tận thiết bị, nên muốn đọc từ xa thì phải mở cổng vào mạng nhà máy. Ở lớp trên, máy biên tự mở kết nối đi ra, tường lửa chỉ cần cho phép một chiều. Đó là lý do kỹ thuật khiến lớp chuyển đổi không thể bỏ qua, chứ không phải chỉ để cho gọn.

Khác biệt thứ hai nằm ở mô tả dữ liệu. Modbus không nói gì về ý nghĩa của thanh ghi, mọi hiểu biết nằm trong tài liệu giấy. OPC UA mang theo mô tả kiểu và tên, nên khi thiết bị đầu nguồn đã có máy chủ OPC UA thì việc dựng danh sách điểm đo nhanh hơn hẳn. Khi phải chọn giữa hai đường, nên ưu tiên OPC UA cho thiết bị mới và giữ Modbus cho thiết bị cũ.

Bộ phần mềm giao kèm và công cụ phát triển

EIS-D620 được giao kèm phần mềm chứ không chỉ là máy trần. Theo tài liệu công bố, máy chạy Debian và mang sẵn bộ công cụ sau.

  • Bộ đại diện thu thập số liệu. Đọc số liệu từ thiết bị trường và từ máy khác, chuyển về nền tảng quản lý tập trung.
  • Bộ đổi giao thức sang MQTT dạng JSON. Đây là khối thực hiện phần việc mô tả ở mục trên.
  • Bộ công cụ phát triển dạng trình cắm. Cho phép viết thêm khối đọc riêng khi gặp thiết bị dùng giao thức lạ, thay vì phải đổi cả máy.
  • Cập nhật phần mềm qua mạng. Áp dụng cho phần mềm của hãng và cho phần mềm bên thứ ba cài thêm.
  • Node-RED để ghép luồng dữ liệu. Kéo thả khối trên trình duyệt, nối thành luồng đọc, lọc, gộp rồi gửi.
  • Trình dựng bảng điều khiển. Hiển thị số liệu dạng chữ, đường biểu diễn, đồng hồ đo và các khối hiển thị khác.
  • Phần quản lý thiết bị từ xa. Theo dõi trạng thái, khởi động lại và cập nhật cho từng máy biên trong đội máy.

Giá trị của bộ phần mềm này nằm ở chỗ nó rút ngắn giai đoạn dựng thử. Một trạm đọc mười điểm đo Modbus, gộp theo phút rồi đẩy lên đám mây có thể dựng xong trong một buổi mà không cần viết mã. Đổi lại, khi bài toán vượt ra ngoài khuôn có sẵn, đội kỹ thuật vẫn phải biết lập trình để viết trình cắm riêng.

Trực quan hoá dữ liệu tại chỗ bằng bảng điều khiển

Bảng điều khiển dựng trên máy biên phục vụ người đứng ngay tại trạm. Người vận hành mở trình duyệt trên máy tính bảng hoặc trên màn hình treo tủ, xem số liệu tức thời và vài giờ gần nhất, không phải chờ số liệu đi vòng lên đám mây rồi quay về.

Ba nguyên tắc dựng bảng điều khiển tại chỗ đáng nhớ. Một, mỗi bảng chỉ phục vụ một loại người dùng: bảng cho thợ vận hành khác bảng cho người bảo trì. Hai, số liệu quan trọng nhất nằm ở phần trên cùng và đọc được từ khoảng cách hai mét. Ba, mọi giá trị hiển thị đều phải kèm nhãn thời gian cập nhật, để người xem biết số liệu còn tươi hay đã treo.

Bảng điều khiển tại chỗ không thay được hệ giám sát trung tâm. Nó thiếu phân quyền chi tiết, thiếu lưu trữ dài hạn và thiếu báo cáo. Cách phân vai hợp lý là dùng bảng tại chỗ cho việc xem nhanh và xử lý sự cố, còn phần lịch sử và báo cáo để cho hệ trung tâm.

Ví dụ tuyến lò hơi và trạm bơm trong nhà máy thực phẩm

Một nhà máy thực phẩm cần theo dõi tiêu thụ hơi và điện của khu lò hơi cùng ba trạm bơm nằm cách nhau khoảng hai trăm mét. Thiết bị hiện có gồm bốn đồng hồ đo điện đa năng, hai đồng hồ đo lưu lượng hơi và một bộ điều khiển khả trình đời mới đã bật máy chủ OPC UA.

Cách dựng gồm bốn bước. Bước một, gom sáu đồng hồ vào hai tuyến RS-485 theo vị trí, mỗi tuyến về một cổng Modbus và lên mạng theo hướng dẫn ở bài cổng Modbus Advantech. Bước hai, đặt EIS-D620 trong tủ mạng, khai báo danh sách điểm đo Modbus TCP cho sáu đồng hồ và một danh sách OPC UA cho bộ điều khiển. Bước ba, dựng luồng Node-RED gộp theo phút, tính thêm suất tiêu hao điện trên tấn hơi ngay tại biên. Bước bốn, đẩy MQTT lên nền tảng của nhà máy, đồng thời dựng một bảng điều khiển tại chỗ cho ca trực.

Kết quả đáng chú ý không phải là biểu đồ đẹp mà là việc tính suất tiêu hao ngay tại biên. Nếu để việc tính đó cho đám mây, một lần mất mạng là mất luôn chuỗi số liệu của ca đó. Tính tại biên rồi mới đẩy đi thì số liệu đã hoàn chỉnh trước khi rời nhà máy.

Chọn thiết bị cho lớp chuyển đổi giao thức

Thiết bịVai trò trong luồngĐiểm mạnhKhi nào chọn
EIS-D620Máy biên đọc Modbus và OPC UA, đổi sang MQTTGiao kèm bộ phần mềm và công cụ dựng luồng, thân máy dày 29 mm, nguồn vào 12 V một chiềuTrạm nhỏ và vừa, cần dựng nhanh, số điểm đo vài chục
EKI-1221Cổng dịch Modbus TCP sang Modbus RTU và ASCIITheo thông số công bố: 16 kết nối và 32 yêu cầu đồng thời, 31 trạm phụ mỗi cổng, chống tĩnh điện 15 kVChỉ cần đưa tuyến nối tiếp lên mạng, chưa cần xử lý tại biên
UNO-2372GMáy tính nhúng chạy phần mềm tự viết hoặc phần mềm bên thứ baTheo thông số công bố: 2 cổng Gigabit, 4 cổng USB, 4 cổng COM, 2 khe mPCIe, mở rộng bằng mô-đun iDoorCần chạy thêm phần mềm nặng, cần nhiều cổng COM, cần mở rộng bus trường
EIS-D110Máy biên nền Intel giao sẵn phần mềmTheo tài liệu hãng, dùng nền Intel nên chạy được phần mềm biên dịch cho kiến trúc x86Khi phần mềm cần chạy chỉ có bản cho nền Intel

Khi hỏi hàng nên gửi trước bốn thông tin: danh sách thiết bị cần đọc kèm giao thức của từng thiết bị, số điểm đo và chu kỳ đọc mong muốn, nền tảng đám mây sẽ nhận số liệu, và điều kiện lắp đặt tại tủ. Bốn thông tin này quyết định chọn máy biên hay chỉ cần cổng dịch giao thức. Nhóm máy nhúng không quạt của site nằm ở danh mục máy tính không quạt, còn phần máy tính công nghiệp chạy hệ giám sát ở đầu hệ thống liệt kê tại danh mục máy tính nhúng Advantech trên IPC247. Khi cấu hình máy chưa chốt, dùng công cụ chọn máy theo yêu cầu.

Câu hỏi thường gặp về chuyển đổi giao thức EIS-D620

EIS-D620 nhận được những giao thức nào ở phía thiết bị trường?

Theo tài liệu công bố, máy hỗ trợ Modbus và OPC UA. Modbus dùng cho đồng hồ đo điện, biến tần và bộ điều khiển nhiệt độ nói chuyện qua tuyến nối tiếp hoặc qua mạng. OPC UA dùng cho bộ điều khiển khả trình và phần mềm điều khiển đời mới đã có sẵn máy chủ OPC UA.

Vì sao phải đổi sang MQTT thay vì đẩy thẳng Modbus lên đám mây?

Modbus làm việc theo lượt hỏi đáp, bên hỏi phải mở kết nối vào tận thiết bị. Đưa mô hình đó ra mạng công cộng nghĩa là mở cổng vào lớp điều khiển. MQTT đi ngược lại: thiết bị biên tự mở kết nối ra ngoài và đẩy số liệu lên, nên tường lửa không cần mở cổng vào.

Node-RED trên EIS-D620 dùng để làm gì?

Node-RED là công cụ ghép luồng dữ liệu bằng cách kéo thả các khối trên trình duyệt. Trên máy biên, luồng thường gồm khối đọc Modbus, khối lọc và quy đổi đơn vị, khối gộp theo chu kỳ rồi khối đẩy MQTT. Cách làm này thay cho việc viết mã riêng cho từng loại thiết bị.

Bảng điều khiển dựng trên máy biên có thay được phần mềm giám sát không?

Không thay được. Bảng điều khiển trên máy biên hợp cho vài chục điểm đo tại một trạm, phục vụ người vận hành đứng ngay tại chỗ. Hệ giám sát toàn nhà máy vẫn cần phần mềm chuyên dụng chạy trên máy chủ, có phân quyền, lưu lịch sử dài hạn và báo cáo.

Mất mạng thì số liệu trong lúc đó có mất theo không?

Máy có 16 GB eMMC và một khe thẻ nhớ để mở rộng, đủ để đệm số liệu trong thời gian mất đường truyền. Cần đặt trước dung lượng đệm và quy tắc ghi đè khi đầy, đồng thời kiểm thử bằng cách rút cáp mạng trong giai đoạn nghiệm thu.

Cập nhật phần mềm cho nhiều máy biên đặt rải rác bằng cách nào?

Bộ phần mềm giao kèm có chức năng cập nhật qua mạng, cùng phần quản lý thiết bị để theo dõi trạng thái từng máy. Nên chia máy thành từng nhóm nhỏ và cập nhật lần lượt, giữ lại một nhóm chạy bản cũ cho tới khi nhóm đầu chạy ổn định.

Đọc thêm về thiết bị: toàn bộ máy tính công nghiệp Advantech cùng các hãng khác trên ipc247.com.