Xử lý dữ liệu chuỗi ký tự trong chương trình
Sản phẩm mang mã 6ES7313-6BE01-0AB0 là bộ điều khiển CPU 313C-2 PTP thuộc dòng SIMATIC S7-300 của Siemens.
Khi nhận dữ liệu dạng chuỗi ký tự từ thiết bị bên ngoài, phần xử lý trong chương trình là nơi tốn công nhất và cũng là nơi hay phát sinh lỗi nhất.
Bốn bước xử lý một bản tin
Bước thứ nhất là nhận và ghép các ký tự vào một vùng đệm, vì dữ liệu tới từng ký tự chứ không phải cả bản tin cùng lúc.
Bước thứ hai là nhận biết bản tin đã đầy đủ, thường qua ký tự kết thúc hoặc qua độ dài cố định.
Bước thứ ba là tách các trường dữ liệu theo vị trí hoặc theo ký tự phân cách.
Bước thứ tư là chuyển chuỗi ký tự thành số để dùng trong tính toán.
Ba lỗi thường gặp
Lỗi thứ nhất là không xử lý trường hợp bản tin đến không đầy đủ. Nếu thiết bị bị ngắt giữa chừng, vùng đệm chứa dữ liệu dở dang, và bản tin tiếp theo sẽ bị ghép vào đó tạo thành chuỗi vô nghĩa.
Cần có cơ chế xóa vùng đệm khi quá một khoảng thời gian mà bản tin chưa hoàn tất.
Lỗi thứ hai là không kiểm tra tính hợp lệ trước khi dùng. Giá trị nhận về phải nằm trong khoảng có nghĩa, và độ dài bản tin phải đúng như dự kiến.
Lỗi thứ ba là giả định định dạng không bao giờ đổi. Khi thiết bị đầu cuối được thay hoặc được cập nhật phần mềm, định dạng có thể thay đổi và toàn bộ phần xử lý sai lệch.
Vì sao lỗi loại này nguy hiểm
Điều nguy hiểm là hệ thống thường không báo lỗi. Dữ liệu vẫn về, chương trình vẫn đọc được số, chỉ là số đó sai.
Nếu giá trị dùng để ghi nhận khối lượng hoặc để kiểm soát chất lượng, sai lệch có thể tồn tại hàng tuần trước khi ai đó nhận ra qua đối chiếu thủ công.
Vì vậy việc kiểm tra tính hợp lệ không phải là tùy chọn mà là phần bắt buộc của mọi chương trình xử lý dữ liệu từ bên ngoài.
Điều kiện cung cấp
Sản phẩm mới 100 phần trăm, bảo hành chính hãng, có hóa đơn VAT và CO/CQ theo yêu cầu hồ sơ. Anh chị liên hệ nhân viên tư vấn để được hỗ trợ. Dự án xin gửi qua Vietautomation.com.









