
Cấu hình Recipe trên HMI Delta: Hướng dẫn tích hợp với PLC
Chức năng Recipe trên HMI Delta cho phép lưu trữ nhiều bộ thông số vận hành (nhiệt độ, tốc độ, thời gian...) ngay trong bộ nhớ HMI, giúp người vận hành chuyển đổi nhanh giữa các cấu hình sản xuất khác nhau mà không cần nhập tay từng thông số. Bài viết này hướng dẫn cách cấu hình Recipe và liên kết dữ liệu hai chiều với thanh ghi PLC trên các dòng HMI Delta DOP-100/DOP-B.
1. Yêu cầu chuẩn bị
HMI Delta (dòng DOP-100 hoặc DOP-B) cùng phần mềm Screen Editor.
PLC có thanh ghi dữ liệu có thể ghi/đọc được (ví dụ dòng Delta DVP-SS, DVP-SA, DVP-SE).
Cáp truyền thông: RS-232 với dòng DVP, hoặc Ethernet với các model hỗ trợ mạng.
Hiểu biết cơ bản về cách đánh địa chỉ PLC (ví dụ thanh ghi D của PLC Delta).
2. Kiến trúc dữ liệu Recipe
Recipe trên HMI Delta hoạt động dựa trên 3 thành phần chính:
Thành phần | Chức năng | Vùng địa chỉ thường dùng |
|---|---|---|
Bộ nhớ Recipe | Lưu giá trị thông số trong bộ nhớ HMI (không mất khi tắt nguồn) | Thanh ghi nội bộ $u hoặc $i |
Nhóm Recipe (Recipe Group) | Tổ chức các thông số liên quan với nhau | Đặt tên tùy chỉnh |
Thanh ghi dữ liệu PLC | Nhận/gửi giá trị từ/đến PLC | D0–D9999 (tùy model PLC) |
Luồng dữ liệu: HMI (bộ nhớ Recipe dạng thanh ghi $u, lưu trữ không mất dữ liệu) ↔ PLC (thanh ghi D, bộ nhớ tạm/volatile) — dữ liệu có thể ghi từ HMI xuống PLC (Write to PLC) hoặc đọc từ PLC lên HMI để lưu (Read from PLC).
3. Các bước cấu hình chi tiết
Bước 1: Định nghĩa nhóm Recipe
Mở phần mềm Screen Editor.
Vào Objects → Recipe → Recipe Group.
Nhấn Add để tạo nhóm recipe mới.
Cấu hình các tham số:
Tham số | Giá trị ví dụ | Mô tả |
|---|---|---|
Tên nhóm (Group Name) | PROD_PARAMS | Định danh do người dùng đặt |
Số lượng recipe (Recipe Count) | 10 | Số bộ thông số có thể lưu |
Số item mỗi recipe (Item Count) | 5 | Số thông số trong mỗi recipe |
Loại bộ nhớ (Memory Type) | $u | Bộ nhớ người dùng, không mất khi tắt nguồn |
Địa chỉ bắt đầu (Start Address) | u0000 | Địa chỉ gốc lưu trữ |
Bước 2: Cấu hình từng thông số trong Recipe
Double-click vào nhóm recipe để mở trình chỉnh sửa item, sau đó định nghĩa từng thông số, ví dụ:
STT | Tên | Kiểu dữ liệu | Địa chỉ |
|---|---|---|---|
1 | TEMP_SET | Số nguyên 16-bit | u0000 |
2 | SPEED_SET | Số nguyên 16-bit | u0001 |
3 | TIME_SET | Số nguyên 16-bit | u0002 |
4 | COUNT_SET | Số nguyên 16-bit | u0003 |
5 | MODE_SEL | Số nguyên 16-bit | u0004 |
Bước 3: Liên kết với thanh ghi PLC
Gán địa chỉ đích trên PLC cho từng thông số trong recipe:
Thông số | Địa chỉ HMI | Thanh ghi PLC | Chức năng |
|---|---|---|---|
TEMP_SET | u0000 | D100 | Thông số nhiệt độ |
SPEED_SET | u0001 | D101 | Tốc độ động cơ |
TIME_SET | u0002 | D102 | Thời gian xử lý (giây) |
COUNT_SET | u0003 | D103 | Số lượng theo mẻ |
MODE_SEL | u0004 | D104 | Chế độ vận hành |
Bước 4: Thêm nút chức năng Recipe
Đặt nút bấm trên màn hình HMI để kích hoạt thao tác đọc/ghi recipe:
Ghi xuống PLC (nạp Recipe): chọn hàm Recipe → PLC, chỉ định nhóm recipe, chỉ số recipe, địa chỉ nguồn (u0000), địa chỉ đích (D100), số lượng item (5).
Đọc từ PLC (lưu Recipe): chọn hàm PLC → Recipe, chỉ định nhóm recipe, chỉ số recipe, địa chỉ nguồn (D100), địa chỉ đích (u0000), số lượng item (5).
4. Tích hợp logic phía PLC
Cần xây dựng logic PLC để xử lý việc chuyển dữ liệu khi có tín hiệu kích hoạt từ HMI. Ví dụ minh họa dạng Structured Text cho PLC Delta DVP (đã viết lại theo cấu trúc tham khảo, không sao chép nguyên văn):
// Khi HMI kích hoạt ghi recipe xuống PLC
IF HMI_GHI_RECIPE = 1 THEN
D100 := RECIPE_TEMP[HMI_CHI_SO];
D101 := RECIPE_SPEED[HMI_CHI_SO];
D102 := RECIPE_TIME[HMI_CHI_SO];
D103 := RECIPE_COUNT[HMI_CHI_SO];
D104 := RECIPE_MODE[HMI_CHI_SO];
HMI_GHI_RECIPE := 0; // reset cờ kích hoạt
END_IF;
// Khi HMI kích hoạt đọc/lưu thông số hiện tại thành recipe
IF HMI_DOC_RECIPE = 1 THEN
RECIPE_TEMP[HMI_CHI_SO] := D100;
RECIPE_SPEED[HMI_CHI_SO] := D101;
RECIPE_TIME[HMI_CHI_SO] := D102;
RECIPE_COUNT[HMI_CHI_SO] := D103;
RECIPE_MODE[HMI_CHI_SO] := D104;
HMI_DOC_RECIPE := 0;
END_IF;5. Bảng tham chiếu địa chỉ
Loại địa chỉ | Định dạng | Phạm vi | Mất dữ liệu khi tắt nguồn? |
|---|---|---|---|
Thanh ghi dữ liệu PLC | Dxxxx | D0–D9999 | Có |
Thanh ghi bit PLC | Mxxxx | M0–M8191 | Có |
Bộ nhớ người dùng HMI | u0000–u9999 | u0–u9999 | Không* |
Thanh ghi hệ thống HMI | $u | u0–u0– u0–u9999 | Không |
Bộ nhớ cục bộ HMI | $i | i0–i0– i0–i9999 | Có |
*Lưu ý: thanh ghi $u vẫn giữ dữ liệu qua các lần tắt/mở nguồn HMI, nhưng không đảm bảo giữ được khi cập nhật firmware HMI — nên sao lưu dữ liệu recipe định kỳ.
6. Các bước kiểm tra sau khi cấu hình
Kiểm tra bộ nhớ: xác nhận dữ liệu recipe vẫn còn sau khi tắt/bật lại nguồn HMI.
Kiểm tra ghi: tạo recipe với giá trị đã biết trước, chuyển xuống PLC, xác nhận thanh ghi D nhận đúng giá trị.
Kiểm tra đọc: ghi giá trị vào thanh ghi PLC, chuyển lên recipe, xác nhận bộ nhớ HMI lưu đúng dữ liệu.
Kiểm tra chỉ số (index): xác nhận các recipe khác nhau đọc/ghi đúng vùng nhớ tương ứng, không bị lẫn lộn.
7. Các lỗi thường gặp
Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
Dữ liệu recipe không được lưu giữ | Dùng nhầm $i thay vì $u | Đổi loại bộ nhớ sang $u (non-volatile) |
Giá trị trên PLC không cập nhật | Thông số truyền thông không khớp | Kiểm tra lại station number, baud rate, giao thức có khớp với PLC |
Chuyển recipe thất bại | Số lượng item nguồn/đích không khớp | Đảm bảo số item nguồn và đích bằng nhau |
Load sai recipe | Thanh ghi chỉ số (index) chưa được khởi tạo | Đặt chỉ số recipe mặc định trong logic khởi động PLC |
8. Nâng cao: Tự động chọn Recipe theo điều kiện
Có thể xây dựng logic PLC để tự động chọn recipe theo loại sản phẩm, thay vì để người vận hành chọn tay:
// Chọn recipe theo loại sản phẩm
CASE LOAI_SAN_PHAM OF
1: CHI_SO_RCP := 0; // Thông số sản phẩm A
2: CHI_SO_RCP := 1; // Thông số sản phẩm B
3: CHI_SO_RCP := 2; // Thông số sản phẩm C
END_CASE;
// Tự động nạp khi loại sản phẩm thay đổi
IF CHI_SO_RCP <> CHI_SO_RCP_TRUOC THEN
HMI_GHI_RECIPE := 1;
CHI_SO_RCP_TRUOC := CHI_SO_RCP;
END_IF;9. Lưu ý về rủi ro mất dữ liệu khi mất điện đột ngột
Dù thanh ghi $u trên HMI là loại bộ nhớ không mất dữ liệu khi tắt nguồn thông thường, quá trình đang ghi/đọc recipe (thời điểm đang truyền dữ liệu giữa HMI và PLC) vẫn có thể bị gián đoạn nếu mất điện đột ngột giữa chừng — dẫn đến recipe bị ghi dở dang, dữ liệu sai lệch giữa các thông số. Với các dây chuyền sản xuất phụ thuộc nhiều vào việc chuyển đổi recipe liên tục theo lô hàng, nên cân nhắc trang bị UPS cho tủ điện điều khiển để đảm bảo quá trình đọc/ghi recipe luôn hoàn tất trọn vẹn, tránh phải cấu hình lại thủ công khi có sự cố điện.
Kết luận
Chức năng Recipe trên HMI Delta là công cụ hữu hiệu giúp chuẩn hóa và tăng tốc độ chuyển đổi thông số sản xuất giữa các lô hàng khác nhau. Việc cấu hình đúng cần chú ý: dùng đúng loại bộ nhớ $u để đảm bảo lưu trữ bền vững, khớp chính xác số lượng item giữa HMI và PLC, xây dựng cơ chế kích hoạt rõ ràng (nút bấm hoặc logic tự động), và luôn kiểm tra kỹ bằng giá trị test trước khi đưa vào vận hành thực tế.



