モーションコントローラのシステムデバイスを、ラベル機能を使って入力する時に使用する、サンプルプロジェクトです。
ページ内コンテンツ
ご注意
ここでご紹介するラベルプロジェクトデータは、あくまでサンプルです。 これを使用した場合のいかなる不具合も筆者及び(有)モーションクリエイトは保障致しません。 各人で独自に検証のうえ、自己責任でご使用ください。
もし不具合に遭遇したらご報告いただきますようお願いします。 要望なども歓迎します。
内容
MT Developer2 の1ファイル形式プロジェクトで保存されたデータです。
ラベル機能を使う場合は、MT Developer2が必須ですので、最新版にアップデートした上でプロジェクトを開いてください。(1ファイル形式プロジェクトは、ver1.34L以降でないと読み込めません。)
- Q173D.mtw
- Q173DS_AdSync.mtw
- Q173DS(アドバンスト同期制御モード)プロジェクトです。
- Q172DS で使う場合は、ラベルの不要な定義部分をカットして使えば、ファイルサイズを小さくしたり変換時間を短くしたりできます。
- MTD2の仕様により、Q173DS(仮想モード)との相互変換はできません。
- アドバンスト同期制御はかなり多くのシステムデバイスが予め割り当てられており、10000番代でなおかつ先頭番号の10番代が途中から始まるため、ほとんど覚えられない、間違いを起こしやすい状態です。 ラベル機能を使うことで、間違いをかなり減らせる可能性があります。
- システムデバイス/ラベル対比表.xls
- 各軸ラベル構造体の指定と構造体メンバーなどを一覧に纏めた仕様書です。
- #デバイス、SM/SDデバイスは、未作成です。 後日改定にて同梱するかも。
使い方
- 以下のように構造体を定義しています。
- (n)は実際には軸番号になります。1軸目の指令信号なら、Ax1Cmd、32軸目はAx32Cmd になります。
- 各構造体名リンクからメンバ変数リストページを参照できます。
- システム共通用
- 各軸用
- Ax(n)Cmd --> 各軸指令信号
- Ax(n)St --> 各軸ステータスフラグ
- Ax(n)R --> 各軸モニタデータ
- Ax(n)W --> 各軸指令データ
- 仮想モード用
- V(n)Cmd --> 仮想軸指令信号
- V(n)St --> 仮想軸ステータスフラグ
- V(n)R --> 仮想軸モニタデータ
- アドバンスト同期制御用
- Sn(n)Cmd --> アドバンスト同期軸指令信号
- Sn(n)St --> アドバンスト同期軸ステータスフラグ
- Sn(n)R --> アドバンスト同期軸モニタデータ
- Sn(n)W --> アドバンスト同期軸指令データ
- モーションSFC内で、
- 例えば「a」とタイプすると、「A」から始まる構造体候補がヒントに出てきます。
- そこで「↓」キーを押すと、リスト内に入るので目的の軸番号の構造体を選択状態にして、
- 「ENTER」を押すと、SFC内に文字列が入ります。
- 「.」(ドット) を入力すると、その構造体メンバ一覧がヒントに出てきます。
- 同様に、「↓」キーで選択し「ENTER」すると、メンバ変数がSFC内に入ります。
- 各構造体メンバ変数のうち、ワードデータの場合、末尾に「L」があるものはダブルワードのデータ変数です。 SFC内の計算や結果の代入などの際のバカヨケとして活用してください。
変換検証用サンプルプロジェクト
- Q173D(S)_Device4Check.zip
この中には、Q173D用(仮想モード)と、Q173DS用(アドバンスト同期制御)の、 SFCがデバイス番号で書かれたプロジェクトが入っています。
あくまでサンプルなので、これを元にRUNしても、何も動いたりしませんので悪しからず。
- 検証方法
- プロジェクトを一つ開き、デバイス番号で書かれたSFCを確認する。
- 既にラベルが取り込まれているプロジェクトから「流用」機能で ラベル/構造体を取り込む。
- 「ラベルに一括置換」機能で、デバイスをラベルに一括置換し、 内容に相違が無いか確認する。
ラベル→デバイスに戻すには
一度ラベルに置換されたデバイスを元に戻すことは、Q17xD(S)の仮想モードプロジェクトでは可能ですが、アドバンスト同期制御では現時点では戻せないのでご注意を。
- Q17xD(S)の仮想モードプロジェクトで、デバイスに戻す方法
- まずはプロジェクトのバックアップを取っておく。
- プロジェクトを、「MTDeveloper形式プロジェクトの保存」で、MTDeveloper形式にエクスポートする。
- ラベルと構造体を削除する。
- 他形式プロジェクトの流用 で、必要なデータをインポートする。
- アドバンスト同期制御では、Q17xD(S)の仮想モードプロジェクトへの変換もできないし、MTDeveloper形式プロジェクトの保存もできないので、今のところ戻す手立てがありません。
その他 三菱への要望事項
(MT Developer2 -Ver1.56J に基づく内容です。)
上記の「ラベル→デバイスに戻す」機能の実装はもちろんですが、その他にも改善してほしいことがいくつかありますので、この場に書きとめておきます。
構造体のCSVエクスポート
- 構造体を使ったラベルを定義したとき、各ラベルの「詳細設定」でデバイスを設定してゆきますが、これをCSVデータに落として個別にEXCELで編集したり再利用してインポートしたいのに現状では不可能。 できるようにしてほしい。
検索に関して
- 「デバイス検索」機能ではデバイスしか検索できず、ラベル検索は「クロスリファレンス」の使用に限られるのだが、簡便に「デバイス検索」機能でも検索したい。
- 「クロスリファレンス」の入力欄には、SFCの編集時に使えるようなツールヒントが使えない。 (Ax1 と入力すると、候補が表示されるもの) また、「Ax1」で検索すると「Ax1St」「Ax1Rq」などが検索されるような前方一致検索が使えない。 これらは操作性を低下させているので、改善を望む。
→ 前方一致の件は、ワイルドカードが使えるようです。Ax1* と入力すると、Ax1St, Ax1Cmd, など引っ掛かってきます。 - 構造体を使ったラベルの検索で、例えば「Ax1St」で検索すると構造体のメンバ変数が列挙されますが、検索結果にある一つのメンバ変数をダブルクリックしても、その変数が検索入力欄に入ってこない。 長い名称のメンバ変数まで手入力しないといけないのは、検索という急ぎの操作においては現実的でないので、改善を望む。
置換に関して
- ラベル→ラベルの置き換えができない。
デバイス置き換え画面では、ラベルを入力できないので、他のどこかで置き換えできるのか、色々調べたがわからない。もしかしてラベル同士の置き換えはできないとか・・?
ラベル→ラベル置き換えができないと、軸数の多いアプリを作る時に、SFC流用してデバイス置き換えして展開、という方法を取っていたので、この方法が取れず、かなり致命的かと思います。 早急に改善を望む。
- ラベル→ラベルの置き換えができない。
デバイスコメントウインドウ
- 「表示」-「ドッキングウインドウ」-「デバイスコメント」 で、SFCで選択/編集中の箱の中身のデバイスとコメントが表示されるのですが、この表示から、デバイスをラベルにすると消えてしまいます。 消す必要は無いので、そのままラベルとデバイスの両方を表示するように改善を望む。
CPUからSFCを読み出した時の挙動
MTW2の「ヘルプ」で表示される文面には、以下のような記述がありますが、実際にはこうならず、ラベルのまま読み出されてしまって、一括変換エラーで変換できません。(Q172DSCPUで確認)
モーションSFCプログラム/メカ機構プログラム読み出し/流用時の注意事項 ・CPU側にラベル設定データが書き込まれておらず,かつ,現在開いているプロジェクトにラベル設定データがない状態で,CPU読み出しにてモーションSFCプログラム/メカ機構プログラムを読み出した場合は,ラベル変換(復元)されません。 モーションSFCプログラム/メカ機構プログラムは,デバイスでの表示となります。
以上、基本機能は良いと思うので、実用のために素早い改善を望みたいところです。
添付ファイル:
LabelList.jpg 55件
[詳細] Hint02.jpg 59件
[詳細] Hint01.jpg 63件
[詳細] Q173D(S)_Label.zip 122件
[詳細] Q173D(S)_Device4Check.zip 97件
[詳細] Q173D(S)_Device4Check.zip
[詳細]
ぺージ情報 | |
---|---|
ぺージ名 : | 公開Data集/Hint集/ツール/ラベル |
ページ別名 : | 未設定 |
ページ作成 : | 管理人 |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | 一般登録ユーザ, AGC関連メンバー |
ユーザー : | なし |
Counter: 543,
today: 1,
yesterday: 0
初版日時: 2013-03-28 (木) 17:32:04
最終更新: 2013-03-30 (土) 08:26:38 (JST) (1953d) by 管理人