「オンラインカムエディタ」視覚化要素
オンラインカムエディタは、ビジュアライゼーションにカムを表示するビジュアライゼーションテンプレートです。この要素を使うと、オンラインモードでカムを変更できます。
ビジュアライゼーション要素はビジュアライゼーションテンプレートで利用できるようになります (SMC_Visu_CamEditor) の SM3_Basic_Visu
ライブラリ。このファイルは、ビジュアライゼーションエディタのビジュアライゼーションエディタにあります。 ツールボックス で表示 SM3_ベーシック_ビザ タグ。
ザル SMC_Visu_CamEditor
フレームを介してビジュアライゼーションに挿入されます。
この視覚化要素の詳細については、以下を参照してください。 ビジュアライゼーションエレメント:フレーム。

フレーム要素のプロパティに加えて、このテンプレートには次のプロパティが含まれています。
プロパティ | [説明] |
---|---|
セーフカム | 編集するカムへの参照 |
[位置を表示] | ポジションカーブの表示のオンとオフを切り替えるブール変数 |
ベロシティを表示 | 速度曲線の表示のオンとオフを切り替えるブール変数 |
アクセラレーションを表示 | 加速度曲線の表示のオンとオフを切り替えるブール変数 |
ショージャーク | ジャークカーブの表示のオンとオフを切り替えるブール変数 |
選択したセグメントを表示 | 選択したセグメントの強調表示のオンとオフを切り替えるブール変数 |
編集するカムは、のインスタンスを介して転送されます SMCB.CAM_REF_MULTICORE_SAFE
ファンクションブロック。
PROGRAM PLC_PRG VAR safeCam : SMCB.CAM_REF_MULTICORE_SAFE; END_VAR
オンラインモードのカムエディタ
オンラインモードでは、カムの個々のセグメントをグラフで選択できます。右側のセグメントエディターでは、セグメントの追加や削除、選択したセグメントの境界条件の調整ができます

(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 タスクから行う必要はありません。