Các giải pháp

Thứ tự byte Modbus của đồng hồ đo điện: Giải mã thanh ghi mà không gặp lỗi tỷ lệ

Thứ tự byte của đồng hồ đo công suất Modbus xác định cách các byte nhận được trở thành một phép đo có thể sử dụng. Bắt đầu với bản đồ đăng ký đồng hồ chính xác, xác định kiểu dữ liệu và số lượng đăng ký, sau đó phân biệt thứ tự byte bên trong mỗi đăng ký dựa trên thứ tự của nhiều đăng ký. Giải mã một phản hồi đã lưu trước khi áp dụng đơn vị kỹ thuật hoặc tỷ lệ CT. Một phản hồi truyền thông hợp lệ vẫn có thể tạo ra giá trị không chính xác khi các bước này bị trộn lẫn với nhau. Xác minh kết quả so với tài liệu tham khảo đã được ghi lại tại nhiều điểm vận hành hơn, và giữ lại các byte gốc để một kỹ sư khác có thể tái tạo lại cách diễn giải.

Hướng dẫn này đề cập đến việc giải mã sau khi đã thiết lập kết nối truyền thông. Đối với địa chỉ, cài đặt serial và lần đọc thành công đầu tiên, bắt đầu với hướng dẫn cài đặt đồng hồ công suất Modbus. Các ví dụ dưới đây là ví dụ về giao thức tổng hợp, không phải địa chỉ đăng ký BY194 hoặc chức năng sản phẩm đã được khẳng định.

Thiết lập hợp đồng giải mã theo mô hình cụ thể

Lấy mã đặt hàng đầy đủ của thiết bị, tùy chọn truyền thông, phiên bản bản đồ đăng ký phù hợp và thông tin firmware khi có sẵn. Một bảng điều khiển phía trước quen thuộc không xác định liệu một thiết bị cụ thể có hỗ trợ truyền thông hay không hoặc bản đồ của nó có phù hợp với mô hình khác hay không. Cái dòng sản phẩm CNBYG BY194 là dòng sản phẩm liên quan; yêu cầu tài liệu cho cấu hình cung cấp trước khi tích hợp.

Đối với mỗi số lượng yêu cầu, ghi lại chức năng hỗ trợ, địa chỉ đã được ghi rõ, số lượng đăng ký, biểu diễn, thứ tự byte và word, đơn vị kỹ thuật, tỷ lệ và quy ước dấu. Cũng ghi lại xem giá trị truyền đã được điều chỉnh cho các số lượng chính hay chưa. Các trường này tạo thành một hợp đồng giải mã. Xử lý địa chỉ một cách riêng lẻ là đủ sẽ bỏ lỡ nhiều cơ hội độc lập để có một phép đọc hợp lý nhưng sai.

Tách tài liệu nguồn khỏi cài đặt phần mềm dùng để thực hiện nó. Một tùy chọn driver gọi là little endian có thể đề cập đến toàn bộ một mục bốn byte, trong khi một ứng dụng khác sử dụng cùng nhãn để trao đổi hai từ mười sáu bit. Giữ lại một ví dụ byte cụ thể cùng với tên tùy chọn để cấu hình vẫn dễ hiểu sau khi nâng cấp phần mềm.

Tách thứ tự byte của đăng ký khỏi thứ tự word

The Thông số kỹ thuật giao thức ứng dụng Modbus mô tả biểu diễn big-endian cho địa chỉ và các mục dữ liệu: byte quan trọng nhất của một mục nhiều byte được truyền trước. Một register giữ hoặc input chứa mười sáu bit. Quy tắc giao thức đó không nên bị nhầm lẫn với định nghĩa chung về cách nhà sản xuất ánh xạ phép đo số thực floating-point 32-bit qua hai register.

Một nhà sản xuất có thể ghi rõ word 16-bit quan trọng hơn là cuối cùng hoặc đầu tiên cho một giá trị nhiều register. Khách hàng phải tuân theo bản đồ đó. Các register cũng có thể chứa số nguyên đã được tỷ lệ, các trường bit hoặc các biểu diễn đã được tài liệu hóa khác. Hai register liền kề không tự động là một số thực IEEE floating-point, ngay cả khi diễn giải chúng theo cách đó tạo ra một số trong phạm vi mong đợi.

Truyền bit serial là một lớp khác. Thứ tự mà bộ điều khiển serial gửi các bit trong một ký tự không báo ứng dụng đảo ngược byte của register. Để lớp truyền thông xử lý khung dữ liệu. Nhiệm vụ giải mã bắt đầu từ dữ liệu phản hồi đã xác thực và bản đồ của nhà sản xuất, thay vì dự đoán bằng mắt về dạng sóng điện.

