Trang chủ › Bài kỹ thuật

Read in English

Sửa lỗi AVEVA PI System: dữ liệu bị trống, buffering pibufss, message log và pidiag

TDL Industrial Automation · Cập nhật lần cuối:

Theo tài liệu PI Server và UniInt của AVEVA: vì sao trend PI bị trống, kiểm PI Buffer Subsystem bằng Buffering Manager, pibufss -health và -cfg, các trạng thái phiên buffer, piclient.ini, đọc message log bằng pigetmsg và tra mã lỗi bằng pidiag -e.

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ì.

Dữ liệu PI bị trống: đi từ interface tới Data ArchiveNăm bước từ trên xuống: interface đọc dữ liệu; dịch vụ buffering trên máy interface; phiên buffer tới Data Archive; message log; tra mã lỗi. Theo tài liệu PI Server và UniInt của AVEVA.Dữ liệu PI bị trống: đi từ interface tới Data ArchiveInterfacemáy đọc dữ liệudịch vụ interface phụ thuộc dịch vụ bufferingkhông có buffering: mất kết nối là mất dữ liệudữ liệu vào bufferPI Buffer Subsystempibufss trên máy interface4.3 trở lên: Buffering Manager và pibufss -healthbản cũ hơn: pibufss -cfggửi theo phiênPhiên buffertới từng Data Archivebình thường: Registered hoặc SendingDataSendError, Disconnected, NotPosting: xem nguyên nhânqueued events: 0 là đã gửi hếtghi nhận sự kiệnMessage logpigetmsgmức C, E, W, I, Dlọc theo thời gian và tiến trìnhtra mãMã lỗipidiag -esố âm: lỗi Data Archivesố dương: lỗi hệ điều hànhTheo AVEVA, tài liệu PI Server (buffering, message log) vàUniInt Framework 4.7.3 (đọc 13/11/2026). Thứ tự kiểm và hình: TDL tự vẽ.
Hình 1: Dữ liệu PI bị trống: đi từ interface tới Data Archive. Trên điện thoại, vuốt ngang để xem hết hình.

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

Đọ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.

Dịch vụ liên quan:
SCADA & historian AVEVA (Wonderware)