E-mail パスワード
次回から自動ログインする    
パスワード紛失  新規登録      
   ホーム | フォーラム | ブログ | Wiki | 用語集 | マイアルバム | カレンダー | リンク | サイト内検索 |  

用語集

用途別分類(カテゴリー)別
頭文字(イニシャル)別
A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
あ行  か行  さ行  た行  な行  は行  ま行  や行  ら行  わ・ん  その他  すべて
らべる

ラベル

モーションコントローラのシステムデバイスを、ラベル機能を使って入力する時に使用する、サンプルプロジェクトです。

ご注意 anchor.png

 ここでご紹介するラベルプロジェクトデータは、あくまでサンプルです。 これを使用した場合のいかなる不具合も筆者及び(有)モーションクリエイトは保障致しません。 各人で独自に検証のうえ、自己責任でご使用ください。
 もし不具合に遭遇したらご報告いただきますようお願いします。 要望なども歓迎します。 :-)

ラベルサンプル anchor.png

サンプルプロジェクト anchor.png

以下のzipファイルをダウンロードし、解凍してご使用ください。

内容 anchor.png

MT Developer2 の1ファイル形式プロジェクトで保存されたデータです。
ラベル機能を使う場合は、MT Developer2が必須ですので、最新版にアップデートした上でプロジェクトを開いてください。(1ファイル形式プロジェクトは、ver1.34L以降でないと読み込めません。)

LabelList.jpg
  • Q173D.mtw
    • Q173D(仮想モード)プロジェクトですが、Q173DS(仮想モード)にもプロジェクト変換して使用できます。
    • Q172D / Q172DS で使う場合は、ラベルの不要な定義部分をカットして使えば、ファイルサイズを小さくしたり変換時間を短くしたりできます。
  • Q173DS_AdSync.mtw
    • Q173DS(アドバンスト同期制御モード)プロジェクトです。
    • Q172DS で使う場合は、ラベルの不要な定義部分をカットして使えば、ファイルサイズを小さくしたり変換時間を短くしたりできます。
    • MTD2の仕様により、Q173DS(仮想モード)との相互変換はできません。
    • アドバンスト同期制御はかなり多くのシステムデバイスが予め割り当てられており、10000番代でなおかつ先頭番号の10番代が途中から始まるため、ほとんど覚えられない、間違いを起こしやすい状態です。 ラベル機能を使うことで、間違いをかなり減らせる可能性があります。
  • システムデバイス/ラベル対比表.xls
    • 各軸ラベル構造体の指定と構造体メンバーなどを一覧に纏めた仕様書です。
    • #デバイス、SM/SDデバイスは、未作成です。 後日改定にて同梱するかも。

使い方 anchor.png

  • 以下のように構造体を定義しています。
    • (n)は実際には軸番号になります。1軸目の指令信号なら、Ax1Cmd、32軸目はAx32Cmd になります。
    • 各構造体名リンクからメンバ変数リストページを参照できます。
      • システム共通用
        • SysCmd / SysCmdAlt --> システム共通指令信号
        • SysSt --> システム共通ステータスフラグ
        • SysW --> システム共通指令データ
      • 各軸用
        • 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」から始まる構造体候補がヒントに出てきます。
Hint01.jpg
    • そこで「↓」キーを押すと、リスト内に入るので目的の軸番号の構造体を選択状態にして、
    • 「ENTER」を押すと、SFC内に文字列が入ります。
    • 「.」(ドット) を入力すると、その構造体メンバ一覧がヒントに出てきます。
Hint02.jpg
    • 同様に、「↓」キーで選択し「ENTER」すると、メンバ変数がSFC内に入ります。
  • 各構造体メンバ変数のうち、ワードデータの場合、末尾に「L」があるものはダブルワードのデータ変数です。 SFC内の計算や結果の代入などの際のバカヨケとして活用してください。

変換検証用サンプルプロジェクト anchor.png

  • 検証方法
    • プロジェクトを一つ開き、デバイス番号で書かれたSFCを確認する。
    • 既にラベルが取り込まれているプロジェクトから「流用」機能で ラベル/構造体を取り込む。
    • ラベルに一括置換」機能で、デバイスをラベルに一括置換し、 内容に相違が無いか確認する。

ラベル→デバイスに戻すには anchor.png

 一度ラベルに置換されたデバイスを元に戻すことは、Q17xD(S)の仮想モードプロジェクトでは可能ですが、アドバンスト同期制御では現時点では戻せないのでご注意を。

  • Q17xD(S)の仮想モードプロジェクトで、デバイスに戻す方法
    1. まずはプロジェクトのバックアップを取っておく。
    2. プロジェクトを、「MTDeveloper形式プロジェクトの保存」で、MTDeveloper形式にエクスポートする。
    3. ラベルと構造体を削除する。
    4. 他形式プロジェクトの流用 で、必要なデータをインポートする。
  • アドバンスト同期制御では、Q17xD(S)の仮想モードプロジェクトへの変換もできないし、MTDeveloper形式プロジェクトの保存もできないので、今のところ戻す手立てがありません。 :cry:

その他 三菱への要望事項 anchor.png

 (MT Developer2 -Ver1.56J に基づく内容です。)
 上記の「ラベル→デバイスに戻す」機能の実装はもちろんですが、その他にも改善してほしいことがいくつかありますので、この場に書きとめておきます。

