FDE ở công ty điện lực: học vài khái niệm ngành trước khi join dữ liệu GIS và SCADA
Một thiết bị đóng cắt hiện "mở" ở hệ thống này nhưng "đóng" ở hệ thống kia thường chưa phải là bug, và kỹ sư nào hiểu vì sao sẽ tiết kiệm được hàng tuần ở khách hàng.
Tóm tắt nhanh
- Ở điện lực, GIS lưu lưới như được thiết kế, còn SCADA lưu lưới như đang vận hành, nên thấy hai bên lệch nhau là chuyện thường gặp
- CIM (IEC 61970/61968) có sẵn bộ từ vựng chung về đối tượng lưới điện, và cách chia phạm vi của nó gợi ý dữ liệu nào thuộc về đội nào
- Hãy đối chiếu và phân loại điểm lệch trước, rồi mới dựng mô hình đối tượng, sau cùng mới tới dashboard
Tuần đầu ở một công ty điện lực, bạn được giao ba file: bản xuất từ GIS, danh sách điểm đo SCADA và bảng tài sản. Nhiệm vụ nghe rất dễ: join ba file lại để vẽ một feeder. Đến chiều bạn thấy một thiết bị đóng cắt đang mở trong file này mà lại đóng trong file kia, và cả phòng họp không ai ngạc nhiên.
Không ai ngạc nhiên vì đây không phải lỗi ngẫu nhiên mà là đặc điểm cấu trúc của ngành. Báo cáo về ADMS do PNNL công bố năm 2016 kết luận rằng mô hình dữ liệu trong GIS của các điện lực thường thiếu, hoặc sai, hoặc cả hai, và coi việc tích hợp giữa các hệ thống vận hành là thách thức lớn nhất khi triển khai.
Bạn có thể vào điện lực với suy nghĩ “có schema là join được”, rồi mất hai tuần sửa những thứ vốn không hỏng. Cách khác là học trước vài khái niệm ngành để hỏi đúng ngay từ buổi discovery đầu tiên.
GIS và SCADA không mô tả cùng một trạng thái
GE Vernova mô tả sự chia tách này khá gọn. Một bên là đội thiết kế lưới và đội bản đồ: họ dùng GIS để lập kế hoạch và cập nhật trạng thái bình thường của lưới, trong một silo riêng. Bên kia là vận hành viên phòng điều khiển: họ theo dõi trạng thái thời gian thực trong một silo khác.
Như vậy GIS trả lời câu hỏi “lưới được thiết kế để vận hành thế nào”, còn SCADA trả lời câu hỏi “lưới đang vận hành thế nào lúc này”. Khi vận hành viên cắt một nhánh để sửa chữa hoặc chuyển tải, hai bên lệch nhau là đúng. Có những lần lệch khác thì đúng là lỗi: GIS chưa được cập nhật, hoặc bảng liên kết ID bị sai.
1Spatial có kể một trường hợp tiêu biểu trong ngành tiện ích công cộng: GIS cho thấy van đóng, còn SCADA báo van mở. Ở điện lực, chỉ cần thay “van” bằng “thiết bị đóng cắt” là bạn có đúng tình huống buổi chiều hôm đó.
CIM cho bạn bộ từ vựng trước khi viết schema
Ngành điện đã có một ngôn ngữ chung từ lâu. CIM, theo tiêu chuẩn IEC 61970-301, là một mô hình thông tin trừu tượng mô tả các đối tượng chính trong một doanh nghiệp điện lực. Mô hình này biểu diễn tài nguyên hệ thống điện thành lớp đối tượng và thuộc tính, để ứng dụng do nhiều hãng phát triển độc lập vẫn tích hợp được với nhau.
Với FDE, phần có ích nhất của CIM là cách nó chia phạm vi. Theo CIM Users Group, IEC 61970 dành cho mô hình hệ thống điện và trao đổi dữ liệu, gồm EMS, topology, dây dẫn và SCADA. IEC 61968 lo phần mô hình liên quan đến lưới phân phối: DMS, tài sản, công việc, GIS, đo đếm và trao đổi thông điệp giữa các ứng dụng.
Khách hàng của bạn có thể không triển khai CIM theo đúng chuẩn, nhưng bản phân chia này vẫn đáng dùng như một tấm bản đồ. Nó cho bạn danh sách danh từ để dùng khi nói chuyện với kỹ sư điện.
Nó cũng gợi ý dữ liệu nào nhiều khả năng thuộc về đội nào, đội vận hành hay đội tài sản và bản đồ. Khi một trường dữ liệu có vẻ vô lý, biết ai sở hữu nó là đã giải được một nửa vấn đề.
Ví dụ: đối chiếu một feeder
Thử hình dung một feeder có 40 thiết bị đóng cắt. GIS dùng mã tài sản như SW-0412, có thêm trường trạng thái bình thường. SCADA dùng tên tag như F07_SW412_POS, giá trị 1 là đóng. Không hệ thống nào chứa khóa của hệ thống kia, nên việc đầu tiên là dựng một bảng crosswalk ánh xạ mã tài sản sang tag.
Tiếp theo, đưa mỗi thiết bị về một đối tượng duy nhất, trong đó hai trạng thái được tách bạch ngay từ tên trường:
from dataclasses import dataclass
@dataclass
class Switch:
asset_id: str # khóa từ GIS
scada_tag: str | None # lấy từ bảng crosswalk
normal_open: bool # trạng thái thiết kế (GIS)
measured_open: bool | None # trạng thái đo được (SCADA)
def classify(sw: Switch, switching_orders: set[str]) -> str:
if sw.scada_tag is None or sw.measured_open is None:
return "thieu_lien_ket"
if sw.normal_open == sw.measured_open:
return "khop"
if sw.asset_id in switching_orders:
return "dong_cat_co_chu_dich"
return "can_kiem_tra_hien_truong"
Tham số switching_orders là danh sách thiết bị vừa có lệnh thao tác, và bạn phải xin danh sách này từ phòng điều khiển. Thiếu nó, mọi lần chuyển tải hợp lệ sẽ bị đếm thành lỗi.
Giả sử chạy xong được 31 thiết bị khớp, 4 thiếu liên kết, 3 lệch do đóng cắt có chủ đích và 2 cần kiểm tra hiện trường. Thay vì báo cáo “GIS sai 9 chỗ”, bạn mang ra ba danh sách cho ba người khác nhau.
Bốn mục thiếu liên kết là việc của bạn và đội tích hợp. Hai mục cuối là việc của đội bản đồ, có khi phải cử người ra tận cột điện.
Mô hình đối tượng đi trước dashboard
Palantir từng mô tả một case study với một điện lực châu Âu. Hệ thống tài sản địa lý và hệ thống lưới điện ở đây tách rời, nên công ty không có một bức tranh đầy đủ và cập nhật về trạng thái lưới. Cách xử lý là mô hình hóa topology lưới thành các đối tượng Ontology và các view đại diện cho từng phần tử mạng.
Bài học trong đó không phụ thuộc vào công cụ. Thiết bị, đường dây và quan hệ kết nối phải trở thành đối tượng rõ ràng trước. Dashboard hay mô hình dự báo đến sau. Nếu bạn dựng biểu đồ trên một bảng join chưa được đối chiếu, bạn chỉ đang vẽ đẹp hơn những điểm lệch có sẵn.
Trình tự ở khách hàng vì thế khá rõ:
- Xếp từng hệ thống vào phạm vi 61970 hay 61968 và ghi tên người sở hữu.
- Hỏi xem mỗi trường trạng thái là “bình thường” hay “đo được”.
- Dựng crosswalk ID giữa mã tài sản và tag SCADA.
Chạy bước phân loại, rồi đưa từng danh sách lệch cho đúng đội. 5. Chỉ khóa mô hình đối tượng khi đã có xác nhận từ cả đội bản đồ lẫn phòng điều khiển.
Những cái bẫy quen thuộc
Bẫy phổ biến nhất là coi GIS là nguồn sự thật rồi ghi đè trạng thái SCADA lên nó, hoặc làm ngược lại. Hai trường này mô tả hai thứ khác nhau, nên phải giữ cả hai. Bẫy thứ hai là cho rằng một thiết bị chỉ có một ID, trong khi mỗi silo thường đặt mã theo kiểu riêng.
Bẫy thứ ba khó thấy hơn: dùng từ ngữ phần mềm chung chung khi nói chuyện với kỹ sư điện. Hỏi “record này có stale không” thì họ khó trả lời. Hỏi “đây là trạng thái bình thường hay trạng thái đo” thì họ trả lời được ngay. Dùng đúng từ ngữ của họ là cách nhanh nhất để được tin tưởng.
Về nghề nghiệp, hãy lấy chính các thuật ngữ trong bài (CIM, IEC 61968/61970, ADMS, GIS, SCADA) làm danh sách để dò khi đọc mô tả công việc FDE trong ngành năng lượng. Trong CV, đừng chỉ ghi “tích hợp dữ liệu”.
Hãy viết cụ thể bạn đã đối chiếu topology giữa những hệ thống nào và phân loại điểm lệch ra sao. Báo cáo của PNNL coi chính việc tích hợp giữa các hệ thống vận hành là thách thức lớn nhất, nên đây là kinh nghiệm đáng được đặt lên đầu.
Ở điện lực, người hiểu vì sao hai file không khớp sẽ có giá trị hơn người join được hai file đó.
Bài này có hữu ích không?
Cảm ơn bạn đã góp ý!
6 nguồn
- Energy management system application program interface (EMS-API) – Part 301: Common information model (CIM) base · 2020
- About CIMUG - CIM Users Group
- ADMS State of the Industry and Gap Analysis · 2016-03-31
- Network-Based GIS and ADMS Integration: A Shared Source of Truth · 2025-08-19
- Unifying Utility Data Silos
- Improving decision-making through holistic power grid network modeling