Dụng cụ tham khảo CNBYG BY194 đã ngắt kết nối bên cạnh tài liệu xem xét giải mã truyền thông — kiểm tra
Minh họa tham chiếu sản phẩm của hình vẽ về ngoại thất BY194 bị ngắt kết nối bên cạnh tài liệu đánh giá giải mã truyền thông. Hình ảnh này không thiết lập một tùy chọn truyền thông phù hợp, phân công terminal, biểu diễn đăng ký hoặc tốc độ phản hồi.

Sử dụng ví dụ bốn byte rõ ràng

Đối với giá trị nhị phân IEEE 754 dạng binary32 tổng hợp của 1.0, biểu diễn byte theo kiểu big-endian thông thường là hexadecimal 3F 80 00 00. Gán nhãn các byte đó là A, B, C và D tương ứng. Các nhãn này xác định vị trí trong ví dụ này; chúng không phải là nhãn địa chỉ Modbus hoặc lời hứa về bản đồ của bất kỳ thiết bị nào.

Chuỗi ví dụ Các byte trình bày cho bộ giải mã Diễn giải để xác minh
ABCD 3F 80 00 00 Bản diễn dạng nhị phân lớn-endian gốc
CDAB 00 00 3F 80 Hai từ 16-bit hoán đổi cho nhau
BADC 80 3F 00 00 Các byte hoán đổi trong mỗi từ
DCBA 00 00 80 3F Chuỗi bốn byte hoàn chỉnh đảo ngược

Bảng minh họa các biến đổi, không phải bốn cấu hình hợp lệ như nhau cho một đồng hồ đo. Bản đồ phê duyệt xác định phép biến đổi nào, nếu có, là cần thiết. The tài liệu hướng dẫn struct của Python cung cấp một tham chiếu độc lập cho thứ tự byte rõ ràng và định dạng dữ liệu nhị phân. Một bộ giải mã phải chỉ rõ định dạng dự định thay vì dựa vào cách bố trí bộ nhớ gốc của máy tính.

Một phép đo bằng không không phải là thử nghiệm đầu tiên tốt vì một số hoán vị của các byte bằng không vẫn giữ nguyên bằng không. Chọn một phép đo đã được ghi nhận ổn định không phải là không, nếu có thể, rồi xác minh giá trị thứ hai với các byte khác nhau. Không cố ý thay đổi điều kiện điện sống chỉ để tạo ra một giá trị thử nghiệm thuận tiện; hãy sử dụng các quan sát vận hành đã được phê duyệt, trình giả lập đã được ghi nhận hoặc bộ thử nghiệm ủy quyền.

Giải mã theo thứ tự kiểm soát

Đầu tiên xác nhận chức năng yêu cầu và quy ước địa chỉ. Một lỗi lệch có thể trả về các thanh ghi lân cận sai trong khi phản hồi vẫn hợp lệ. Xác định xem phần mềm có mong đợi một lệch giao thức hay một tham chiếu đọc hiểu được. Ghi lại cả ký hiệu của hướng dẫn thủ công và yêu cầu thực tế để tránh việc chỉnh sửa cộng một không rõ nguyên nhân lan rộng qua danh sách thẻ.

Tiếp theo xác minh độ dài phản hồi và trích xuất chỉ các byte thuộc về số lượng mong muốn. Giữ nguyên khung đầy đủ riêng biệt để chẩn đoán, nhưng loại trừ địa chỉ thiết bị, chức năng, số byte và các trường kiểm tra lỗi khỏi dữ liệu số. Xác nhận số thanh ghi yêu cầu thay vì điền vào phản hồi ngắn hoặc bỏ qua âm thầm dữ liệu không mong đợi.

Áp dụng trình tự đăng ký và biểu diễn đã được ghi lại trong tài liệu. Chỉ sau khi giải mã số học chính xác, mới áp dụng tỷ lệ kỹ thuật đã cấu hình và chuyển đổi đơn vị. Cuối cùng, đánh giá xem phép đo có được tỷ lệ chính hay không. Việc giữ riêng các thao tác này giúp dễ dàng truy nguyên sự không phù hợp đến một quyết định cụ thể thay vì che giấu nhiều lỗi bù đắp trong một hệ số nhân.

Phân biệt lỗi thứ tự với lỗi tỷ lệ

