Charles ZK Chen
Hệ thống SCADA ngày nay giao tiếp trực tiếp với OPC server, OPC Server kết nối với các PLC, RTU, và/hoặc với các bộ điểu khiển I/O Moxa ioLogik để đọc các cảm biến và điều khiển các tín hiệu phản hồi giữa OPC server và thiết bị. Trong khi OPC DA server truyền thống sử dụng phương pháp“polling”, nó có thể chiếm dụng phần lớn băng thông mạng, phiên bản mới hơn-OPC UA server sử dụng phương pháp “report by exception” để giảm số lượng thông tin mà OPC server cần gửi cho phần mềm SCADA. Sự kết hợp giữa OPC UA với công nghệ Active OPC server không chỉ cung cấp cho người sử dụng giải pháp truyền thông liên tục mà còn tiết kiệm một lượng băng thông một cách ấn tượng.
Trong bài viết này, chúng ta tìm hiểu sự khác nhau giữa “updating data by polling” và “updating data by exception” đưa ra một số quy tắc chung mà bạn có thể sử dụng để quyết định phương án phù hợp cho các thiết bị I/O khác nhau, và giới thiệu về giải pháp Moxa mớiMX-AOPC UA server.
Giới thiệu
Trong hơn nửa thế kỷ, các hệ thống SCADA đã cho phép người vận hành tại phòng điều khiển trung tâm có khả năng giám sát và điều khiển nhiều thiết bị trải dài trên một khu vực địa lý rộng lớn. Cấu trúc của một hệ thống SCADA hiện đại, như mô tả ở hình 1, phần mềm SCADA ở phía trên, sẽ giám sát các thiết bị ở phía dưới, và OPC server nằm ở giữa. Các PLC, RTU, và/hoặc các bộ điều khiển I/O Moxa được sử dụng để đọc dữ liệu từ các cảm biến và điều khiển tín hiệu phản hồi giữa OPC server và thiết bị. Các bộ PLC/RTU/ioLogik cung cấp khả năng tự động nhất định cho các khu vực xa, và đủ thông minh để thực hiện các phương án điều khiển tại chỗ mà không phục thuộc vào phần mềm SCADA.
Phần mềm SCADA và các OPC server thường dựa trên mô hình client-server polling. Trong đó, phần mềm SCADA cập nhật liên tục tín hiệu từ OPC server, và OPC server liên tục cập nhật tín hiệu từ PLC/RTU/ioLogik để đọc các thông số hiện tại của cảm biến, và sau đó người vận hành hệ thống SCADA đưa ra các mệnh lệnh để phản hồi lại với bất kỳ thông tin nào thông qua giao diện người dùng (UI-User Interface) của phần mềm SCADA.
Mặc dù một thông số có thể được cập nhật liên tục với tần số nhiều hơn hoặc ít hơn các thông số khác, các cảm biến theo dõi các thông số quan trọng (ví dụ, trạng thái đóng hoặc mở của một cánh cửa bị khóa) có thể cần phải được cập nhật tín hiệu thường xuyênvới tần số khoảng một lần mỗi giây để cung cấp cho người vận hành có đủ thời gian để đưa ra những hành động cần thiết (ví dụ: cảnh báo cho nhân viên an ninh), và bảo đảm rằng hệ thống SCADA thông báo chính xác. Ví dụ, nếu trạng thái cửa được cập nhật liên tục mỗi 5s, nhưng cửa mở ra và đóng lại trong khoảng thời gian 4s, hệ thống SCADA sẽ không biết rằng cửa đã được mở. Nếu bạn chỉ cần giám sát trạng thái của một cánh cửa thì cập nhật thường xuyên không phải là vấn đề. Tuy nhiên, việc hệ thống SCADA giám sát tình trạng của hàng trăm cánh cửa, việc cập nhật của nhiều cảm biến có thể chiếm một lượng lớn băng thông của mạng, và kết quả là làm chậm các ứng dụng khác được kết nối với cùng trong một mạng .
Khoảng 10 năm trước, Moxa đã giới thiệu bằng sáng chế mới liên quan tới khái niệm “OPC chủ động-Active OPC”, nó được áp dụng với các sản phẩm ioLogik của Moxa. Một cách đơn giản, Active OPC cung cấp cho các thiết bị I/O tính năng thông minh cần có để chúng cần khởi tạo một kết nối với OPC server. Nói một cách khác, từ khi các thiết bị I/O được kết nối với ioLogik thông qua các kết nối serial tại chỗ, ioLogik có thể cập nhật tín hiệutừ các thiết bị phía dưới với tần số phù hợp mà không gây ra bất kỳ sự quá tải nào mạng Ethernet, và chỉ gửi tín hiệu đọc được đến OPC server (qua mạng Enternet) khi đáp ứng một số các điều kiện đã được chỉnh định trước. Như được minh họa trong hình 1, hoạt động của mô hình polling client -server truyền thống đôi khi được mô tả như là một “cơ cấu kéo-pull”(OPC server “kéo-pull” các thông số I/O từ các thiết bị khác nhau), trong khi hoạt động của ioLogik Active OPC được mô tả như là một “cơ cấu đẩy-push” (ioLogik “đẩy-push” các thông số của các I/O từ các thiết bị khác nhau đến OPC server)
Trong sự phát triển gần đây, trong năm 2008, Tổ chức OPC đã tiêu chuẩn hóaphương pháp “report by exception” trong OPC Unified Architecture (viết tắt OPC UA). OPC UA sử dụng một mô hình “subscription and monitored item” để điều khiển truyền thông giữa phần mềm SCADA và OPC server. OPC UA là hoàn toàn mới, trong đó nó cho phép người vận hành làm việc thẳng từ hệ thống SCADA của họ để cấu hình trực tiếp OPC servertương tác với các thiết bị I/O khác. Trong thực tế, kể từ khi báo cáo bằng cách loại trừ thông số “cơ cấu đẩy-pushes” từ OPC UA server đến phần mềm SCADA, sử dụng OPC UA kết hợp với Active OPC cung cấp thông tin thông suốt bằng cách thực hiện điều mà chúng ta có thể gọi là một chiến lược “push-push”, điều đó giúp tăng khả năng tiết kiệm băng thông mạng.
Trong bài viết này, chúng ta có thể giải thích khác nhau giữa “updating data by polling” và “updating data by exception” đưa ra một số quy tắc chung của con trỏ mà bạn có thể tuân theo để quyết định phương pháp phù hợp cho các thiết bị I/O khác nhau, và giới thiệu giải pháp Moxa mới MX AOPC UA server.
Cập nhật dữ liệu bằng Polling hoặc Exception
Từ nhiều năm nay “cập nhật dữ liệu bằng polling” đã đạt tiêu chuẩn công nghiệp choviệc truyền thông giữa các OPC server và OPC client (tức là, phần mềm SCADA). Bây giờ, tuy nhiên, các kỹ sư có thể quyết định giữa việc cập nhật dữ liệu bằng cách polling và cập nhật dữ liệu bằng exception.
Nói chung, việc lựa chọn phụ thuộc vào hai yếu tố: (1) tần số khi mà cảm biến đọc sự thay đổi, và (2) sự “khẩn thiết” điều mà bạn cần phải biết khi thông số đã thay đổi. Thông số cảm biến thay đổi thường xuyên cần phải được lấy mẫu thường xuyên để có sự làm việc chính xác khi cảm biến thay đổi theo thời gian. Đối với thông số đo của cảm biến không thay đổi thường xuyên, bạn có thể sẽ lãng phí khá nhiều băng thông mạng nếu bạn lấy mẫu quá thường xuyên. Nhưng, nếu bạn lấy mẫu quá ít, hệ thống có thể mất dữ liệu quan trọng (chẳng hạn như một cánh cửa đã được mở và sau đó đóng). Hãy xem xét chi tiết hơn ở cách cập nhật các tác động tới OPC UA server.
Cập nhật dữ liệu bằng cách polling
Tất cả OPC UA server vẫn hỗ trợ cập nhật dữ liệu bằng polling, với các cấu hình thủ tục và phương thức hoạt động đồng nhất với OPC DA server truyền thống.
Cập nhật dữ liệu bằng cách loại trừ
Khi được cấu hình cho báo cáo bằng cách “exception”, OPC UA server sử dụng phương pháp “subscription and monitored item” trong đó một SCADA client yêu cầu một sốthông tin được giám sát.
Một OPC UA server lấy mẫu điểm dữ liệu một cách thường xuyên “khoảng lấy mẫu-sampling intervals” nơi thông số thông tin lần lượt được đọc, và sau đó đưa ra thông số thường xuyên "khoảng truy xuất- publishing intervals. “Một mặt quan trọng của hoạt động là nếu thông số lấy mẫu không thay đổi so với mẫu trước đó, thông số không được đặt trong hàng đợi được đọc. Điều này có nghĩa là thông số sẽ không thay đổi và không được gửi đi, đó là bản chất của khái niệm “report by exception” (Hình 2).
Lưu ý, OPC UA cũng hỗ trợ việc gửi tín hiệu xung nhịp trong suốt chu kì dài không hoạt động để mỗi bên có sự kết nối sẽ biết rằng phía bên kia vẫn còn tồn tại, và do đó sẽ không đóng kết nối.
Hình 2: Báo cáo exception bằng phương pháp truy vấn và giám sát tin tức
Hai thiết lập cần được cấu hình trên OPC client để cho phép cập nhật bằng exception: khoảng thời gian lấy mẫu và khoảng thời gian truy xuất (Hình 3). Khoảng thời gian lấy mẫu xác định tốc độ mà server kiểm tra sự thay đổi thông số trong việc giám sát thiết bị, và khoảng thời gian truy xuất xác định tốc độ mà server gửi thông báo tới client. Khoảng thời gian lấy mẫu có thể ngắn hơn khoảng truy xuất, trong trường hợp này thông báo được nối đuôi đợi trong server cho tới khi khoảng truy xuất trước đã trôi qua. Tại thời điểm đó, server sẽ gửi tất cả các thông báo nối đuôi nhau cho client.
Với “cập nhật bằng exception” từ thông số I/O không được truyền khi tình trạng giám sát của hệ thống không thay đổi, người vận hành có thể giảm số lượng lớn băng thông mạng theo yêu cầu. Điều này đặc biệt đúng khi tần số của giá trị thay đổi là ít hơn nhiều so với khoảng thời gian polling, và đúng khi giám sát trạng thái đóng mở của cánh cửa. Báo cáo bằng exception giúp tiết kiệm tài nguyên trên cả server và client làm giảm thời gian trễ và thử lại.
Nếu tần số của giá trị thay đổi cao hơn so với khoảng thời gian polling và có tínhkhẩn cấp, cập nhật dữ liệu bằng exception vẫn là cách tốt hơn để đi. Tuy nhiên, báo cáo bằng exception có thể là do rất nhiều dữ liệu được truyền đi trong một thời gian rất ngắn, điều đó có thể gây ra tắc nghẽn mạng. Các nghẽn có thể được giảm bớt phần nào bằng cách thiết lập “dead band” thích hợp cho dữ liệu tương tự, hoặc bằng cách cắt giảm một số lượng lớn dữ liệu với thuật toán xử lý số thích hợp trước khi dữ liệu được gửi ra ngoài. Mặt khác, nếu tần số của giá trị thay đổi này cao hơn so với khoảng thời gian polling và không quá quan trọng (chẳng hạn như khi theo dõi nhiệt độ của chất lỏng), cập nhật bằng cách polling có thể thích hợp hơn.
Hầu hết các OPC UA server sử dụng một kiểu giao thức poll (truy vấn) như Modbus,và sẽ nhận dữ liệu từ thiết bị I/O cần thiết. Tuy nhiên, hàng trăm hoặc hàng ngàn tag (thẻ) được polling (truy vấn) là không hiệu quả. Nếu cả hai lựa chọn polling và exception có sẵn, bạn có thể quyết định các phương pháp tốt nhất bằng cách phân loại tag (thẻ) thiết bị vào một trong bốn loại (hình 4), và khi đó có thể làm tăng hiệu quả hoạt động của hệ thống bằng cách sử dụng phương pháp kiểu polling với tần số cao với thẻ không khẩn cấp để cập nhật dữ liệu với hệ thống SCADA.
Cấu hình dễ hiểu với Tag Names (tên tag)
Hầu hết các OPC server yêu cầu tên thẻ bắt đầu theo kiểu truyền thông, chẳng hạn như Ethernet hoặc serial, tiếp theo là tên thiết bị, tiếp theo là tên điểm I/O. Ví dụ, tên tag cho tình trạng on/off của máy bơm có thể là Ethernet.Device.Pump_Status. Tuy nhiên, khi xác định vị trí của cảm biến (sensor), tên tag (thẻ) được kết hợp không chỉ là tag, vì một hệ thống SCADA đơn lẻ có thể bao gồm hàng ngàn tag, nó rất khó hoặc không thể xác định thiết bị nào được nhắc đến chỉ bằng cách nhìn vào tên tag. Vì lý do này, các tag thường được kết hợp với mô tả chi tiết hơn, với những cái tên tag và các mô tả được tổ chức trong một bảng tính Excel.
Một cách giải quyết xung quanh vấn đề này là bao gồm vị trí của thiết bị vào tên tagbằng cách thêm nó vào tên thiết bị. Ví dụ minh họa, giả sử hệ thống SCADA sử dụng cùng mô hình thiết bị I/O theo dõi hai máy bơm khác nhau có tên PumpA và PumpB. Nếu hai máy bơm được giám sát bởi thiết bị I/O khác nhau của cùng một mô hình, bạn có thể viết tên tag như Ethernet.Device_SiteA.Pump_Status và Ethernet.Device_SiteB.Pump_Status để phân biệt giữa hai bên.
Nhưng tại sao tag tên bắt đầu với kênh truyền thông? Nếu tên tag được dựa trên cấu trúc ứng dụng thực tế, nó sẽ dễ dàng hơn cho người sử dụng để xây dựng các tên tag. Sự khác biệt trong chiến lược đặt tên tag được minh họa trong Hình 5. Sơ đồ bên trái là ít trực quan, và có thể nhận thấy khá lộn xộn vì nếu Site A cũng sử dụng các thiết bị serial, sau đó“Site A” cũng sẽ xuất hiện dưới nhánh nối tiếp. Sơ đồ bên phải hiển thị cùng một hệ thống tổ chức bởi cấu trúc ứng dụng. Trong trường hợp này, tất cả các thiết bị tại Site A sẽ xuất hiện dưới nhãn Site A, tên tag có thể được viết là SiteA.Device.Pump_Status vàSiteB.Device.Pump_Status. Những tên tag có thể đọc được nhiều hơn, và làm cho nó dễ dàng hơn khi thực hiện cấu hình hệ thống SCADA.
OPC UA làm dễ dàng hơn kết nối giữa các Server và các Client
“Cấu hình OPC để server và client làm việc trên các máy tính khác nhau là vấn đề phức tạp với cấu trúc thống nhất OPC đã có sẵn. Ví dụ, người dùng phải đăng nhập với cùng tài khoản và mật khẩu trên cả hai máy tính server và client, cái đó có thể cực kì bất tiện từ thực tế. Ngoài ra, người sử dụng cần theo chi tiết các bước hướng dẫn để cấu hìnhbảo mật DCOM.
Ngược lại, OPC UA sử dụng một giao thức nhị phân UA dựa trên TCP được tối ưucho việc trao đổi dữ liệu, trong đó truyền thông có thể được kích hoạt bằng cách mở một cổng trong cấu hình tường lửa, như minh họa trong hình 6. Người dùng có thể tạo ra nhiều URL TCP cho thiết bị đầu cuối OPC server, với mỗi điểm cuối kết nối với một cổng duy nhất. OPC UA clients chỉ cần các URL của server đầu cuối để kết nối đến OPC UA server.
Cơ chế bảo mật tích hợp như chứng nhận X509 đảm bảo thông tin an toàn trên Internet. Người dùng có thể định nghĩa chính sách bảo mật như “Sign and Encrypt” giữaOPC UA client và server (Hình 7).
Người dùng chỉ cần nhập thư mục “Certificate Authority” từ OPC UA client và xuất ra tập tin từ server “Certificate Authority” cho OPC UA clients để thiết lập quyền hạn giữa các server và client (Hình 8).
Sau đó, chức năng “Discover Servers” (Tìm kiếm các OPC server) được sử dụng với OPC UA client để tìm ra OPC UA servers truy cập qua mạng (Hình 9).
Giải pháp của máy chủ Moxa MX-AOPC UA
MX-AOPC UA Server mở rộng về công nghệ sáng chế “Active OPC” giám sát của Moxa, hỗ trợ chặt chẽ cho giao thức Modbus, cung cấp bảo mật và gateway tin cậy giữa các thiết bị trường và hệ thống SCADA từ xa. Moxa đi tiên phong “push type” quá trình I/O (hoạt động ngược với “pull type” hoặc đơn giản là "polling") trong các ngành công nghiệp tự động hóa với việc đưa ra Active OPC Server (OPC server chủ động). Các máy chủ MX-AOPC UA cung cấp cấu trúc polling và non-polling cùng với các giao thức chuẩn OPC UA, cho phép người dùng lựa chọn pull hoặc pushbased truyền thông với các thiết bị Moxa (Hình 11).
Logic thiết kế của MX-AOPC UA Server là ứng dụng định hướng cho người dùng. Như có thể thấy trong hình 12, người dùng có thể tạo các nhóm thiết bị “SiteA” và “SiteB” dựa trên ứng dụng được yêu cầu. Trong ví dụ ở đây, mỗi site (khu vực) có cùng loại thiết bị ioLogik E1210 để giám sát tình trạng các máy bơm.
Các tag (tên thẻ) (hình 13) đã trở nên rõ ràng và dễ đọc hơn khi nói đến thời gian để cấu hình hệ thống SCADA của bạn.
Bảng lựa chọn sản phẩm thu thập dữ liệu của Moxa
Moxa cung cấp một chuỗi các giải pháp thu thập dữ liệu công nghiệp đáng tin cậy, bao gồm cả phần mềm dễ tương tác, để sử dụng công nghiệp nói chung. Nhấn vào đây để biết chi tiết, và để xem giải pháp thu thập dữ liệu của Moxa có lợi cho doanh nghiệp của bạn như thế nào.
0 comments:
Post a Comment