Skip to main content

「オンラインカムエディタ」視覚化要素

オンラインカムエディタは、ビジュアライゼーションにカムを表示するビジュアライゼーションテンプレートです。この要素を使うと、オンラインモードでカムを変更できます。

ビジュアライゼーション要素はビジュアライゼーションテンプレートで利用できるようになります (SMC_Visu_CamEditor) の SM3_Basic_Visu ライブラリ。このファイルは、ビジュアライゼーションエディタのビジュアライゼーションエディタにあります。 ツールボックス で表示 SM3_ベーシック_ビザ タグ。

ザル SMC_Visu_CamEditor フレームを介してビジュアライゼーションに挿入されます。

この視覚化要素の詳細については、以下を参照してください。 ビジュアライゼーションエレメント:フレーム

_sm_img_visuelement_cam_editor2.png

フレーム要素のプロパティに加えて、このテンプレートには次のプロパティが含まれています。

プロパティ

[説明]

セーフカム

編集するカムへの参照

[位置を表示]

ポジションカーブの表示のオンとオフを切り替えるブール変数

ベロシティを表示

速度曲線の表示のオンとオフを切り替えるブール変数

アクセラレーションを表示

加速度曲線の表示のオンとオフを切り替えるブール変数

ショージャーク

ジャークカーブの表示のオンとオフを切り替えるブール変数

選択したセグメントを表示

選択したセグメントの強調表示のオンとオフを切り替えるブール変数

編集するカムは、のインスタンスを介して転送されます SMCB.CAM_REF_MULTICORE_SAFE ファンクションブロック。

PROGRAM PLC_PRG
VAR
    safeCam : SMCB.CAM_REF_MULTICORE_SAFE;
END_VAR

オンラインモードのカムエディタ

オンラインモードでは、カムの個々のセグメントをグラフで選択できます。右側のセグメントエディターでは、セグメントの追加や削除、選択したセグメントの境界条件の調整ができます

_sm_img_cam_editor_online2.png

(1) ロードカム

設定したカムをエディタにロードします

(2) カムを保存

編集したカムを保存します

(3) ステータスバー

ステータスメッセージを表示します

(4) セグメント選択

セグメントは矢印を使用して選択できます。セグメントタイプはリストボックスで変更できます

(5) マスターポジション

セグメントの左端と右端のマスターポジション

(6) スレーブポジション

セグメントの左端と右端のスレーブ位置。

(7) スレーブ速度

セグメントの左端と右端のスレーブ速度。すべてのセグメントタイプで編集できるわけではありません

(8) スレーブアクセラレーション

セグメントの左端と右端のスレーブアクセラレーション。すべてのセグメントタイプで編集できるわけではありません

(9) スレーブジャーク

セグメントの左端と右端のスレーブジャークです。すべてのセグメントタイプで編集できるわけではありません

(10) ラムダパラメータ

修正された正弦線のラムダパラメータ。

(11) スプリット

選択したセグメントを 2 つのセグメントに分割します。

(12) 削除

選択したセグメントを削除します。

作成したカムをアプリケーションで使用する

で作成したカムを使用できます SMC_Visu_CamEditor を呼び出して、アプリケーション内のビジュアライゼーション要素を作成します。 GetCopy のメソッド CAM_REF_MULTICORE_SAFE インスタンス。

PROGRAM PLC_PRG
VAR
    safeCam : SMCB.CAM_REF_MULTICORE_SAFE;
    camRef : MC_CAM_REF;
    camSegments : ARRAY[0..99] OF SMC_CAM_SEGMENT;
    error : SMC_ERROR;
END_VAR

IF safeCam.CamId <> oldCamId THEN
     error :=
         safeCam.GetCopy(
            camRef:= camRef,
            pCamSegments:= ADR(camSegments),
            arraySize:= XSIZEOF(camSegments));

      oldCamId := safeCam.CamId;
END_IF

プログラムは最初に新しいカムが作成されたかどうかを確認します (CamId <> oldCamID)。その場合は、を使用してこのカムのコピーが作成されます。 GetCopy メソッド。呼び出しが戻った場合 SMC_NO_ERRORそして、 camRef のインスタンス MC_CAM_REF ファンクションブロックは SoftMotion カムファンクションブロックと一緒に使用できます。 MC_CamTableSelect そして MC_CamIn。ザ・ GetCopy 呼び出しはタスクセーフなので、Visu タスクから行う必要はありません。