XScript マニュアル · Chapter 14

DRIVER — プロジェクトドライバー

DRIVER は、プロジェクトに登録したドライバー DLL オブジェクトにスクリプトからアクセスするキーワードです。DRIVER["ドライバー名"] の形でそのドライバーインスタンスを取得し、メソッドを呼び出します。

旧バージョンの固定 MOTION 補間オブジェクト(多軸の直線/円弧補間)は削除されました。装置固有の補間・通信・特殊制御は、現在はプロジェクトドライバー DLL として実装し、DRIVER["…"] で呼び出します。したがって DRIVER が提供するメソッドは固定ではなく、接続したドライバー DLL が定義したメソッドによって変わります。

プロジェクトドライバーとは

プロジェクトドライバーは、XDriverBase 抽象クラスを継承したクラスを含む .NET DLL です。QMachineStudio は登録された DLL を読み込み、XDriverBase を継承したクラスを探してインスタンスを生成し、DRIVER["名前"] として公開します。スクリプトエディターのオートコンプリートにもそのクラスのメンバーが表示されます。

基底クラス (XDriverBase)

すべてのプロジェクトドライバーが共通して持つメンバーです。その他のメソッドは各ドライバー DLL が独自に定義します。

メンバー説明
DriverNamestringドライバー名(登録した名前)
IsInitializedbool初期化が完了したか
Initialize()boolドライバーを初期化。成功時 true
Close()voidドライバーを終了しリソースを解放

ドライバーの登録

Solution ExplorerProject Driver Editor ノードを開き、Add Driver でドライバー名と DLL を登録します。ここで指定した名前がスクリプトの DRIVER["名前"] キーになります。

スクリプトからの呼び出し

// 登録したドライバー "MyBoard" を取得
if (DRIVER["MyBoard"].IsInitialized == false)
{
    if (DRIVER["MyBoard"].Initialize() == false)
    {
        return;
    }
}
 
// ドライバー DLL が定義したメソッドを呼び出す(メソッド名・シグネチャはドライバー実装による)
DRIVER["MyBoard"].DoSomething(100, true);
 
// 終了
DRIVER["MyBoard"].Close();
  • メソッド名・引数・戻り値の型はドライバー DLL の実装に従います。上記の DoSomething は例であり、実際のメソッドはドライバーごとに異なります。
  • 登録されていない名前でアクセスすると、ドライバーが見つからず実行時エラーになります。使用前に登録の有無と IsInitialized を確認してください。

ハードウェアボードのバックエンド

I/O · モーター · 通信 · ビジョンボードもプロジェクトドライバーでバックエンドを実装できます。その場合 MOTOR · Digital I/O · Communication などの標準オブジェクトが内部でそのドライバーを使用するため、スクリプトは通常は標準オブジェクトでハードウェアを制御し、DRIVER はドライバー固有の機能を直接呼び出すときに使用します。

関連項目