Trang 44
Trong giải thuật này sẽ thực hiện kiểm tra cờ ngắt UART để đảm bảo không bỏ lỡ yêu cầu gửi dữ liệu từ node chính. Sau đó sẽ kiểm tra xem ADE7753 có báo ngắt hay không, nếu có sẽ đọc các giá trị từ ADE7753. Giải thuật thực hiện việc đọc và cộng dồn giá trị của mười lần liên tiếp và tính trung bình của mười lần, để đảm bảo tính đúng đắn của giá trị nhận được. Nếu trong mười lần này có một lần xuất hiện lỗi, toàn bộ quá trình đọc giá trị từ ADE7753 sẽ được khởi tạo lại từ đầu.
Sau mỗi lần đọc giá trị từ chip, giải thuật sẽ tiến hành kiểm tra xem giá trị nhận được có hợp lý không. Ví dụ như điện áp, tần số lưới điện chỉ nằm trong một khoảng giới hạn cho phép, nếu ra ngoài giới hạn này chứng tỏ chip ADE7753 đã làm việc không đúng và giải thuật sẽ gán các giá trị báo lỗi cho các biến số U, I, F, P.
Trong cả hai giải thuật gửi dữ liệu và đọc giá trị từ ADE7753 đều có thực hiện việc kiểm tra tính hợp lý của giá trị thu được. Tuy nhiên, trong thực tế triển khai thiết bị cho thấy hầu như không xảy ra hiện tượng chip vi điều khiển PIC hoặc ADE7753 hoạt động sai. Điều này có được một phần lớn là nhờ vào khâu lắp ráp mạch đã được thực hiện nghiêm túc và xem xét kỹ lưỡng, nhằm tránh xảy ra sai sót không đáng có về sau.
Hình 2.16 và 2.17 dưới đây là ảnh chụp giao diện của phần mềm thu thập dữ liệu trên computer. Phần mềm được viết bằng Visual Basic 6 và đồng thời thực hiện hai nhiệm vụ:
+ Lưu trữ dữ liệu vào cơ sở dữ liệu
Trang 45
Hình 2.16. Giao diện thu thập dữ liệu và đồ thị hóa dữ liệu tại Node chính [3]
Hình 2.17. Giao diện thu thập dữ liệu và đồ thị hóa dữ liệu tại các Node con [3]