ランタイムアプリケーションを使用したプログラムの展開

イントロダクション

Aurora Vision Executor は、Aurora Vision Studio で作成されたプログラムを実行できる軽量のアプリケーションです。 このアプリケーションに表示される GUI コントロールは、HMIデザイナー で作成されたものです。 エンド ユーザーはコントロールを操作してパラメータを調整し、結果を確認できますが、プロジェクトを変更することはできません。

Aurora Vision Executor アプリケーションは、Aurora Vision Studio Runtime パッケージとともにインストールされます。 完全な開発ライセンスがなくてもコンピュータで使用できます。 必要なのはランタイム ライセンスのみです。 さらに、Aurora Vision Executor で実行されるプログラムは、Aurora Vision Studio のグラフィカル環境の高度なプログラム制御および視覚化機能のオーバーヘッドがないため、通常、大幅に高速に実行されます。

Aurora Vision Executorの画面

使用法

ファイルからプロジェクトを開き、標準ボタンを使用してプログラムの実行を制御します。 ファイルは、Windows エクスプローラーのコンテキスト メニュー コマンド 実行 を使用して開始することもできます。これは、Aurora Vision Studio ランタイムがあり、Aurora Vision Studio がインストールされていないコンピューターのデフォルトです。

Aurora Vision Executor は、まったく同じバージョンの Aurora Vision Studio で作成されたプロジェクトのみを実行できることに注意してください。 この制限は意図的に導入されています。 Studio のバージョン間の小さな変更は、プログラムの互換性に影響を与える可能性があります。 アップグレード後は、まず Aurora Vision Studio でアプリケーションをロードして再保存する必要があります。その後、Executor では利用できない下位互換性チェックと調整が実行されます。

コンソールモード

Aurora Vision Executor をコンソール モードで実行することができます。 これを行うには、--console 引数を渡す必要があります。 このモードでは、アプリケーションが起動時にどのプログラムを実行するかを認識できるように、--program 引数が必要になることに注意してください。

Aurora Vision Executor は、ログが保存されている名前付きパイプを開くことができます。 に書き込まれることになります。 これは、開くパイプ名を受け入れる --log-pipe 引数を使用することで可能になります。 その後、パイプに接続して、Aurora Vision Executor ログをライブで処理できます。
これは簡単に実行できます。

C# の場合:


	var logPipe = new NamedPipeClientStream(".", "myProjectPipe", PipeDirection.In);
	logPipe.Connect();

	byte[] buffer = new byte[1024];
	int count = 0;
	while (logPipe.IsConnected && (count = logPipe.Read(buffer, 0, 1024)) > 0)
	{
		Console.WriteLine(Encoding.UTF8.GetString(buffer, 0, count));
	}

利用可能な Aurora Vision Executor 引数は次のとおりです。

--program
ロードするプログラムへのパス
--log-level
ログに記録される情報レベルを設定します
--console
コンソール モードでアプリケーションを実行します
--auto-close
プログラムが終了すると、アプリケーションを自動的に閉じます。 コンソール モードでのみ意味があります。
--language
ユーザー インターフェイス言語として使用する言語コードを指定します。
--attach
アプリケーション プロセスを呼び出し元のプロセス コンソールに接続します。
--log-pipe
アプリケーションの存続期間中にログ エントリが設定される名前付きパイプを作成します。 コンソール モードでのみ意味があります。
--help
ヘルプを表示します

ランタイム実行可能ファイル

Aurora Vision Executor は、Aurora Vision Studio と同じように .avproj ファイルを開くことができますが、ここでは .avexe ファイルを使用することをお勧めします。 まず、ランタイム環境用の単一のバイナリ実行可能ファイルを使用できます。
次に、このファイルは暗号化されているため、誰もプロジェクトの詳細を見ることができません。 作成するには、Aurora Vision Studio でプロジェクトを開き、ファイル »ランタイム実行可能ファイルにエクスポート... を使用します。これにより、Windows エクスプローラーから直接実行できる .avexe ファイルが生成されます。

Aurora Vision プロジェクトにユーザー フィルター ライブラリが含まれている場合、Aurora Vision Executor で実行するときに *.dll ファイルを適切なディレクトリに配置することが重要です。
この場合、.avexe ファイルにエクスポートすることも便利なオプションです。 .avexe コンテンツを定義する際、エクスポートされたプロジェクトが依存するすべてのユーザー フィルター ライブラリを選択できます。 選択したライブラリは、生成された .avexe ファイルと同じディレクトリにデプロイされ、.avexe 自体はそのディレクトリのすべてのユーザー フィルタ ライブラリを使用するように設定されます。

ランタイム実行可能ファイルの定義。