Hệ số sai lệch liên tục có thể chỉ ra vấn đề chuyển đổi đơn vị hoặc tỷ lệ chính, nhưng không chứng minh điều đó. Một số hoán đổi byte tình cờ tạo ra các giá trị hợp lý trong phạm vi hoạt động hạn chế. Chẩn đoán dựa trên bằng chứng thô thay vì giả định rằng mỗi số lớn đều do endianness hoặc mỗi lỗi nhỏ đều do hiệu chỉnh.

Đối với một giá trị không ổn định, thỉnh thoảng cực đoan hoặc không phải là số hữu hạn, kiểm tra biểu diễn, giới hạn đăng ký và tính nhất quán của ảnh chụp nhanh. Nếu bản đồ không hứa hẹn đọc nguyên tử qua các đăng ký đã chọn, hãy hỏi cách lấy giá trị đa đăng ký một cách nhất quán. Đọc các đăng ký liền kề trong một yêu cầu giảm các giao dịch không cần thiết nhưng không tự nó chứng minh hành vi cập nhật nội bộ của thiết bị.

Đối với lỗi tỷ lệ cố định, xem xét các đơn vị và hướng dẫn tỷ lệ biến áp điện áp. Xem xét hướng dẫn lựa chọn CT và chuỗi đo lường trước khi áp dụng một hệ số nhân dòng điện khác. Các byte giải mã chính xác không thể bù đắp cho tỷ lệ cảm biến sai hoặc phân công pha không chính xác trong lắp đặt vật lý.

Xử lý số nguyên có dấu, cờ và giá trị ngoại lệ

Một đăng ký 16-bit có thể biểu diễn một số nguyên không dấu, số nguyên có dấu hoặc một tập hợp các bit trạng thái. Cùng một mẫu bit có ý nghĩa khác nhau tùy theo cách hiểu đó. Sử dụng định nghĩa của nhà sản xuất thay vì suy luận kiểu dữ liệu dựa trên việc giá trị hiện tại có phải là dương hay không. Các đăng ký công suất và năng lượng theo hướng cần cẩn thận đặc biệt vì dấu có thể mang ý nghĩa vận hành.

Xác nhận cách biểu diễn các phép đo không khả dụng hoặc không hợp lệ. Một sentinel đã được ghi rõ, cờ trạng thái hoặc giá trị số thực ngoại lệ nên trở thành điều kiện chất lượng rõ ràng trong hệ thống nhận. Thay thế nó một cách im lặng bằng zero khiến một vấn đề đo lường có vẻ như là sự vắng mặt thực sự của tải, điều này có thể gây hiểu lầm trong báo cáo năng lượng và xử lý sự cố.

Giữ các bộ đếm tích lũy riêng biệt với các phép đo tức thời. Độ rộng, đơn vị, hành vi đặt lại và quy tắc rollover của chúng có thể khác với các bộ ghi công suất lân cận. Cái hướng dẫn rollover bộ đếm năng lượng giải thích kiểm tra liên tục sau khi giải mã đã được thiết lập. Việc sửa lỗi rollover không bao giờ nên được sử dụng để che giấu một lỗi diễn giải chưa được giải quyết.

Bảo lưu bằng chứng qua các cổng và thay đổi phần mềm

Một cổng có thể giải mã một bộ ghi serial và phát hành một giá trị kỹ thuật, hoặc nó có thể chuyển tiếp các bộ ghi mà không thay đổi chúng. Xác định hành vi nào áp dụng trước khi cấu hình một bộ giải mã thứ hai phía dưới. Việc hoán đổi không cần thiết ở cả hai lớp có thể xuất hiện để sửa giá trị trong khi để lại một cấu hình dễ bị phá vỡ khi một trong hai lớp thay đổi.

Lưu trữ hồ sơ vận hành gồm nhận dạng thiết bị, phiên bản bản đồ, yêu cầu và phản hồi thô, hiển thị địa phương quan sát được, dấu thời gian, giá trị trung gian đã giải mã, giá trị kỹ thuật cuối cùng và trạng thái chất lượng. Bao gồm phiên bản driver chính xác và cài đặt chuyển đổi. Hồ sơ này hữu ích hơn so với ảnh chụp màn hình của bảng điều khiển trông đúng vì nó giải thích cách giá trị đó được lấy ra.

