Matlab を使用したインタラクティブ拡張機能で ZOS-API に接続する方法

この記事では、Matlab を使用した新しいインタラクティブ拡張機能で ZOS-API に接続する方法を紹介します。インタラクティブ拡張機能モードは、ユーザ拡張機能とほとんど同じですが、スタンドアロンの実行可能ファイルにする必要がない点が異なります。この拡張機能によって、OpticStudio から起動できるコンパイル済み実行可能ファイルが存在しないスクリプト作成環境からでも OpticStudio に接続できます。このような環境として Matlab や Python などがあります。

著者 Thomas Pickering

Introduction

ZOS-APIは、任意のスクリプト言語を使用してOpticStudioに接続して対話できるツールです。この機能は、長時間の分析を直接管理する場合や、反復プロセスを処理する場合に特に有用です。APIの1つの機能は、システムを編集するために外部プログラムをOpticStudioと組み合わせて呼び出すことができるインタラクティブな拡張モードです。 Interactive Extensionを利用できるプログラムの1つはMATLABです。

この記事では、Interactive Extensionをアクティブにし、それを使用してMATLABを介してOpticStudioをプログラムする方法を紹介します。

インタラクティブ拡張機能スクリプトの作成

インタラクティブ拡張機能に接続するためのボイラープレート テンプレートを作成するには、[プログラミング] (Programming) タブに移動し、[ZOS-API.NET アプリケーション ビルダー] (ZOS-API.NET Application Builders) → [MATLAB] (MATLAB) → [インタラクティブ拡張機能] (Interactive Extension) をクリックします。

Run Interactive Extension

以下の ZOS-API のプロジェクト フォルダにスクリプトが置かれます。
..\Documents\Zemax\ZOS-API Projects\MATLABZOSConnection
このスクリプトを複数作成すると、それぞれのファイル名に連番が付加されます。
エディタで開いているスクリプトによって Matlab が自動的に起動します。

Matlab Launch

インタラクティブ拡張機能への接続

インタラクティブ拡張機能を開始するには、[ZOS-API.NET アプリケーション] (ZOS-API.NET Applications) → [インタラクティブ拡張機能] (Interactive Extension) をクリックします。

Connect Interactive Extension

ダイアログ ウィンドウが開き、外部アプリケーションとの接続を OpticStudio が待機します。ここでの外部アプリケーションは Matlab です。

Waiting for Connection

このダイアログ ボックスには、実行している OpticStudio のインスタンスのインスタンス ID が表示されます。複数の OpticStudio インスタンスを実行している場合でも、この ID を使用することで、Matlab から特定のインスタンスに接続できます。

OpticStudio 19.4以降、MATLABでは、スクリプトを実行する手順は次の通りです。

  • TheSystem宣言の後にブレークポイントを設定します。

01606_10_Breakpoint.png

  •  [実行] (Run) ボタンをクリックします。

Run Matlab
 

  • インタラクティブ拡張機能のステータスとして、接続済みであることが示されます。

 

The MATLAB Workspace shows a variable ans.

 

ans

 

 

Then in the Command Window, write:

TheApplication = ans;

 

Or in the Command Window, specify the OpticStudio instance by putting in the correct number in the parentheses. The function returns an object of type ZOSAPI_Application. The connection mode is seen as Extension.

 

 

Now you can use the MATLAB Command Window to execute individual commands to the API.

 

Terminating the connection

You can terminate the connection either by clicking the Terminate button in the Interactive Extension dialog box or by running the CloseApplication method in the MATLAB Command Window:

 

 

 

KA-01606

この記事は役に立ちましたか?
1人中1人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。