Bài viết Cải tiến phương pháp truy nhập đường truyền cho các hệ thống điều khiển qua mạng CAN đề xuất một sách lược ưu tiên lai để cải tiến truy nhập đường truyền của mạng CAN (Controller Area Network) tiêu chuẩn nhằm nâng cao chất lượng điều khiển cho các hệ thống điều khiển qua mạng.
Trang 1Trường Đại học Sao Đỏ; cacdhsd@gmail.com; nhuongdv2000@gmail.com
Tóm tắt - Lập lịch thông điệp là một cơ chế quan trọng vì nó ảnh
hưởng lớn đến chất lượng dịch vụ (Quality of Service - QoS) và
chất lượng điều khiển (Quality of Control - QoC) của các ứng
dụng điều khiển quá trình trong các hệ thống điều khiển qua
mạng (Networked Control Systems - NCS) Mục đích của bài báo
này là đề xuất một sách lược ưu tiên lai để cải tiến truy nhập
đường truyền của mạng CAN (Controller Area Network) tiêu
chuẩn nhằm nâng cao chất lượng điều khiển cho các hệ thống
điều khiển qua mạng Chúng tôi thực thi ứng dụng điều khiển quá
trình trên mạng CAN tiêu chuẩn và tính toán chất lượng điều
khiển; sau đó thông qua việc so sánh chất lượng điều khiển của
ứng dụng này với các sách lược ưu tiên khác nhau, chúng tôi chỉ
ra ưu điểm của sách lược ưu tiên lai đã đề xuất cũng như chất
lượng của hệ thống điều khiển được nâng cao
Abstract - In the context of Networked Control Systems (NCS), the scheduling of messages is an important mechanism because
it strongly influences the Quality of Service (QoS) and the Quality
of Control (QoC) of process control applications The goal of this paper is to propose a hybrid priority scheme to improve standard CAN (Controller Area Network) network protocol in order to improve the Quality of Control for Networked Control Systems
We consider the implementation of process control applications
on a standard CAN network and evaluate the Quality of Control; then we show the strong points of the proposed hybrid priority scheme by comparing the QoC provided by different priority schemes
Từ khóa - mạng CAN; giao thức điều khiển truy nhập đường
truyền; ưu tiên tĩnh; ưu tiên lai; hệ thống điều khiển qua mạng
Key words - CAN network, medium access control protocol, static priority, hybrid priority, networked control systems
1 Đặt vấn đề
Giao thức MAC (Medium Access Control) của mạng
CAN sử dụng trong NCS hiện nay chủ yếu dựa vào sách
lược ưu tiên tĩnh (static priority), tức là mỗi nút mạng có một
mức ưu tiên cố định (không đổi trong suốt quá trình hệ thống
làm việc) Việc sử dụng ưu tiên tĩnh có nhiều hạn chế do các
luồng dữ liệu trong NCS là đa dạng và có yêu cầu về ưu tiên
truy nhập đường truyền thay đổi theo thời gian
Để truy nhập đường truyền, CAN sử dụng phương
pháp CSMA/AMP (Carrier Sense Multiple Access with
Arbitration Message Priority)hoặc CSMA/CA (Carrier
Sense Multiple Access with Collission Arbitration) Đây
chính là điểm khác biệt lớn của mạng CAN so với các loại
bus trường khác, với phương pháp này mỗi thông điệp sẽ
được ấn định một mức độ ưu tiên dùng để phân xử truy
nhập mạng Định dạng khung truy nhập mạng của mạng
CAN được thể hiện trên Hình 1 [1]
Từ Hình 1 chúng ta thấy khung truy nhập mạng của
mạng CAN bao gồm 6 trường: khởi động khung truy nhập
SOF, trường phân xử, trường điều khiển, trường dữ liệu,
trường kiểm tra CRC, trường xác nhận ACK, trường kết
thúc khung truy nhập EOF CAN hỗ trợ hai định dạng cho
trường phân xử là trường phân xử với mã căn cước 11bit
và trường phân xử với mã căn cước 29 bit, tương ứng với
định dạng chuẩn (Standard format) và định dạng mở rộng
(Extended format)
Từ Hình 1, chúng ta cũng nhận thấy có 1 trường gọi là
mã căn cước (IDentifier) dùng để phân xử truy nhập
đường truyền và được gọi tắt là trường ID Các bit của
trường ID là 0 hoặc 1, bit 0 gọi là bit trội, bit 1 gọi là bit
lặn; bit trội sẽ dành quyền ưu tiên so với bit lặn Một nút
mạng muốn truyền dữ liệu thì sẽ phải đợi cho tới khi mạng rỗi và bắt đầu truyền ID của mình theo quy luật từng bit một
Nghiên cứu trong [2], [3] sử dụng tham số điều khiển
là sai lệch e, trường ID được sử dụng là trường ID mở
rộng (29 bits) và được chia làm hai lớp (16 bit cho lớp ưu tiên động và 10 bit cho lớp ưu tiên tĩnh), mã hóa trực tiếp giá trị sai lệch này thành giá trị trường ID của lớp ưu tiên động Việc mã hóa này có hạn chế là khi giá trị của sai lệch vượt quá giá trị có thể mã hóa của trường ID thì không thể mã hóa được Vì vậy, cần phải có các giới hạn
để có thể mã hóa được tất cả các sai lệch có thể có trong
hệ thống, hạn chế này các tác giả chưa đề cập đến trong bài báo Hạn chế thứ hai của các nghiên cứu này là sử dụng một bộ điều khiển trung tâm để phân xử truy nhập đường truyền thay vì sử dụng các bộ điều khiển phân tán
Từ những hạn chế trong các nghiên cứu đã nêu ở trên, bài báo này đề xuất nội dung nghiên cứu như sau: đề xuất
sử dụng với NCS phân tán (tức là không có bất kỳ một nút trạm chủ nào); đề xuất sử dụng sách lược ưu tiên lai với trường ID tiêu chuẩn 11 bits, trong đó 8 bits cho lớp ưu tiên động, 3 bits cho lớp ưu tiên tĩnh; phân tích, so sánh việc sử dụng ưu tiên lai thông qua tham số điều khiển cơ bản là tín
hiệu điều khiển u, giá trị của mức ưu tiên động, vì vậy cũng được tính toán thông qua hàm số của u
Phần còn lại của bài báo được bố cục như sau: Mục tiếp theo trình bày những đề xuất đối với sách lược ưu tiên lai; thực thi ứng dụng điều khiển quá trình qua mạng CAN được trình bày trong Mục 3; đánh giá kết quả được trình bày trong Mục 4; các kết luận cuối cùng được đưa ra trong Mục 5 của bài báo
Trang 2ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 11(96).2015, QUYỂN 2 17
Hình 1 Cấu trúc định dạng khung truy nhập của mạng CAN
2 Những đề xuất đối với sách lược ưu tiên lai
2.1 Ý tưởng
Ý tưởng về sách lược ưu tiên lai là nhằm khắc phục
những mặt hạn chế của sách lược ưu tiên tĩnh, tức là mức
ưu tiên của các nút mạng (hoặc luồng dữ liệu) có thể thay
đổi được tỷ lệ thuận với sự khẩn cấp truyền tin Sự khẩn
cấp truyền tin càng cao thì ưu tiên càng lớn và ngược lại
Vì vậy, ưu tiên lai được thể hiện thông qua việc chia
trường ID (n bit) thành hai lớp nhỏ như trên Hình 2 [4]
Hình 2 Cấu trúc của trường ID sử dụng sách lược ưu tiên lai
Trong đó, lớp 2 (gồm m bit có chỉ số cao nhất) thể
hiện tính khẩn cấp truyền tin của thông điệp, được gọi là
lớp ưu tiên động (ký hiệu là Prio_dyn) Giá trị của lớp 2
vì vậy có thể thay đổi được trong quá trình hệ thống làm
việc và các luồng dữ liệu có thể có cùng giá trị ưu tiên
động Lớp 1 (gồm (n-m) bit) là một ưu tiên cố định và duy
nhất, được xác định trước khi hệ thống làm việc, lớp ưu
tiên này được gọi là lớp ưu tiên tĩnh (ký hiệu là Prio_sta)
Tính duy nhất của lớp 1 đảm bảo không có hai hay nhiều
nút mạng có cùng giá trị trường ID Thuật ngữ “ưu tiên
lai” là sự kết hợp giữa ưu tiên động và ưu tiên tĩnh
Quá trình phân xử truy nhập đường truyền được thực
hiện trước tiên bằng việc so sánh lớp 2 (Prio_dyn) trước
Khi có nhiều thông điệp có cùng giá trị Prio_dyn, thì việc
so sánh giá trị lớp 1 (Prio_sta) sẽ xác định một luồng dữ
liệu duy nhất được phép truy nhập đường truyền
2.2 Tính toán lớp ưu tiên động
Tính toán lớp ưu tiên động được thực hiện bởi bộ điều
khiển thông qua hàm số như trên Hình 3 và hàm số trong
công thức(1)
max
max
( )
s s
s
u
u
f u
(1)
trong đó: u s là các giá trị bão hòa, có nghĩa là nếu giá trị
của u lớn hơn giá trị bão hòa thì mức ưu tiên động luôn
đạt giá trị lớn nhất (Prio_dyn max )
f(u) Prio_dyn max
Prio_dyn
Hình 3 Đồ thị thể hiện mối quan hệ giữa u và Prio_dyn 2.3 Mã hóa mức ưu tiên vào trường ID
Gọi giá trị của lớp 1 là ID_sta và giá trị của lớp 2 là ID_dyn Giá trị ID_sta được cài đặt trước khi hệ thống làm việc, còn giá trị ID_dyn được mã hóa lại từ mức ưu
tiên động sau mỗi chu kỳ
Lớp ưu tiên động gồm 8 bit cho phép biểu diễn 28 =
256 mức ưu tiên từ 0 đến 255 Mức ưu tiên động (kí hiệu
Prio_dyn) nhỏ nhất là Prio_dyn min = 0 ứng với trường
ID_dyn gồm 8 bit lặn (bit 1) Mức ưu tiên động lớn nhất
là Prio_dyn max = 255 ứng với trường ID_dyn gồm 8 bit
trội (bit 0) Phương trình mối quan hệ giữa giá trị (hệ thập
phân) của trường ID_dyn và mức ưu tiên động như trong
công thức (2):
ID dyn_ 256Prio dyn_ (2)
2.4 Thực thi sách lược ưu tiên lai
Sơ đồ thực thi sách lược ưu tiên lai qua mạng CAN được thể hiện như trên Hình 4
Quá trình thực thi sách lược ưu tiên lai như sau:
Tại thời điểm t k, bộ cảm biến lấy mẫu tín hiệu đầu
ra y k vànhận giá trị ưu tiên động gửi từ bộ điều khiển ở
chu kỳ trước đó (thời điểm t k-1), sau đó bộ cảm biến sử
dụng mức ưu tiên này (Prio_dyn k-1 ) để gửi thông điệp (chứa y k) đến bộ điều khiển
Bộ điều khiển sau khi nhận tín hiệu y k từ bộ cảm
biến, sẽ thực hiện tính toán tín hiệu điều khiển u kvà tính
toán mức ưu tiên động Prio_dyn k và gửi một thông điệp chứa những tín hiệu này lên mạng Sau đó cơ cấu chấp
hành sẽ nhận giá trị u k và áp dụng vào đối tượng điều
khiển, còn bộ cảm biến sẽ nhận Prio_dyn k để sử dụng
trong chu kỳ sau (thời điểm t k+1) Về mức ưu tiên động
mà bộ điều khiển sử dụng để gửi thông điệp, có 2 giải
pháp: một là, sử dụng giá trị Prio_dyn k vừa tính xong [2], [3]; hai là, luôn sử dụng mức ưu tiên động lớn nhất
Prio_dyn max [4]
Trang 3Hình 4 Sơ đồ thực thi sách lược ưu tiên lai
Trong bài báo này, đề xuất giải pháp mà bộ điều khiển
luôn có mức ưu tiên động lớn nhất
Chú ý: tại thời điểm lấy mẫu đầu tiên (t 0 = 0) bộ cảm
biến chưa có ưu tiên động để sử dụng, do đó trong bài báo
này đề xuất bộ cảm biến luôn có ưu tiên động lớn nhất tại
thời điểm lấy mẫu đầu tiên
3 Thực thi ứng dụng điều khiển quá trình qua mạng CAN
3.1 Sơ đồ cấu trúc
Sơ đồ cấu trúc của một hệ liên tục không có nối mạng
truyền thông được thực thi thông qua ứng dụng điều khiển
quá trình, mô hình của hệ thống được thể hiện ở trên Hình 5
Hình 5 Sơ đồ hệ thống điều khiển liên tục không có nối mạng
truyền thông Các tham số trên sơ đồ được giải thích như sau: R(s),
E(s), U(s), Y(s) là biến đổi Laplace của tín hiệu tham
chiếu ở đầu vào đơn vị r(t), sai lệch e(t), tín hiệu điều
khiển u(t), tín hiệu ở đầu ra y(t) Đối tượng điều khiển có
hàm truyền đạt như sau:
1000 ( )
(0, 5 1)
G s
Bộ điều khiển được sử dụng là bộ điều khiển PD có
hàm truyền đạt là: PDK(1sT d) Độ dự trữ pha của G(s)
là Pm0 = 2,60 tại tần số cắt c=44,7(rad/s) (tần số mà
( c) 1
G j [5]) Độ dự trữ pha này quá nhỏ (dự trữ pha
cần đạt trong khoảng 450 đến 600 [6]), do đó mục đích
ban đầu của bộ điều khiển PD là để bù pha, sao cho góc
pha là 600 tại tần số c Muốn vậy, bộ điều khiển phải bù
thêm một pha dương c = 600 – Pm0 Để thực hiện được
việc này, phải có:
( )
20 log( (1 )) 0
c d c
c d
Do đó, chúng ta tìm được Td = 0,035 (s), K = 0,5382
3.2 Xác định hàm truyền hệ thống điều khiển vòng kín
Tham chiếu đầu vào là một hàm bước nhảy đơn vị có
R(s) = 1/s, đầu ra là Y(s) Hàm truyền đạt của hệ thống
vòng kín là:
2
2000 (1 ) ( )
(2 2000 ) 2000
d d
F s
(4) 2
(1 ) ( )
2
n d
n n
T s
F s
trong đó, n là tần số riêng (rad/s), là hệ số tắt dần
Để tìm n và , ta tiến hành đồng nhất đa thức mẫu số trong công thức (4) và (5), khi đó tìm được
n = 32,8(rad/s), = 0,6
3.3 Chọn chu kỳ trích mẫu
Chu kỳ trích mẫu đối với các thiết kế điều khiển rời rạc không chỉ phù hợp với định lý Shanon, mà còn có thể được lựa chọn theo một trong các quy tắc được gọi là quy tắc thực nghiệm Một quy tắc thực nghiệm thường được
sử dụng là 0,1 nh 0,6[7] Với n = 32,8(rad/s), chu
kỳ trích mẫu h nằm trong khoảng 3,05ms h 18,29ms Trong bài báo này xem xét vớih = 10ms
3.4 Tính toán luật điều khiển
Để tính toán tín hiệu điều khiển u k, bộ điều khiển số vi
phân tỉ lệ (PD) sẽ được sử dụng Bộ điều khiển số PD bao gồm hai thành phần: thành phần tỉ lệ P k và thành phần vi phân
D k Luật điều khiển được tính toán theo công thức như sau:
k k
k k k
(6)
trong đó: e k = r k - y k ; N là tham số lọc, có giá trị không
đổi và lấy trong khoảng từ 25 đến 75 [7] Trongbài báo
này xem xét với N = 50
3.5 Điều kiện thực thi trên mạng CAN
Chúng tôi xem xét thực thi 4 ứng dụng điều khiển quá trình thông qua mạng CAN (Hình 6), được ký hiệu
Trang 4ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 11(96).2015, QUYỂN 2 19 lần lượt là P1, P2, P3, P4 Mỗi ứng dụng điều khiển quá
trình sẽ có 3 tác vụ nằm trong 3 máy tính khác nhau, đó
là: tác vụ điều khiển, tác vụ cảm biến và tác vụ chấp hành
Như vậy, chúng ta có 12 máy tính khác nhau của 4 ứng
dụng điều khiển quá trình được kết nối với nhau thông
qua mạng CAN, và chúng ta cũng có 8 luồng dữ liệu (4
luồng f sc và 4 luồng f ca) khác nhau lưu thông ở trên mạng
Chúng tôi xem xét các luồng dữ liệu f sc là đồng bộ và có
cùng chu kỳ trích mẫu h
Hình 6 Sơ đồ thiết lập mô phỏng với 4 ứng dụng
điều khiển quá trình
Tốc độ bit trong lớp vật lý của CAN chọn là 125
kbit/s
Chiều dài toàn bộ thông điệp được chọn 80 bit [8]
Xem xét với sách lược ưu tiên tĩnh (để làm tham
chiếu so sánh với sách lược ưu tiên lai): Một kết luận
quan trọng đã được đưa ra đó là để đảm bảo trễ truyền
thông là nhỏ nhất thì Prio_sta fca >Prio_sta fsc [9] Đối
với mỗi quá trình P i thì các ưu tiên của luồng dữ liệu
f cai và f sci sẽ là Prio_sta fcai >Prio_sta fsci Như vậy, đối
với 4 ứng dụng điều khiển quá trình, chúng ta phải có:
fca fca fca fca
fsc fsc fsc fsc
Thứ tự ưu tiên trong công thức (7) cũng được sử dụng
trong lớp ưu tiên tĩnh (lớp 1 trong Hình 2) của sách lược
ưu tiên lai
3.6 Tiêu chuẩn đánh giá chất lượng điều khiển
Trong nội dung nghiên cứu này sẽ sử dụng độ quá
điều chỉnh và đáp ứng thời gian ở đầu ray (t) để đánh giá
chất lượng điều khiển QoC (Quality of Control)
3.7 Tiêu chuẩn đánh giá chất lượng dịch vụ
Chất lượng dịch vụ QoS (Quality of Service) được
xem xét và đánh giá thông qua giá trị trung bình của trễ
truyền thông trong các chu kỳ Gọiilà trễ truyền thông
trong chu kỳ trích mẫuh i (tức là từ thời điểm t i tới thời
điểm t i+1 ) và n là số chu kỳ trích mẫu trong thời gian xác
lập Chúng ta có trễ thời gian trung bình trong toàn bộ chu
kỳ trích mẫu là:
1
1 n i i n
càng nhỏ thì QoS càng tốt và ngược lại
3.8 Công cụ để thực hiện mô phỏng
Phần mềm sử dụng để mô phỏng cho nội dung nghiên cứu có tên là TrueTime [8], một công cụ chạy trên nền Matlab/Simulink cho phép mô phỏng các hệ thống điều khiển phân tán thời gian thực
4 Đánh giá kết quả
4.1 Đánh giá về chất lượng dịch vụ (QoS)
Các kết quả đánh giá QoS đối với sách lược ưu tiên tĩnh và sách lược ưu tiên lai được trình bày trong Bảng 1 với các giá trị trễ truyền thông trung bình của 4 ứng dụng điều khiển quá trình
Bảng 1 Bảng số liệu đánh giá QoS( ms)
P1 P2 P3 P4 maxmin
Ưu tiên tĩnh 0,6 1,2 1,8 2,4 1,8
Ưu tiên lai 2,29 2,37 2,43 2,57 0,28 Nhận xét:
Đối với ưu tiên tĩnh, ứng dụng có ưu tiên tĩnh càng cao thì trễ càng nhỏ (P1 có ưu tiên cao nhất, nên có trễ nhỏ nhất và P4 có ưu tiên thấp nhất, nên có trễ lớn nhất) Điều này là hợp lý, bởi ưu tiên càng cao tương ứng với cơ hội truy nhập đường truyền càng nhanh Đối với sách lược ưu tiên lai, trễ truyền thông trung bình giữa các ứng dụng là cân bằng hơn so với ưu tiên tĩnh; điều này là hợp lý bởi tác động của lớp ưu tiên động trong sách lược ưu tiên lai Nếu chúng ta xét giá trị sai lệch giữa trễ trung bình lớn nhất (max) và nhỏ nhất (min), ta thấy giá trị sai lệch của ưu tiên lai là 0,28 ms thấp hơn nhiều so với giá trị này của ưu tiên tĩnh 1,8 ms Qua đó, chúng ta thấy được ưu điểm của
ưu tiên lai so với ưu tiên tĩnh
4.2 Đánh giá về chất lượng điều khiển (QoC)
QoC được xem xét và đánh giá đối với sách lược ưu tiên tĩnh và sách lược ưu tiên lai của 4 ứng dụng điều khiển quá trình thông qua độ quá điều chỉnh và đáp ứng
thời gian ở đầu ray (t), được trình bày trên Hình 7
Nhận xét:
QoC là hệ quả của QoS Do đó ở đây, chúng ta thấy các kết luận về QoC đối với các sách lược ưu tiên (tĩnh và lai) cũng tương tự như trong kết luận về QoS Cụ thể, đối với sách lược ưu tiên tĩnh, ưu tiên càng cao thì QoC càng tốt; còn đối với sách lược ưu tiên lai, QoC giữa các ứng dụng điều khiển là cân bằng hơn so với sách lược ưu tiên tĩnh Do đó, nếu chúng ta có một giới hạn QoC yêu cầu, sách lược ưu tiên lai cho phép cài đặt nhiều ứng dụng trên mạng hơn so với ưu tiên tĩnh.Ví dụ, yêu cầu độ quá điều chỉnh không vượt quá 42,2% Từ Hình 7 chúng ta thấy, sách lược ưu tiên tĩnh chỉ cho phép cài đặt 2 ứng dụng điều khiển quá trình, ngược lại sách lược ưu tiên lai cho phép cài đặt đến 4 ứng dụng điều khiển quá trình
5 Kết luận Trong bài báo này, chúng tôi đã đề xuất một sách lược
Trang 5Hình 7 Đồ thị đáp ứng thời gian đầu ray(t)
TÀI LIỆU THAM KHẢO
[1] Robert Bosch GmbH, “CAN specification version 2.0, Parts A and
B”, 1991
[2] Manel Velasco, Pau Martí, Rosa Castané, Josep Guardia and Josep
M Fuertes, “A CAN application profile for control optimization in
Networked Embedded Systems”, 32nd Annual Conference on
IEEE Industrial Electronics, Paris, pp 4638-4643
[3] Pau Martí, Antonio Camacho, Manel Velasco and Mohamed El
Mongi Ben Gaid, “Runtime allocation of optional control jobs to a
set of CAN-based Networked Control Systems”, IEEE
Transactions on Industrial Informatics, Vol 6, No 4, pp 503-520
[4] Guy Juanole and Gérard Mouney, “Networked Control Systems:
Definition and analysis of a hybrid priority scheme for the message
scheduling”, 13th IEEE conference on Embedded and Real-Time
Computing Systems and Applications, Korea, pp 267-274
[5] Benjamin C Kuo, Farid Golnaraghi, “Automatic Control Systems”,
8th Edition, John Wiley & Sons, INC, 2003, page 236-245
[6] John J D’Azzo, C H Houpis, “Linear Control System Analysis
and Design: Conventional and Modern”,4th Edition, McGraw-Hill, New York, 1995, page 301
[7] Karl J Åström and B Wittenmark, “Computercontrolled systems:
theory and design”3th Edition, Prentice Hall, 1997
[8] Martin Ohlin, Dan Henrikssonand Anton Cervin, “TrueTime
1.5-Reference Manual”, Lund Institute of Technology, Sweden, 2007
[9] Guy Juanole, Gerard Mouney, Christophe Calmettes, Marek Peca,
“Fundamental considerations for implementing control systems on
a CAN network”, 6th International Conference on Fielbus Systems and their Applications, Mexico, 2005, pp 280-285
(BBT nhận bài: 28/06/2015, phản biện xong: 28/07/2015)
0 200 400 600 800 1000
0.9
1
1.1
1.2
1.3
1.4
1.5
1.6
time (ms)
y(t)
0 200 400 600 800 1000 0.9
1 1.1 1.2 1.3 1.4 1.5 1.6
time (ms)
y(t)
P
2
P
3
P
4
P
1
P
1, P
2, P
3, P
4