Simulink/Matlab tips: Tạo một goto tag dynamic trong subsystem

Simulink / Matlab tips :

2.  Tạo một goto tag dynamic trong subsystem

Thông thường, goto tag sẽ được fix cố định. Khi có nhu cầu gọi nó từ system bên ngoài, thì chúng ta đặt nó trong phạm vi global. Nhưng ở trường hợp khác, nếu chúng ta muốn tạo 1 subsystem dùng cho nhiều lần trong model. Nếu trong subsystem này có cùng 1 goto tag thì hệ thống sẽ báo lỗi duplicated goto tag. Để trách trường hợp lỗi trên, và tái sử dụng subsystem một cách đơn giản. Chúng ta sẽ tạo goto tag dynamic.

Để làm như vậy, click chuột phải vào subsystem >> chọn mask >> edit mask >> chọn tab Parameter >> add edit >> viết tên của một biến bạn trùng với tên  của goto tag đã viết trước đó , phần value của biến có thể bỏ trống

Trong phần callback của biến này, thêm những dòng lệnh sau :

tag = get_param(gcb,'tenbien'); % lấy giá trị (value) của tên biến (goto tag)
b = find_system(gcb,'LookUnderMasks','on','BlockType','Goto'); % tìm những block goto trogn subsystem
set_param(b{1},'GotoTag',tag); % set goto tag đầu tiên bằng giá trị của biến

bấm save và lưu lại.

Voila! bạn điền tên vào khung mask của subsystem, và nó là tên của goto tag mà bạn muốn.  That's easy !!!

Comments