構造体のCSVエクスポート anchor.png

    • 構造体を使ったラベルを定義したとき、各ラベルの「詳細設定」でデバイスを設定してゆきますが、これをCSVデータに落として個別にEXCELで編集したり再利用してインポートしたいのに現状では不可能。 できるようにしてほしい。

検索に関して anchor.png

    • 「デバイス検索」機能ではデバイスしか検索できず、ラベル検索は「クロスリファレンス」の使用に限られるのだが、簡便に「デバイス検索」機能でも検索したい。
    • 「クロスリファレンス」の入力欄には、SFCの編集時に使えるようなツールヒントが使えない。 (Ax1 と入力すると、候補が表示されるもの) また、「Ax1」で検索すると「Ax1St」「Ax1Rq」などが検索されるような前方一致検索が使えない。 これらは操作性を低下させているので、改善を望む。
       → 前方一致の件は、ワイルドカードが使えるようです。Ax1* と入力すると、Ax1St, Ax1Cmd, など引っ掛かってきます。
    • 構造体を使ったラベルの検索で、例えば「Ax1St」で検索すると構造体のメンバ変数が列挙されますが、検索結果にある一つのメンバ変数をダブルクリックしても、その変数が検索入力欄に入ってこない。 長い名称のメンバ変数まで手入力しないといけないのは、検索という急ぎの操作においては現実的でないので、改善を望む。

置換に関して anchor.png

    • ラベルラベルの置き換えができない。
       デバイス置き換え画面では、ラベルを入力できないので、他のどこかで置き換えできるのか、色々調べたがわからない。もしかしてラベル同士の置き換えはできないとか・・?
       ラベルラベル置き換えができないと、軸数の多いアプリを作る時に、SFC流用してデバイス置き換えして展開、という方法を取っていたので、この方法が取れず、かなり致命的かと思います。 早急に改善を望む。

デバイスコメントウインドウ anchor.png

    • 「表示」-「ドッキングウインドウ」-「デバイスコメント」 で、SFCで選択/編集中の箱の中身のデバイスとコメントが表示されるのですが、この表示から、デバイスをラベルにすると消えてしまいます。 消す必要は無いので、そのままラベルとデバイスの両方を表示するように改善を望む。

CPUからSFCを読み出した時の挙動 anchor.png

 MTW2の「ヘルプ」で表示される文面には、以下のような記述がありますが、実際にはこうならず、ラベルのまま読み出されてしまって、一括変換エラーで変換できません。(Q172DSCPUで確認)

モーションSFCプログラム/メカ機構プログラム読み出し/流用時の注意事項

・CPU側にラベル設定データが書き込まれておらず,かつ,現在開いているプロジェクトにラベル設定データがない状態で,CPU読み出しにてモーションSFCプログラム/メカ機構プログラムを読み出した場合は,ラベル変換(復元)されません。
モーションSFCプログラム/メカ機構プログラムは,デバイスでの表示となります。

以上、基本機能は良いと思うので、実用のために素早い改善を望みたいところです。

実体ページ:公開Data集​/Hint集​/ツール​/ラベル

関連記事:
参考文献:
関連サイト:
Powered by Xwords  based on Wordbook

コメント一覧

投稿ツリー


なーお  投稿日時 2013/4/5 15:19 | 最終変更

ラベルファイルがあると、SFCプログラムのオンライン時の指定ステップモニタが劇遅になることが判明。 :evil:

1つのF箱に多い場合だと200~300行書いてあるのだけど、 ラベルを使わない時は、指定ステップモニタが一覧表示完了するのに5秒程度。
それが、ラベル定義すると、20秒程度に伸びてしまう。
デバイス記法で10秒かかる箱では、ラベル記法で60秒かかりました。表示するまでの間はマウスが砂時計となり、他の操作は全く受け付けません。

デバグ時は瞬時に表示してほしいくらいなのに、これじゃあ使えないじゃないか。ひどいものだ。

ちなみに、パソコンは、WindowsXP-sp2.

モーションラベル機能、 Q17xDSCPUのアドバンスト同期制御でデバイスに戻せないとか、色々な問題があるので、当分使うのは見送ろうと思う。

なーお  投稿日時 2013/6/4 10:50 | 最終変更

Q17xDSCPUだと、一旦書いたラベルをデバイスに戻せない件。

これができないと、ちょっとした不便な点が、より困ったことになるという例を示しておきます。

  1. ラベル構造を変えたい時
     ラベルの置き換え機能が実装されていないので、ラベル構造を変えた時には、プロジェクト内のSFCの記述を、一つ一つ、手打ちで新ラベル構造に合わせて修正するしかありません。
     ラベル→デバイスに戻す機能があれば、一旦デバイスに戻して、変更後のラベル構造に差し替えて、 デバイス→ラベル一括変換で完了です。 できたらこんなに楽なのに、なんでできないのかな。。
  2. ラベル構造体配列が現時点で使えない
     現時点でラベルの構造体に配列を使えないので、本サンプルは構造体から各軸展開をラベル構造のインスタンスで一つずつ定義しています。
     将来的に機能アップして構造体配列が使えるようになった時に、既に出来上がったプロジェクト内の記述を簡単に置き換える手段がないとすると、手修正か・・ そう思うだけで使う気が失せてしまいますね。 :roll:


新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

メインメニュー