Một khoảng trống trên trend PI thường có nghĩa dữ liệu đã dừng ở đâu đó giữa interface đọc hệ điều khiển và PI Data Archive lưu dữ liệu. Tài liệu PI Server của AVEVA đưa ra một đường kiểm rõ ràng: interface và dịch vụ buffering của nó, các phiên buffer tới từng Data Archive, message log của PI và mã lỗi trong đó. Bài này đi theo đường đó dựa trên các trang về buffering, quản trị Data Archive của PI Server và UniInt Framework 4.7.3 của AVEVA. Historian làm gì và PI so với các historian khác: xem bài Historian là gì.
1. Interface và buffering
Interface dựng trên UniInt có thể ghi đệm giá trị trong lúc mất kết nối tới Data Archive, và AVEVA ghi rõ nếu không có buffering thì dữ liệu thu trong lúc mất kết nối bị mất hẳn. Buffering được cấu hình trong PI Interface Configuration Utility (PI ICU), và PI Buffer Subsystem là dịch vụ được khuyên dùng, nhất là bản 4.3 trở lên, có thể buffer tới nhiều server và collective (collective cần Data Archive 3.4.375 trở lên).
Khi đã cấu hình buffering, dịch vụ interface không chạy được nếu dịch vụ buffering không chạy. AVEVA nêu việc khai sai phụ thuộc giữa dịch vụ interface và dịch vụ buffering là chỗ hay phải kiểm khi xử lý lỗi.
2. Kiểm PI Buffer Subsystem
Cách kiểm tùy phiên bản:
- PI Buffer Subsystem 4.3 trở lên: mở Buffering Manager (từ PI ICU, PI SDK Utility hoặc PI System Explorer) và đọc bảng dashboard. Trong cửa sổ lệnh tại \PIPC\bin, lệnh pibufss -health liệt kê từng vấn đề kèm thời điểm bắt đầu.
- PI Buffer Subsystem 3.4.380 trở về trước: chạy pibufss -cfg tại \PIPC\bin để xem lỗi nghiêm trọng, loại dữ liệu đang buffer và trạng thái từng phiên buffer.
Bảng cảnh báo sức khỏe của AVEVA giải thích các thông báo hay gặp. Hai ví dụ: "Failed to create API shared memory buffer" thường do một interface vẫn giữ vùng nhớ dùng chung từ phiên trước, hoặc tài khoản chạy dịch vụ thiếu quyền; cách xử lý của AVEVA là dừng các interface, chờ khoảng một phút, xem lại dashboard rồi khởi động lại chúng. Lệnh pibufss -bc stop do người dùng gõ làm dữ liệu chỉ được xếp hàng mà không gửi cho tới khi chạy pibufss -bc start, còn pibufss -bc dismount dừng luôn cả việc xếp hàng, nên dữ liệu tới server đó bị mất.
3. Đọc trạng thái phiên buffer
PI Buffer Subsystem giữ một phiên buffer cho mỗi Data Archive. Khi chạy bình thường, phiên ở trạng thái Registered (đã kết nối, không có gì để gửi) hoặc SendingData. Các trạng thái khác chỉ ra chỗ lỗi:
| Trạng thái | Ý nghĩa theo AVEVA |
|---|---|
| Connected | đã kết nối nhưng không đăng ký được với PI Snapshot Subsystem; kéo dài thì có thể snapshot subsystem không sẵn sàng |
| Disconnected | không kết nối; Data Archive có thể không sẵn sàng |
| SendError | lần gửi dữ liệu gần nhất thất bại; quá thời gian RETRYRATE thì chuyển sang Disconnected |
| NotPosting | người dùng đã gõ pibufss -bc stop |
| Dismounted | người dùng đã gõ pibufss -bc dismount |
| Offline | dịch vụ PI Buffer Subsystem không chạy |
| QueueError | không đọc được hàng đợi buffer |
Sau khi mất kết nối, pibufss -cfg cho biết đã gửi hết chưa: dòng có total events sent phải kết thúc bằng queued events: 0, và phiên phải ở trạng thái SendingData. AVEVA ghi thời gian xả hết hàng đợi tùy số sự kiện, mạng và tải trên Data Archive.
4. Các file cấu hình nên kiểm
Trang buffering của AVEVA nêu ba thiết lập thường giải thích lỗi phiên:
- Trong piclient.ini (ở \pipc\dat), AUTHENTICATIONOPTIONS phải khớp phương thức bảo mật, ví dụ SSPI cho bảo mật Windows.
- Cũng trong file đó, BUFFEREDSERVERLIST phải có đúng tên server; ping tới từng tên để chắc tên phân giải được.
- Muốn xem chi tiết hơn, thêm phần [DEBUG] với LEVEL=5 vào pibufss.ini để bật log chi tiết ra \pipc\log sau khi khởi động lại dịch vụ.
5. Đọc message log của PI
Data Archive ghi thông báo kèm một chữ cái mức độ: C là nghiêm trọng, E là lỗi, W là cảnh báo, I là thông tin và D là gỡ lỗi, tiếp theo là thời điểm, thành phần ghi, mã thông báo và nội dung. Công cụ pigetmsg tìm và lọc các thông báo này. Ví dụ của AVEVA gồm xem lỗi trong ngày từng trang một (pigetmsg -st t -se -i), mười thông báo gần nhất của một tiến trình rồi theo dõi tiếp (-t 10 -f -pr), và một giờ vừa qua bỏ thông báo gỡ lỗi (-si -st *-1h). File message log đã lưu được đọc bằng pigetmsg -if.
6. Tra mã lỗi
Thông báo thường kèm một số lỗi. Công cụ pidiag tra nghĩa của nó: pidiag -e kèm số lỗi. Ví dụ của AVEVA là -11137, nghĩa là archive chính đang ở chế độ chỉ đọc và việc ghi archive bị tắt. Số âm là lỗi của Data Archive, số dương là lỗi hệ điều hành và pidiag cũng tra được; tiện ích AboutPI-SDK cũng có công cụ Error Lookup.
Những gì chúng tôi kiểm trước
Đây là cách làm của TDL, không phải yêu cầu của AVEVA:
- Thời điểm bắt đầu và kết thúc chính xác của khoảng trống trên trend, và tất cả hay chỉ một phần điểm của một interface bị ảnh hưởng.
- Trạng thái dịch vụ interface, dịch vụ buffering và phụ thuộc giữa chúng trên máy interface.
- Trạng thái phiên buffer và số queued events trước khi khởi động lại bất cứ thứ gì, để không bỏ mất dữ liệu đang đệm.
TDL tiếp cận thế nào
TDL Industrial Automation có tên trên AVEVA Partner Finder với vai trò System Integrator trong AVEVA Partner Ecosystem. Các việc historian của chúng tôi tới nay là FactoryTalk Historian ở nhà máy thức ăn thủy sản FeedOne của Vĩnh Hoàn và AVEVA System Platform kèm historian, báo cáo ở Samsung SEHC. Với một hệ PI System, chúng tôi bắt đầu từ các máy interface và buffering của chúng, vì đó là nơi dữ liệu được giữ lại hay mất đi khi mất kết nối. Thêm về dịch vụ historian: SCADA, HMI và tích hợp dữ liệu nhà máy.
Câu hỏi thường gặp
Vì sao trend PI bị trống sau khi mất mạng?
Nếu buffering không chạy trên máy interface, dữ liệu thu trong lúc không tới được Data Archive bị mất. Khi PI Buffer Subsystem chạy, dữ liệu được xếp hàng và gửi khi kết nối trở lại; lúc đó pibufss -cfg phải báo queued events: 0.
Trạng thái bình thường của phiên PI Buffer Subsystem là gì?
Registered, khi phiên đã kết nối và không có gì để gửi, và SendingData, khi lần gửi dữ liệu gần nhất thành công.
Làm sao tra nghĩa một mã lỗi PI?
Chạy pidiag -e kèm số lỗi. Số âm là lỗi của Data Archive, số dương là lỗi hệ điều hành.
Làm sao xem lỗi trong ngày trên message log của PI?
Dùng pigetmsg, ví dụ pigetmsg -st t -se -i để xem từng trang các thông báo lỗi trong ngày.
Nguồn
- AVEVA, Troubleshoot buffering và PI Buffer Subsystem health alerts, tài liệu PI Server
- AVEVA, pibufss buffer session states, View buffering sessions with the PIBufss và Make sure all queued events have been processed
- AVEVA, Interpret error codes, Message structure và Severity levels
- AVEVA, Search and sort messages và Read messages from a message log file
- AVEVA, Interface buffering overview và Error and informational messages, UniInt Framework 4.7.3
Đọc ngày 13/11/2026. Bài viết diễn giải, không trích nguyên văn; đọc tài liệu gốc trước khi thiết kế hoặc thao tác.