Thông báo mã lỗi và kiểu lỗi:
Thông báo mã lỗi
o Giải thích: Khi phát hiện ra lỗi thì máy tính báo cho bộ điều khiển biết và khi bộ điều khiển đánh dấu lỗi đó xong thì phải báo về cho máy tính biết là đã xong lỗi đó. Trong khi camera phát hiện ra lỗi còn đến khi lỗi đó được đánh dấu có thời gian trễ khoảng vài giây, nên trong thời gian trễ này có thể xảy ra nhiều lỗi. Khi xảy ra trường hợp này thì bộ điều khiển báo về thì máy tính không biết là lỗi trước hay sau. Ta có thể dùng cách tính theo hang đợi nhưng như thế nếu bộ điều khiển vì lý do nào đó bỏ qua 1 lỗi thì máy tính cũng không biết và có thể dẫn đến sai lệch từ đó về sau. Nên ta sẽ dũng mã lỗi cho từng lỗi, khi máy tính phát hiện ra lỗi thông báo cho bộ điều khiển và bộ điều khiển khi đánh dấu lỗi nào thì cũng gửi thông tin về mã lỗi cho máy tính.
o Giải quyết: Do chỉ trễ vài giây nên số lỗi dồn lại là không nhiều khoảng dưới 10 lỗi nhưng ta vẫn phải dùng ít nhất là 1 byte trong gói tin để thông báo sự kiện này. Ta sẽ tận dụng luôn byte này đề đếm lỗi, lấy số thứ tự làm mã lỗi. Một byte tương ứng là từ 0-255. Quy định
ứng với 0, tiếp tục quay vòng. Như vậy ta sẽ coi như việc đếm lỗi tương ứng với mã lỗi luôn, điều này có điểm lợi là không cần biết lúc nào thì trong hàng đợi của bộ điều khiển là không còn lỗi, cứ giải quyết xong lỗi nào thì sẽ trả về lỗi đó.
Thông báo về kiểu lỗi:
o Giải thích: Với mỗi lỗi sẽ có những mức độ lỗi khác nhau. Ta sẽ chia làm 3 loại lỗi tương ứng với 3 cách đánh dấu trên bộ điều khiển: lỗi 1 (nghiêm trọng nhất), lỗi 2 (khá nghiêm trọng), lỗi 3 (ít nghiêm trọng). Về quy định để xếp loại lỗi thì sẽ cụ thể sau.
o Giải quyết: dùng 1 byte thông báo trong gói tin, không có lỗi ứng với 0x00, lỗi 1 ứng với 0x02, lỗi 4 ứng với 0x04, lỗi 3 ứng với 0x08.
Gửi thông số cài đặt hệ thống:
Mật khẩu truy cập bộ điều khiển:
o Giải thích: khi người sử dụng muốn thay đổi gì trong hệ thống như đổi từ auto sang manual hoặc thay đổi độ trễ thì đều phải nhập vào mật khẩu.
o Giải quyết: mật khẩu gồm luôn gồm 6 số. Như vậy ta sẽ dùng 7 byte
trong gói tin để thông báo:
Byte 1: thông báo là có thay đổi mật khẩu hay không. Với 0x00 tương ứng là không và 0xAA tương ứng là có.
Byte 2-7: thông báo 6 số của mật khẩu. phần này cứ thế truyền số lên.
Thời gian trễ của bộ điều khiển kể từ khi nhân tin đánh dấu từ máy tính:
o Giải thích: Do khi có lệnh đánh dấu từ máy tính thì phải có thời gian trễ để đánh dấu nên tùy thuộc vào công suất tời quay hoặc điều kiện bên ngoài làm cho tốc độ chạy vải không như dự kiến ban đầu nên có phần gửi độ trễ để điều chỉnh sai số.
Byte 1: thông báo có thay đổi về độ trễ hay không. Với 0x00 tương ứng là không có và 0xAA là có thay đổi.
Byte 2-5: Do độ dài ngắn nên ta có thể dùng 2 byte chỉ số ms trễ.
Đưa thông tin tổng hợp về lỗi:
Đưa thông tin về mức độ lỗi:
o Giải thích: ta có thể đánh giá với lỗi 1 là 3, lỗi 2 là 2, lỗi 3 là 1, sau đó tính trung bình trên một chiều dài xác định xem số lỗi trên chiều dài đó. Ví du trong 100m đầu ta có lỗi 1, 100m tiếp ta có lỗi 3 như vậy ta có số điểm là 2/100m. ta sẽ tính như thế cho từng mẻ chạy để đánh giá chất lượng của từng mẻ.
o Giải quyết: Dùng 4 byte. Do đây chắc chắn là số thập phân nên ta phải để kiều số thực 4 byte.
Đưa thông tin cảnh báo:
o Giải thích: với số liệu mức độ lỗi tính ra như trên, với số liệu thấy có quá nhiều lỗi (so sánh với ngưỡng nào đó) thì sẽ đưa ra cảnh báo. Ta chỉ đưa ra 1 ngưỡng cảnh báo, nếu cần nhiều ngưỡng sẽ bổ sung sau.
o Giải quyết: Dùng 1 byte. Với 0x00 tương ứng là không có và 0xAA là có cảnh báo. Khi nhận được cảnh báo bộ điều khiển sẽ nháy đèn hoặc kêu.
Đóng cắt hệ thống: Cho phép đóng cắt hệ thống từ máy tính. Tuy nhiên phần này
cần xem xét cẩn thận vì phần rất dễ xảy ra sự cố do cả máy tính và người điều khiển bên dưới có thể đóng cắt được. Dùng 1 byte, với 0x00 tương ứng là không thay đổi trạng thái hiện tại và 0xAA là có thay đổi trạng thái hiện tại.
Cần 18 byte data