他に依存関係がある場合 (使用されているユーザー フィルター ライブラリによって公開されている場合など)、それらをプロジェクトエクスプローラーで添付ファイルとして Aurora Vision プロジェクトに追加し、エクスポート中に .avexe ファイルを使用してデプロイすることもできます。

詳細オプションで使用できるプロジェクトID は、特定のライセンスのみがアプリケーションを実行できるようにする追加パラメータです。 顧客のリクエストに応じて、Aurora Vision チームはキー (プロジェクト ID) を生成し、それをランタイム ライセンスに追加できます。 アプリケーションを特定のライセンスに接続するには、ランタイム実行可能ファイルのエクスポートに同じプロジェクト ID を設定する必要があります。 このフィールドをデフォルトのままにすると、どのライセンスでも .avexe ファイルを実行できます。

トリック: モジュールとしての構成ファイルは AVEXE にエクスポートされない

多くの場合、特定のインストールに合わせてさまざまなパラメータを調整できるように、実行可能ファイルから構成ファイルを分離しておくと便利です (ただし、エンド ユーザーは利用できません)。
これは、単純なプログラミング イディオムを使用して簡単に実装できます。

  1. 調整が必要な値については、プロジェクトのグローバル パラメータを使用してください。
  2. グローバル パラメータを別のモジュールに配置します(プロジェクト エクスプローラー ウィンドウを使用)
  3. .avexe ファイルをエクスポートするときにモジュールを除外します。
  4. ランタイム環境で、グローバル パラメータを含む .avexe ファイルとモジュールを (別のファイルとして) コピーします。
  5. 必要に応じて、メモ帳で構成モジュールを開いて編集します。

その他のランタイム オプション

Aurora Vision Executor は、エンドユーザーのアプリケーションを作成するためのいくつかのオプションの 1 つにすぎないことに注意してください。
その他の利用可能なオプションは次のとおりです。

  • .NET Macrofilter Interface Generator – ネイティブな .NET アセンブリ (DLL ファイル) を生成し、Aurora Vision Studio で作成されたマクロフィルターを .NET プロジェクトから単純なクラスメソッドとして呼び出すことができるようにします。 内部的には Aurora Vision Studio の実行エンジンが使用されるため、関連するマクロフィルターを変更する場合に .NET ソリューションを再コンパイルする必要はありません。 HMI は、WinForms、WPF、または同様のテクノロジを使用して実装できます。
  • C++ コード ジェネレーター – Aurora Vision Library C++ に基づくネイティブ C++ コード (CPP ファイル) を生成します。 このコードはより大きな C++ プロジェクトと統合でき、HMI は Qt、MFC、または同様のライブラリで実装できます。
    Studio でプログラムを変更するたびに、C++ コードを再生成して再コンパイルする必要があります。

Aurora Vision Executor を「システム シェル」として設定

Windows システムでは、Aurora Vision Executor を「システム シェル」として設定し、デスクトップ、メニュー スタートなどを完全に削除することができます。 これを行うには、Aurora Vision Executor の [設定] と [スタートアップ] セクションに移動します。 Set Aurora Vision Executor をメイン システム アプリケーション (現在のユーザーのみ) としてマークします
このオプションには管理者権限が必要であることに注意してください。

Aurora Vision Executor を「システムシェル」として設定

アプリケーションの起動

Aurora Vision Executor でプログラムを開始する前に、任意のプロセスを実行することができます。 Aurora Vision Executor の [設定] と [スタートアップ] セクションに移動します。
新しいスタートアップ プログラムを定義するには、右側の [追加] ボタンを選択します。 [新しいスタートアップ プログラム] ダイアログ ボックスで、アプリケーション パス (必須) と引数 (オプション) を指定する必要があります。 これは、Windows の [スタート] メニューの [ファイル名を指定して実行] ダイアログ ボックスにアプリケーション名とコマンドライン引数を入力するのと似ています。
追加したプログラムがリストに表示されます。 追加されたすべてのプログラムは、Aurora Vision Executor を実行するたびに開始されます。

起動アプリケーションの定義

スタートアップ プロジェクト

Aurora Vision Executor が起動後に実行するプロジェクトを選択することができます。 Aurora Vision Executor の [設定] と [スタートアップ] セクションに移動します。 スタートアップ プロジェクトを定義するには、右側の ... ボタンを選択します。 [開く] ダイアログ ボックスで、スタートアップ プロジェクトのパスを指定する必要があります (必須)。
追加されたプロジェクトのパスがボックスに表示されます。 Aurora Vision Executor を実行するたびに開始されます。

スタートアップ プロジェクトの定義

Deep Learning Service がインストールされている場合は、[Start Deep Learning Service onstart] を選択することで、起動時にサービスを実行することを選択できます。