Mô hình quản lý đăng ký theo dõi dữliệu

Một phần của tài liệu Nghiên cứu và xây dựng bộ công cụ phát triển phần mềm hỗ trợ giám sát và điều khiển sử dụng OPC UA (Trang 68 - 72)

Cơ chếđăng ký theo dõi dữ liệu của UA có thểtóm lược như sau: Client có thể tạo nhiều bản đăng ký theo dõi dữ liệu (Subscription), trong mỗi bản đăng ký có nhiều phần tử cần được theo dõi (Monitored Item). Khi dữ liệu thay đổi, các thay đổi này

được tập hợp vào trong bản tin của đăng ký để gửi cho Client. Mối quan hệ giữa phiên làm việc, đăng ký và các phần tửtrong đặc tảđược thể hiện như sau:

Hình 2.16. Tổng quan về quản lý đăng ký [1]

Trong bộ công cụ (SDK) thì mối quan hệtrên được cài đặt như mô tảdưới đây:

Hình 2.17. Mô hình quản lý đăng ký theo dõi dữ liệu

class Subscription Serv erBase SubscriptionManager SessionPublishQueue Subscription MonitoredItem NotificationMessage NotificationData

Sample value described by

NotificationData «flow» NotificationMessage «flow» NotificationMessage «flow»

58

 SubscriptionManager: Đối tượng quản lý chung tất cả thông tin liên quan đến

đăng ký.

 SessionPublishQueue: Ứng với phiên làm việc, có một đối tượng SessionPublishQueue chứa tất cảcác đăng ký, và lưu một hàng đợi các yêu cầu Publish từ client.

 Subscription: Đối tượng chứa thông tin đăng ký, và tự tổng hợp lại các thay đổi dữ liệu thành các bản tin thông báo (NotificationMessage).

 MonitoredItem: Phần tử cần theo dõi, định nghĩa nút, thuộc tính cần theo dõi cũng như các thông tin hỗ trợnhư thời gian lấy mẫu.

 NotificationMessage: Bản tin thông báo gồm nhiều trường, dùng để gửi lại cho client.

 NotificationData: Một trường trong bản tin thông báo, chứa dữ liệu đã thay đổi.

Các xử lý của Server để đáp ứng Client: Đầu tiên, tác giả trình bày hai dịch vụ

tạo bản đăng ký và tạo phần tử chứa thông tin dữ liệu cần theo dõi, đây là hai dịch vụ đơn giản, chỉ là tiếp nhận thông tin từ Client. Tiếp đó sẽđến những xử lý phức tạp hơn như lấy mẫu dữ liệu, định kỳ thu thập thành bản tin và xử lý các yêu cầu gửi bản tin từ

Client.

- Dịch vụ tạo bản đăng ký (CreateSubscription Service)

Các tham số truyền vào cho trong bảng:

Bảng 2.4. Các tham số của dịch vụ tạo phần tử theo dõi

Tên Giải thích

SubscriptionId Id của bản đăng ký mà phần tử thuộc về.

RequestedLifetimeCount Mỗi khi thời gian đi qua một khoảng bằng thời gian đăng

ký, nếu đăng ký có bản tin mà không có yêu cầu gửi bản tin

từ client thì một biến đếm được tăng lên. Sau khi biến đếm

đạt đến giá trị chỉ ra ở đây thì đăng ký sẽ bị đóng.

RequestedMaxKeepAliveCo unt

Mỗi khi thời gian đi qua một khoảng bằng thời gian đăng

ký, nếu đăng ký không có thông báo để gửi cho client thì

một biến đếm được tăng lên. Sau khi biến đếm đạt đến giá

trị chỉ ra ở đây thì đăng ký sẽ gửi một bản tin trống

(KeepAlive Message).

MaxNotificationPerPublish Số lượng tối đa các trường chứa trong một bản tin trả lại

thông báo.

PublishingEnabled Biến chỉ ra đăng ký có hoạt động hay không.

Piority Độ ưu tiên của đăng ký. Khi có yêu cầu gửi bản tin từ

client, đăng ký có độ ưu tiên cao hơn thì sẽ gửi bản tin đi

59 Quy trình cần thực hiện để tạo ra một đăng ký: Hình 2.18. Biểu đồ hoạt động của dịch vụ CreateSubscription act CreateSubscription Check if subscription count is at limit Return Error Generate new subscription id

Rev ise client parameters

Check if there are SessionPublishQueue

for this session

Create SessionPublishQueue

Create new subscription and add to

SessionPublishQueue Return result yes no no yes

60

- Dịch vụ tạo phần tử theo dõi dữ liệu (CreateMonitoredItem)

Các tham số truyền vào cho trong bảng:

Bảng 2.5. Các tham số dịch vụ tạo phần tử theo dõi

Tên Giải thích

SubscriptionId Mã của bản đăng ký

TimeStampsToReturn Định nghĩa những biến thời gian lấy mẫu dữ liệu mà server cần gửi lại, có thể là thời gian theo server, theo

nguồn, hoặc cả hai

ItemToCreate Danh sách thông tin các phần tử cần tạo

ItemToMonitor Thông tin về phần tử cần theo dõi

MonitoringMode Chế độ theo dõi: Tắt, chỉ lấy mẫu, lấy mẫu và tạo thông

báo

RequestedParameter Các biến bổ sung, như thời gian lấy mẫu, bộ lọc, kích thước hàng đợi…

Quy trình cần thực hiện để tạo ra một phần tử theo dõi:

Hình 2.19. Sơ đồ hoạt động dịch vụ thêm phần tử theo dõi

act CreateMonitoredItem

Check if subscription id is inv alid

Return Error

Create new monitored item Rev ise parameters

Return result

61

Một phần của tài liệu Nghiên cứu và xây dựng bộ công cụ phát triển phần mềm hỗ trợ giám sát và điều khiển sử dụng OPC UA (Trang 68 - 72)

Tải bản đầy đủ (PDF)

(152 trang)