OPCファンデーションからの公式OPC UA .NET標準スタック
概要
このOPC UA参照実装は、.NET標準仕様をターゲットにしています。
.NET Standardでは、プラットフォーム固有の変更を必要とせずに、Linux、iOS、Android(Xamarinを介して)やWindows 7/8/8.1/10/11(埋め込み/IoTエディションを含む)を含む、今日利用可能なすべての一般的なプラットフォームで実行されるアプリを開発できます。 。
このプロジェクト内の参照実装の1つは、OPC Foundation認定テストラボを通じてコンプライアンスが認定されており、高品質を証明しています。最新のコンプライアンステストツール(CTT)を使用して、認証プロセスがテストおよび検証されているため、コンプライアンスが検証されているため、修正と拡張が行われます。
さらに、クラウドアプリケーションとサービス(ASP.NET、DNX、Azure Webサイト、Azure WebJobs、Azure Nano Server、Azure Service Fabricなど)もサポートされています。
公式のNUGETパッケージに基づいたより多くのサンプルは、OPC UA .NET標準サンプルリポジトリにあります。開発のために、プレビューNugetフィードも利用できます。ローカルテスト用リファレンスサーバーのDockerコンテナをプレビューおよびリリースビルドに使用できます。
詳細およびライセンス条件については、こちらをご覧ください。
含まれる機能
コアとライブラリ
- 完全に移植されたコアOPC UAスタックとライブラリ(クライアント、サーバー、構成、複雑なタイプ、GDSアセンブリ)。
- 参照サンプルサーバーとクライアント。
- X.509クライアントおよびサーバー認証の証明書サポート。
- セキュリティプロファイルBASIC256SHA256、AES128SHA256RSAOAEP、AES256SHA256RSAPSを高いセキュリティニーズのあるAES256SHA256RSAPSを含むSHA-2サポート(SHA512まで)。
- 匿名、ユーザー名、X.509証明書ユーザー認証。
- UA-TCP&HTTPS Transports(クライアントとサーバー)。
- UA-TCPトランスポート(クライアントとサーバー)のリバース接続。
- Global Discovery ServerとServer Pushサポートを備えたFolder&OS-Level(x509store)証明書ストア。
- セッションとサブスクリプション。
- サンプル付きのPubSubライブラリ。
OPC UA 1.05の主要な機能と更新
- セキュリティの強化:暗号化と認証メカニズムの改善。
- CRLサポート:Windows上のX509storeの証明書の取り消しリストサポートを追加しました。
- パフォーマンスの改善:バイナリエンコードとデコードの高速化、メモリの使用量とレイテンシの削減。
- 役割ベースの管理:よく知られているロールとロールベースのユーザーマネージのサポートwellondolesroles&lelosebased-sermanagement。
- 改善されたロギング:
ILogger
とEventSource
によるロギングの強化。
1.04から1.05にアップグレードするときに、変更とヘッドアップを破る
- 1.05(ECCサポートなど)を完全に遵守するためのいくつかの機能がまだ欠落していますが、1.05リリースではV1.04の認定がまだ可能です。
- スレッドの安全性とロック:安全なチャネル操作のスレッドの安全性の向上とロックの減少。
- 監査と編集:機密情報の監査と編集のための新しいインターフェイス。
1.05.374.70の新品
- Windows上のX509storeのCRLサポート
1.05.373の新機能
- 1.05ノードセット
- よく知られているロールとロールベースのユーザー管理のサポート。
1.04.368の新品
ILogger
とEventSource
によるロギングのサポートの改善。- リファクタリングされた
ICertificateStore
およびCertificateStoreType
インターフェイスを備えたカスタム証明書ストアのサポート。 - トランスファーサブスクリプトのクライアントおよびサーバーサポート。
- 参照サーバーでコンテナサポートを使用する方法。
サンプルとナゲットパッケージ
- .NETコア用のOPC UAコンソールリファレンスサーバー。最新のビルドのLinuxコンテナはこちらから入手できます。コンテナサポートも参照してください。
- OPC UAリファレンスサーバーは、OPC Foundation認定テストラボを通じてコンプライアンスの認定を受けています。修正と強化認証プロセスがテストされ、コンプライアンステストツール(CTT)を使用したコンプライアンスについて検証されています。すべてのリリースは、メンテナーによる最新の公式コンプライアンステストツールのコンプライアンスのために検証されています。
- OPC UA Console Reference PublisherおよびConsole Reference Subscriberの.NETコアおよび.NETフレームワーク。
- コア、クライアント、サーバー、および構成ライブラリの公式OPC UA NUGETパッケージは、.NETプロジェクトに統合できます。注:パッケージは、クライアントまたはサーバーのみが必要なプロジェクトの依存関係を減らすために、コア、クライアント、サーバーパッケージに分割されています。 HTTPSバインディングは、独立したオプションパッケージになりました。
- Azure DevOpsからプレビューNugetフィードを利用できます。
プロジェクト情報
一般的なプロジェクト情報
ステータスを構築します
コード品質
はじめる
.NET標準に必要なすべてのツールには、.NETコアツールが付属しています。必要なものについては、.NET Coreの開始を参照してください。
WindowsのVisualStudioで参照サンプルを構築および実行する方法
注:.NETコア2.1は寿命の終わりであるため、
- VS 2017は.NET 4.8のサポートは限られています。
- VS 2019は.NET 4.8のサポートは限られています。
- VS 2022は、.NET 6.0(LTS)および.NET 8.0(LTS)を含む現在のサポートバージョンです。
- Visual Studioを使用してUA Reference.SLNソリューションファイルを開きます。
- ソリューションエクスプローラーでプロジェクトを選択し、
Startup Project
として右クリックで設定します。 -
F5
を押してサンプルを構築および実行します。
Windows、Linux、およびiOSでコンソールサンプルを構築および実行する方法
このセクションでは、 ConsolReerferenceServerサンプルアプリケーションの実行方法について説明します。
この記事の指示に従って、プラットフォームのdotnetコマンドライン環境をセットアップしてください。今日の時点で、Visual Studio 2019には.NET Core SDK 3.1が必要であり、Visual Studio 2022には.NET SDK 6.0が必要です。
前提条件
dotnet
コマンドが利用可能になったら、リポジトリのローカルコピーのルートフォルダーに移動し、 dotnet restore 'UA Reference.sln'
を実行します。このコマンドは、依存関係の木を復元するためにNugetを呼び出します。
サーバーを起動します
- コマンドプロンプトを開きます。
- フォルダーアプリケーション/ConsolReerferenceServerに移動します。
- サーバーのサンプルタイプを実行するには
dotnet run --project ConsoleReferenceServer.csproj -a
実行します。
備考
サンプルアプリケーションの自己署名証明書
OPC UAに必要なすべてのアプリケーション証明書は、ディレクトリまたはOSレベルの証明書ストアの各アプリケーションの最初の開始時に作成され、ストアから削除されるまで使用され続けます。証明書とストアの詳細については、証明書をお読みください
ローカルディスカバリーサーバー
デフォルトでは、すべてのサンプルアプリケーションは、ローカルディスカバリーサーバー(LDS)に登録するように構成されています。 Windows用のLDSの参照実装は、こちらからダウンロードできます。 LDSで信頼をセットアップするには、証明書を交換する必要があります。または登録が失敗します。
貢献
このプロジェクトへのコミュニティへの参加と貢献を強くお勧めします。まず、リポジトリをフォークして、そこで変更をコミットしてください。変更に満足したら、「プルリクエスト」を生成できます。
変更を受け入れる前に、貢献者ライセンス契約に同意する必要があります。 CLAと「同意する」ボタンは、プルリクエストを実行すると自動的に表示されます。ここでCLAをプレビューできます。