Widget nhiệt độ screens.json:. manifest.json
Mình mở file mới này ra xem cấu trúc trước.
Mình đã thiết kế lại màn “Nhiệt Độ H2 MHP” và đóng gói thành Screen_Nhiet_do_H2_MHP_pro.zip. Mình chưa import thử vào ScadaWeb, và ảnh xem trước chỉ là mô phỏng gần đúng.
Bố cục: màn hình 1680×1000, có thanh tiêu đề chung “NHIỆT ĐỘ TỔ MÁY H2 — MHP”. Bên dưới là lưới 3×2 gồm 6 thẻ. Hàng trên là ổ Hướng trên, ổ Hướng đỡ và ổ Hướng dưới. Hàng dưới là ổ tua bin, gió lạnh và Stato. Mỗi thẻ có một màu riêng (xanh dương, teal, tím xanh, vàng, ice-blue, cam) áp cho tiêu đề, viền thẻ, hình vẽ và ô hiển thị.
Hình vẽ thêm: mỗi ổ có sơ đồ bạc ổ đỡ gồm hai vòng đồng tâm, chữ thập, lõi trục và các miếng pad xoay theo góc, nối bằng đường dẫn tới ô cảm biến tương ứng. Pad có cảm biến thì sáng, pad không có thì mờ. Ổ Hướng dưới có 9 cảm biến nên vẽ 9 pad.
Sửa lỗi bố cục gốc: ô “Secmeng 7” không còn bị cắt ở mép trái. Các ô cảm biến cách đều quanh vòng, cùng kích thước 138×46. Bảng Stato là hai cột đều với dải “Gió nóng” riêng ở cuối.
Lưu ý:
- Mình đổi các tiêu đề
Labelthành widgetlabel_pro(giữ nguyênTextvàId), nên thêmlabel_provàomanifest.jsonvà kèmwidgets/label_pro.ziplấy từ màn trước của bạn. Nếu máy ScadaWeb chưa có widget này, nó sẽ được nạp từ zip. - Toàn bộ 87 widget gốc vẫn còn, giữ nguyên
TagvàText; mình thêm 100 widget mới (nền, thẻ, vòng, pad, đường dẫn). - Mình không đặt ngưỡng cảnh báo (
useLimits) cho các ô nhiệt độ vì không biết giá trị cảnh báo thật. Nếu bạn cho mình ngưỡng của từng ổ (ví dụ cảnh báo/báo động của bạc), mình sẽ bật đổi màu theo ngưỡng. - Ô “Secmeng 5” thứ hai (tag
1.Analog_unit2_MHP_35) của ổ Hướng dưới mình đặt cạnh Secmeng 5 theo vị trí cũ. Nếu nó thực chất là cảm biến khác, báo mình để đổi chỗ.
Files are in /home/claude:
- Screen_Nhiet_do_H2_MHP_pro.zipLỗi do mình ghi toạ độ
Pointscủa các đường dẫn thành số thập phân (ví dụ 83.4), trong khi ScadaWeb yêu cầu số nguyên. Mình sửa lại và kiểm tra kiểu dữ liệu của mọi trường số.Mình đã sửa lỗi và gửi lại
Screen_Nhiet_do_H2_MHP_pro.zip, nhưng chưa import thử vào ScadaWeb.Nguyên nhân: các đường dẫn nối pad với ô cảm biến có
Pointstoạ độ thập phân (ví dụ83.4), trong khi ScadaWeb đọcPoints[].X/Ylà số nguyên. Đó chính là$[0].Widgets[20].Points[0].Xtrong báo lỗi.Đã sửa: toàn bộ
Pointsgiờ là số nguyên. Mình cũng kiểm traX,Y,W,H,RotvàCadRoundcủa cả 187 widget đều là số nguyên. Bố cục, màu sắc và hình vẽ không đổi.Nếu ScadaWeb còn báo lỗi kiểu dữ liệu ở trường nào khác, bạn gửi mình nguyên dòng báo lỗi (có
Path), mình sẽ sửa tiếp.Files are in /home/claude:bạn sửa những file nào trong Screen_Nhiet_do_H2_MHP_pro.zip nhỉ
Mình sửa 2 file trong zip, các file còn lại giữ nguyên:
screens.json: sửa toàn bộ (bố cục, màu, Props, thêm widget mới).manifest.json: chỉ thêm"label_pro"vào danh sáchWidgets(trước đó chỉ có"display"), các trường khác giữ nguyên.widgets/label_pro.zip: file này thêm mới, không có trong zip gốc của bạn. Mình lấy nguyên từ màn “Thiết bị Phụ” bạn gửi lúc đầu, không chỉnh sửa gì.widgets/display.zip: giữ nguyên byte-by-byte.
Việc thêm label_pro là vì mình chuyển các tiêu đề Label thường thành widget label_pro cho đẹp. Nếu bạn muốn zip chỉ đổi mỗi screens.json, mình có thể làm lại bản dùng Label gốc cho tiêu đề (sẽ kém đẹp hơn vì Label không có style). Còn nếu ScadaWeb của bạn đã cài label_pro rồi thì file zip đó cũng vô hại, import vẫn bình thường.

