Bài này bàn phần phần mềm, tức thiết kế luồng dữ liệu trên EIS-D150 bản E1DS641: một luồng gồm những chặng nào, công cụ nào có sẵn trong máy, khi nào phải viết mã và thử thế nào trước khi đấu vào dây chuyền thật. Cấu hình phần cứng và vị trí lắp đã có ở bài bảng thông số đầy đủ EIS-D150; cách tính dung lượng ổ và chính sách giữ dữ liệu có ở bài quản lý dữ liệu tại biên EIS-D150. Ở đây không nhắc lại hai phần đó.

Luồng dữ liệu tại biên gồm năm chặng
Một luồng chạy được luôn có đủ năm chặng dưới đây. Bỏ chặng nào thì phần thiếu sẽ dồn sang chỗ khác, thường là sang phần mềm phía trên, và ở đó việc sửa tốn kém hơn nhiều.
| Chặng | Việc phải làm | Lỗi hay gặp |
|---|---|---|
| Đọc thiết bị trường | Hỏi bộ điều khiển, đồng hồ đo, cảm biến theo chu kỳ đã định | Đặt chu kỳ quá dày làm nghẽn tuyến nối tiếp |
| Chuẩn hoá | Đổi giá trị thô sang tên điểm đo, đơn vị và kiểu dữ liệu thống nhất | Bỏ hẳn chặng này, đẩy dữ liệu thô lên lớp trên |
| Lọc và tính tại chỗ | Loại giá trị ngoài dải, gộp theo phút, tính chỉ số dẫn xuất | Lọc quá tay làm mất cả giá trị bất thường cần biết |
| Đệm | Giữ dữ liệu khi đường lên gián đoạn rồi gửi bù | Không đặt trần dung lượng, đệm đầy ổ rồi treo máy |
| Gửi lên lớp trên | Đóng gói bản tin và gửi theo giao thức đã thống nhất | Gửi từng bản ghi cho toàn bộ điểm đo, nghẽn đường truyền |
Chặng chuẩn hoá là chặng hay bị cắt nhất vì nó không tạo ra kết quả nhìn thấy ngay. Cái giá phải trả xuất hiện muộn: khi thêm nhà máy thứ hai, mỗi nơi gọi cùng một đại lượng bằng một tên khác nhau và mọi báo cáo đều phải viết lại.
Công cụ dựng luồng có sẵn trong máy
Theo tài liệu hãng, máy giao kèm bốn nhóm công cụ, đủ để dựng phần lớn luồng mà không phải viết mã từ đầu.
- Bộ tác nhân thu thập. Nhận dữ liệu từ thiết bị, đổi sang bản tin theo giao thức xuất bản và định dạng văn bản có cấu trúc, rồi gửi lên lớp quản lý.
- Bộ công cụ dựng luồng trực quan. Kiểu nối khối trên nền trình duyệt: mỗi khối là một bước đọc, biến đổi hoặc gửi, nối lại thành luồng. Đây là công cụ dùng nhiều nhất trong thực tế.
- Công cụ cấu hình giao thức dạng giao diện. Khai báo địa chỉ thanh ghi, kiểu dữ liệu và chu kỳ đọc mà không phải sửa tệp cấu hình bằng tay.
- Trình tạo trang biểu đồ. Dựng trang xem số liệu tại chỗ bằng cách kéo thả tiện ích, dùng để kiểm luồng nhanh trước khi có phần mềm chính thức.
Ngoài bốn nhóm trên còn có bộ công cụ lập trình cho phần đọc giao thức, dùng khi thiết bị dùng giao thức riêng chưa có khối dựng sẵn. Phần quản trị máy và cập nhật từ xa nằm ở bộ công cụ khác, trình bày ở bài phần mềm nhúng iEdge.
Khi nào dùng luồng trực quan, khi nào viết mã
Công cụ nối khối rất tiện cho luồng có hình dạng đơn giản, nhưng có ngưỡng rõ ràng. Ba dấu hiệu cho thấy nên chuyển phần đó sang mã tự viết.
Thứ nhất, thiết bị dùng giao thức chưa có khối dựng sẵn. Ghép tạm bằng nhiều khối trung gian sẽ tạo ra luồng khó đọc và khó sửa. Thứ hai, phép tính có nhiều nhánh điều kiện lồng nhau, ví dụ quy tắc tính hiệu suất thiết bị có nhiều trường hợp ngoại lệ. Thứ ba, bản vẽ luồng không còn xem hết trong một màn hình, dấu hiệu cho thấy luồng đã vượt mức mà công cụ trực quan còn giúp được.
Cách chia hợp lý là giữ phần đọc và phần gửi trên luồng trực quan, đưa phần tính toán phức tạp vào một khối mã riêng có tên rõ ràng. Cách này giữ được lợi thế nhìn thấy toàn cảnh mà không phải nhét logic vào hàng chục khối nhỏ.
Chuẩn hoá tên điểm đo trước khi dựng luồng
Việc nên làm trước tiên, trước cả khi mở công cụ, là lập bảng điểm đo. Mỗi dòng gồm tên điểm đo, thiết bị nguồn, địa chỉ đọc, đơn vị, dải giá trị hợp lệ và chu kỳ đọc. Bảng này là hợp đồng giữa phần cứng và phần mềm.
Ba quy ước nên chốt ngay trong bảng. Một, tên điểm đo theo cấu trúc từ lớn đến nhỏ, ví dụ nhà máy rồi khu vực rồi máy rồi đại lượng. Hai, đơn vị thống nhất cho cùng loại đại lượng trong toàn nhà máy, không để chỗ dùng độ C chỗ dùng độ F. Ba, dải giá trị hợp lệ ghi ngay trong bảng, vì đó là căn cứ cho chặng lọc và cũng là cách phát hiện cảm biến hỏng.
Máy bản E1DS641 có bộ nhớ 4 GB và ổ 64 GB theo cấu hình giao kèm. Mức này đủ cho luồng vài trăm điểm đo với chu kỳ tính bằng giây, với điều kiện luồng không giữ lịch sử trong bộ nhớ. Khi luồng phải giữ cửa sổ tính toán dài hoặc chạy thêm cơ sở dữ liệu tại chỗ, nên nâng bộ nhớ trước chứ đừng chờ tới lúc máy chậm.
Thử luồng trước khi đấu vào dây chuyền thật
Luồng chạy đúng trong điều kiện bình thường là mức tối thiểu. Phần quyết định nằm ở cách luồng cư xử khi có sự cố. Ba tình huống sau nên thử trên bàn trước khi mang ra xưởng.
Tình huống một, mất đường lên lớp trên. Luồng phải chuyển sang đệm, không được dừng phần đọc thiết bị. Cần đo được sau bao lâu thì đệm đầy và luồng xử lý ra sao khi đầy. Tình huống hai, thiết bị trường không trả lời. Luồng phải bỏ qua vòng đọc đó, ghi nhật ký và tiếp tục, không được treo cả luồng vì một thiết bị. Tình huống ba, máy mất điện rồi khởi động lại. Luồng phải tự chạy lại và dữ liệu đã đệm phải còn.
Kết quả ba tình huống nên ghi thành biên bản kèm thời điểm và số liệu đo được. Đây cũng là phần hồ sơ mà bên nhận bàn giao cần để biết hệ thống chịu được tới đâu.
Chọn thiết bị cho lớp dựng luồng tại biên
Hồ sơ yêu cầu nên nêu bốn nội dung: số điểm đo và chu kỳ đọc từng nhóm, danh sách giao thức phải đọc, số ngày phải đệm được khi mất kết nối, và phần mềm phía trên sẽ nhận dữ liệu theo giao thức nào. Bốn nội dung này quyết định cả cấu hình máy lẫn khối lượng công dựng luồng.
Nhóm máy cùng vai trò nằm ở danh mục máy tính không quạt cho IoT. Khi hệ thống cần thêm lớp giám sát và điều khiển trên nền web, phần mềm tương ứng có tại WebAccess. Danh mục máy tính nhúng của hãng liệt kê tại chuyên mục máy tính nhúng Advantech trên IPC247. Khi chưa chốt được cấu hình, dùng công cụ chọn máy theo yêu cầu lắp đặt rồi gửi kèm bảng điểm đo.
Câu hỏi thường gặp về thiết kế luồng dữ liệu trên EIS-D150
Luồng dữ liệu tại biên gồm những chặng nào?
Năm chặng: đọc thiết bị trường, chuẩn hoá thành tên và đơn vị thống nhất, lọc và tính toán tại chỗ, đệm khi mất kết nối, rồi gửi lên lớp trên. Bỏ chặng chuẩn hoá là lỗi hay gặp nhất, vì khi đó mọi phần mềm phía sau đều phải tự đoán ý nghĩa của từng điểm đo.
Máy có sẵn công cụ dựng luồng hay phải cài thêm?
Theo tài liệu hãng, máy giao kèm bộ tác nhân thu thập và bộ công cụ dựng luồng trực quan theo kiểu nối khối, cùng công cụ cấu hình giao thức dạng giao diện và trình tạo trang biểu đồ. Ngoài ra có bộ công cụ lập trình để tự viết phần đọc giao thức mà máy chưa hỗ trợ sẵn.
Khi nào nên viết mã thay vì dùng công cụ luồng trực quan?
Khi giao thức của thiết bị chưa có khối dựng sẵn, khi phép tính có nhiều nhánh điều kiện lồng nhau, hoặc khi số điểm đo lớn tới mức luồng trực quan trở nên khó đọc. Ranh giới thực dụng là khi bản vẽ luồng không còn xem hết trong một màn hình.
Bộ nhớ 4 GB có đủ cho một luồng nhiều điểm đo không?
Đủ cho luồng vài trăm điểm đo với chu kỳ đọc tính bằng giây, nếu phần lưu trữ được đẩy sang ổ và luồng không giữ lịch sử trong bộ nhớ. Khi luồng phải giữ cửa sổ tính toán dài hoặc chạy thêm cơ sở dữ liệu tại chỗ thì nên nâng bộ nhớ trước khi triển khai.
Thử luồng thế nào trước khi đấu vào dây chuyền thật?
Chạy luồng với nguồn dữ liệu giả lập, đối chiếu từng điểm đo với giá trị đọc trực tiếp từ thiết bị, rồi thử ba tình huống hỏng: mất mạng lên lớp trên, thiết bị trường không trả lời và máy khởi động lại. Luồng chỉ coi là đạt khi qua được cả ba tình huống đó.
Hồ sơ bàn giao một luồng dữ liệu gồm những gì?
Bảng điểm đo kèm tên, đơn vị và dải giá trị hợp lệ, bản vẽ luồng, bản sao lưu cấu hình luồng, danh sách tài khoản và khoá kết nối kèm người giữ, cùng biên bản ba tình huống hỏng đã thử. Thiếu bản sao lưu cấu hình là rủi ro lớn nhất khi ổ đĩa hỏng.
Đọc thêm về thiết bị: toàn bộ máy tính công nghiệp Advantech cùng các hãng khác trên ipc247.com.