Dụng cụ tham khảo CNBYG BY194 đã ngắt kết nối bên cạnh tài liệu xem xét giải mã truyền thông — hồ sơ
Minh họa tham chiếu sản phẩm của hình vẽ về ngoại thất BY194 bị ngắt kết nối bên cạnh tài liệu đánh giá giải mã truyền thông. Hình ảnh này không thiết lập một tùy chọn truyền thông phù hợp, phân công terminal, biểu diễn đăng ký hoặc tốc độ phản hồi.

Sau khi cập nhật firmware, cổng hoặc driver, hãy phát lại các ví dụ đã được lưu trữ chấp thuận ngoại tuyến khi có thể và so sánh các quan sát trực tiếp qua một thủ tục được ủy quyền. Thử ít nhất một giá trị không bằng không, bất kỳ số lượng có ký cần thiết nào, một điều kiện không hợp lệ đã được ghi lại và dữ liệu bộ đếm đại diện. Các kiểm tra nên nhắm vào các biểu diễn thực tế đang sử dụng thay vì mọi hoán vị byte lý thuyết có thể.

Xác định một bài kiểm tra chấp nhận có thể tái tạo

Định nghĩa chấp nhận dựa trên các phép đo đã được ghi lại và dung sai dự án. Không phát minh ra một tỷ lệ phần trăm chênh lệch chung giữa giá trị hiển thị và giám sát: thời gian cập nhật, làm tròn hiển thị và thông số kỹ thuật của thiết bị ảnh hưởng đến so sánh. Ghi lại xem các quan sát có đồng thời đủ để hỗ trợ kết luận hay không, đặc biệt khi tải thay đổi nhanh.

Giữ nguyên xác minh ban đầu ở chế độ chỉ đọc. Việc khắc phục sự cố giải mã không cho phép ghi vào cài đặt thiết bị, chức năng bảo vệ hoặc dữ liệu hiệu chỉnh. Nếu cần thay đổi cấu hình, lấy thủ tục phù hợp, bảo vệ các cài đặt trước đó và xác minh kết quả riêng biệt với kiểm tra truyền thông.

Bàn giao kỹ thuật nên nêu rõ lớp nào sở hữu mỗi phép biến đổi. Ví dụ, driver có thể lắp ráp các từ đã ghi, định nghĩa thẻ có thể chuyển đổi watt sang kilowatt, và đồng hồ có thể đã áp dụng tỷ lệ CT. Quyền sở hữu có tên ngăn chặn một nhà tích hợp sau này thêm một sửa đổi khác vì một cài đặt có vẻ thiếu trong lớp của họ.

Học hỏi thêm: ý nghĩa của endianness

Bài học của Computerphile giải thích cách ý nghĩa byte và thứ tự bộ nhớ liên quan. Nó hỗ trợ các khái niệm giải mã ở trên, trong khi bản đồ đồng hồ chính xác vẫn là thẩm quyền cho biểu diễn bộ ghi. Video không xác lập bất kỳ địa chỉ bộ ghi BY194 nào hoặc mặc định.

Giải thích về Endianness Với một quả trứng - Computerphile

Xem bài học hướng dẫn

Các câu hỏi thường gặp

Modbus big-endian có nghĩa là mọi giá trị số thực 32 bit gồm hai thanh ghi đều có cùng thứ tự từ hay không?

Không. Biểu diễn byte của giao thức không thay thế định nghĩa của nhà sản xuất về phép đo nhiều bộ ghi. Xác minh kiểu dữ liệu đã ghi và thứ tự từ cho bản đồ chính xác.

Tôi có thể thử thay đổi các cài đặt hoán đổi cho đến khi con số hiển thị có vẻ hợp lý không?

Sử dụng các phản hồi đã lưu để điều tra, nhưng chỉ chấp nhận cài đặt khi nó phù hợp với bản đồ và các quan sát độc lập. Một số hợp lý tại một điểm vận hành là chưa đủ bằng chứng.

Tôi có nên hoán đổi byte một lần nữa sau khi cổng gateway phát hành giá trị kỹ thuật không?

Xác định những gì gateway đã thực hiện. Nếu nó đã giải mã giá trị, một phép biến đổi byte khác thường là lỗi cấu hình chứ không phải là một giai đoạn thứ hai cần thiết.

Việc đúng thứ tự byte có chứng minh rằng phép đo của đồng hồ chính xác không?

Không. Nó xác minh một phần trong quá trình diễn giải dữ liệu. Cấu hình cảm biến, dây nối, đơn vị, tỷ lệ, điều kiện đo và hiệu suất của thiết bị vẫn cần kiểm tra riêng.

Bạn đang tìm kiếm dịch vụ thợ điện?

Hãy gọi bất cứ lúc nào +86-18058378211