LADER , thêm phần thử data block
Mình sẽ xem cấu trúc project trước để sửa đúng khối Data Block của Ladder.
Mình đã sửa khối Data block của Ladder để có thêm kiểu dữ liệu và mảng như TIA Portal, nhưng chưa biên dịch được. Môi trường của mình không có dotnet, nên bạn cần build thử trên máy bạn.
Cách dùng: giải nén DataBlock_Array_update.zip đè lên project (giữ nguyên đường dẫn thư mục), rồi build.
Kiểu dữ liệu mới
- Có thêm: Char, SInt, USInt, UInt, UDInt, Time, String (trước đó chỉ có Bool, Byte, Int, Word, DInt, DWord, Real, LReal).
- Start value nhập được
'A'cho Char,T#1s500mscho Time, và16#FFhoặc2#1010cho số nguyên. - Giá trị Time hiển thị dạng
T#1s500ms, Char hiển thị'A'. - String tối đa 254 ký tự. Hiện chỉ lưu, xem và sửa trong bảng DB; lệnh ladder chưa dùng được String vì chương trình ladder đang chỉ làm việc với số.
- LInt, ULInt, LWord (64-bit) chưa có, vì bộ nhớ ladder dùng số double.
Mảng
- Ở ô Data type bạn gõ thẳng
Array[0..100] of Int, hoặc chọn mẫu gợi ý. Mảng tự bung thành các dòngtên[0],tên[1]... - Dòng mảng có nút ▸/▾ để thu hoặc bung. Mỗi lần hiện 100 phần tử, có nút “Hiện thêm”, tối đa 10 000 phần tử mỗi mảng.
- Start value ở dòng mảng áp cho mọi phần tử; mỗi dòng phần tử có thể đặt Start riêng. Nút “Giá trị hiện tại → Start” lưu riêng từng phần tử khác 0.
- Retain áp dụng cho cả mảng; Monitor sửa được từng phần tử.
- Dùng trong ladder: kéo phần tử từ danh sách tag bên phải (dòng mảng bấm để bung, gõ từ khoá thì liệt kê các phần tử khớp). Hoặc gõ tay
db_start.speed_35_rated[5]. - Đổi tên DB hoặc tên mảng thì mọi toán hạng
tên[i]đổi theo.
Giới hạn: chỉ số mảng phải là số cố định, chưa hỗ trợ chỉ số động kiểu arr[Var_1]. Chỉ số ngoài miền lo..hi thì toán hạng báo đỏ.
File trong zip
LadderDb.csvàComponents/LadderDialog.razorlà phần sửa chính.wwwroot/app.cssthêm kiểu hiển thị cho dòng mảng.LadderDriver.cschỉ đổi một chữ:TryTimethànhinternal.HUONG_DAN_DATA_BLOCK.mdcập nhật hướng dẫn.
Nếu build báo lỗi, bạn gửi dòng lỗi mình sửa tiếp. Chỗ dễ lỗi nhất là cú pháp Razor trong DbEditor và DbMonCell.

