なーお さんの日記
本サイトをご利用いただきありがとうございます。
本サイトを運営しておりました、有限会社モーションクリエイトは、2014年9月19日に解散致しました。
本サイトに掲載した内容はアーカイブとして残し、個人にて運営を継続します。
利用規定等の改定も行ってゆきますが、当面は上記に基づき読み替えいただきますようお願いします。
アドバンスト同期制御の案件が入ってきました。 私としては使うのは初めてです。
既存の仮想モードのソフトを、このアドバンスト同期制御にコンバートするのですが、マニュアルを開いて確認しつつ、フレキシビリティが沢山詰まったこの制御をどう料理しようか、思い悩んでます。
アドバンスト同期制御では、仮想モードのような全体モード変更は不要です。
しかし元々仮想モードだったアプリケーションをこれに置き換える場合、作業性との兼ね合いが生じてくるので、すんなり外してしまって良いのかどうか悩みます。
ともあれ、これを通じてしっかり使えるようにならないといけないですな。
先日の日記で報告したとおり、サンプルを公開しました。
仕事が立て込んできたので、早めに片付けておきたかったので、予定より早くの公開です。
例によってお約束ですが、これを使用した場合のいかなる不具合も筆者及び(有)モーションクリエイトは保障致しません。 各人で独自に検証のうえ、自己責任でご使用ください。
では。
モーション制御フェチの皆さん、こんにちは。
(そんな奇特な人間は私だけかな)
主題のように、Q17xDCPUの一定バージョンから使えるようになった、ラベル機能を検証中です。
いやぁ、さすが三菱、色々と痒いところに手が届いていないです。 その辺の詳細はまた日を改めてご紹介します。
とはいえ、基本構造的にはなかなか良さそうなので、細部の使い勝手が改善されれば使いどころがありそうです。
何が良いのかって、構造体が使えること。
モーションSFCで一番の苦痛は、何といっても1CPUあたり32軸の各軸のフラグやデータデバイス番号を間違いのないように記述することですね。
ラベル機能を使えば、パソコンのプログラム言語ツールに似た感じのツールヒントが出てきて、入力が容易になって間違いも減ります。
ラベル機能の参考例
以下の例では、「Ax(n)St」でn軸の状態フラグ構造体、「Ax(n)Rq」でn軸の指令フラグ構造体を定義しています。
- まず、軸番号の頭文字「Ax」と入力すると、Ax__と続く構造体ブロックの候補が出てきます。 ここで「↓」矢印キーで候補から該当軸をセレクト状態にして「ENTER」で確定し、「.」ドットを入力すると
- 構造体の(該当軸内の)候補が現れます。 そのままタイプしてゆけば、どんどん絞り込んで表示が減りますから、名称を覚えるにつれて入力が楽になってゆきますね。
- 同様に、状態フラグの入力です。
- もちろん、普通にデバイスで入力することもできます。
- 上記の、デバイスで入力した制御文も、メニューの
- 「検索/置換」
- 「置換」
- 「ラベル名に一括置換」
- 「置換」
- 「検索/置換」
を実行すると、このとおりに同じ記述に変換してくれます。
ラベル名記述をデバイス番号に戻すには?
便利で間違いの生じにくいラベルプログラミングですが、残念なことに「デバイス番号に戻す」という操作ツールがありません。
MT Works2のヘルプ(私が現在使っているのはVer.1.56J)に出てくる説明には、 CPUにSFCソースだけ書いて、ラベルの登録されていないプロジェクトで読み出すと、デバイス表記になると書かれていますが、実際にはデバイス番号に戻らずラベル名記述のままです。
そのプロジェクトにはラベルを登録していないので、SFCを一括返還すると盛大にエラーが出てきて変換に失敗します。
まあおそらくこれはバグだと思うのですが、せめてメニューに「ラベル名をデバイスに戻す」という機能は必須だと思います。 なぜなら、ラベル定義そのものを変更した時に、その機能がないとSFC内の記述を全部手書きで修正する必要があるからです。
一旦デバイス番号記述に戻せれば、修正したラベル定義にあらためて一括置き換えすれば終了します。
今のところ、デバイス番号に戻すには、かなり手順を経る必要がありますが、何とかしてMT Developer1形式のファイルに変換してそれを再度MT Works2にインポートすれば戻る、という確認までは取れています。
その他、ここに書いていない細々とした部分でもまだ痒いところに手が届いていないですが、ベースは良くできていると思うので、今後に期待したいです。
最後に、私からのプレゼントの予告です。
便利で今後に期待できるラベル機能ですが、 なぜだかプリインストールや三菱のサイトでも定義済みのサンプルすらありません。(私が気付いていないだけならどうぞご指摘を)
ということで、感謝の意味を込めて、私が作るサンプルを(たぶん4月中に)このサイトで公開します。 MT Works2の1ファイルプロジェクト形式でダウンロード可能とするので、皆さんどうぞお楽しみに!
当サイト内の、SFC演算時間一覧表にQ17xDSCPUを追記するなど改定しました。
- 論理判定式処理時間を追加しました。
- IF~ELSE~IEND
- SELECT~CASE~SEND
- FOR~NEXT
の代表的な1種類のみですが追記しました。
この論理判定式演算を使うとSFC図の選択分岐判定を用いる場合に比べてかなり高速に動作するので、数値の上下限判定とクランプ処理など、使える場面では積極的に活用したいですね。
但し、従来のQ/QHシリーズでは動作しないので、それらと共通ソフトでは注意が必要なことと、MT Developerでは編集できないので、MT Works2使用に限られると思います。
- Q17xDSCPUを追記しました。
Q17xDCPUに比べて、概ね少々高速化していますが、Q17xDCPUの処理時間は初期のマニュアルにあった数値が、Q17xDSCPU発売後のマニュアルで修正されており、ほとんどの項目の時間が微妙に伸びているので、少々注意を要します。(大勢には影響しないレベル)
なぜQ17xDCPUの処理時間が変更されたのかは、確認が必要かもしれませんが、推測すると、発売後の機能アップその他で他の演算周期処理計算量が増えたのかもしれませんね。
- Q17xDSCPUで追加された、同期制御専用関数を追加しました。
CAMRD、CAMWR、CAMWR2、CAMMK、CAMPSCL などです。
このままただ案件を待つだけではいかん!
と思って、C言語コントローラー Q24DHCCPU-V を購入し試しています。 気付いた点をいくつか。
- 買って初めて電源入れて、通信しようとしても ユーザー認証で受け付けされない・・ どうやら最初に初期化が必要らしい。 普通、工場出荷段階で初期化されてくるものじゃないのか?
- 初期化するには、このCPUをベースの一番左のCPU0の位置にセットしないといけない。 マルチCPUの場合にいちいち面倒。
- ユーザーLANポートの通信優先度が高くないので、ユーザープログラムが暴走したり、優先度が高いタスクが占有してしまうと、FTPも何もかもできなくなる。
せめて、「STOP状態」で立ち上げればユーザープログラムの開始をSTOPできるようになっていればFTPも繋げるんだが、トラブル時に毎回、上記の初期化処理が必要でCPUを抜き差しして、IP設定から転送になおして・・ が必要。
- このコントローラで、標準入出力はどこなんだろう? PCだと入力はキーボード/出力はコンソール画面。
- 三菱の技術相談で聞いてみたところ、「このユニットはシーケンサの代わりを務めるためのもので、コンソールやキーボード入力が必要なのであれば、PCユニットのほうが良いのでは?」というような寂しいお答え。 そんなもんなのか??
まだ慣れていないのもあるけど、この先が思いやられる。
ここでブログ書くのは2年ぶりかな。(汗)
三菱のiQプラットフォームのモーションCPU、 Q172DCPU / Q173DCPU には、「アンプ無し運転」ができるようになっています。(本体OSソフトウエアver00H以降) 実行には、簡単なSFCを書くだけです。
ソフトの事前シミュレーションで、CPU周りだけ準備しておけば、シーケンサ~モーション間の通信確認から、仮想アンプ・モーターを運転したシミュレーションまで可能です。
これは、試運転前の事前シミュレーションに限らず、納品後の改造や不具合対応などでアンプを準備しなくても良いわけで、かなり助かりますね。 モーター数十台のシステムなんかだともう大変ですからね。
ということで、私のような一人親方には大変嬉しい機能だと思います。
本日、こんな田舎までKEYENCEの営業の人が来て、KVmotionのデモをしてくれました。
まあ簡単なこと。。 意外にに高機能だし。
全然知らなかったのだけれども、KEYENCEのサーボは安川のOEMとのこと。 安川のMECHATROLINK2と繋がることで、両者にメリットがあるのは知っていたけれども、OEM品ということは安川品質なわけで、ドライブシステムとしては安心ですわな。
それに、三菱のSFCのような記述「モーションフロー」もできるし、仮想軸機能・カム曲線・同期運転・トルクモード運転などもできる。 値段も少し安いし、テストモードも充実していて立ち上げも早そうだ。
今年は色々手を出す時間があるので、主要顧客以外に広げるために、この辺でもやってみようか、という気もする。
とりあえず、評価機器として見積もりをお願いした。
ずいぶん前に、三菱motion周辺ツール「MTworks2」を買っていたのですが、色々忙しくて使ってませんでした。
今ならキャンペーン中(pdf)で、(2009年3月31日まで)1万円ぽっきりで手に入ります。 ・・知っていたら待ったのに。。
編集アプリケーションが一本化
これまでは、motionOS(SW13、SW22、etc・・)毎にアプリケーションが別々だったのだけれど、ようやく一本化されてすっきりした。
使いやすい編集画面
1ペインでシステム設定・サーボ設定・SFCプログラム編集などが行えるし、左側のプロジェクトエクスプローラーでSFCやサーボプログラムなども同時に一覧できるので、編集がやりやすい。 SFC編集時にもSFC図の拡大/縮小が可能で、最近のアップデートでSFC図のシンボルが水色になって見やすく改善された。
複数のプロジェクトが開ける
周辺ツール自体、1つしか開けなった。 サブproject画面でもうひとつだけプログラム編集は開けたが、システム設定その他は1つだけだった。 今回ようやく複数のプロジェクトを開けるようになって、他プロジェクトとの比較やコピペが非常に楽になった。(もちろん、同じプロジェクトは2つ開けない)
1プロジェクトあたりのファイル数が大幅に減った
今まで、非常識ともいえるファイル数(5000/1プロジェクト、等)を扱っていたので、プロジェクトの開く/保存・閉じる時の待ち時間がばかにならなかった。 今回根本的に改善し、時間とパソコンのパワー浪費が抑えられた。
また、プロジェクトをサーバーに保管したり、USBメモリなどでコピーする際にも 結果として大幅に速度アップされた。
デジタルオシロがwindows仕様に
念願のwindows仕様のデジタルオシロが搭載された。 これまでいかに使いづらかったかを、改めて実感できる。 グラフ印刷もEXCEL変換せずにできる。
前のほうがよかったこと?
あくまで個人的な見解ですが、以下は前のほうがよかったかも?
- SFCのデータが、テキストでなくバイナリファイルになってしまったので、以前のようにテキストで中身を見たり、編集したりできなくなった。 (そんなことしていた人間は私くらいか。)
- デジタルオシロのグラフ印刷機能ができたお陰で、EXCELグラフ変換が無くなった(?)ようで、EXCELのグラフ作成は自分の手でしなければならない。(たいした手間ではないけど)
- 編集画面、なんだかわからないけれども、開いているだけでCPUパワーを相当消費している。。
こんな感じですが、自分的にはどんどんつかってみようと思います。
以上
VirtualBox仮想OSからUSB通信
明らかにメーカー推奨ではないアングラ情報ですので、自己責任でお試しということで。
PCの仮想化ソフトの中で、VirtualBoxを使って仮想OS内から三菱のUSB通信ドライバで通信が使えるかどうか、試してみました。 なんと、OKです!
- まず、ゲストOSをシャットダウン状態にします。
- ホストOSのVirtualBoxの設定で、USBデバイスを追加します。
- ゲストOSを起動し、そのUSBデバイスを指定して、USBケーブルをPLC(ないしはモーション)と接続します。
- ホストOS側で、VboxUSBドライバがインストールされます。
- ゲストOS側で、本来のUSBドライバを要求してきたらインストールします。
以上の手順で、三菱のシーケンサQ06HCPU、モーションQ173CPUに、ゲストOSからUSB接続できました。 これはすごい。
上の画像は、ゲストOSでモーション、ホストOSでシーケンサをモニタしてみたところです。
今まで、モーションは1つのUSB接続先しか選べませんでしたが、これならホストOSとゲストOSで別の接続が可能な気がします。 但し、USBハブはルートハブしか認識しないっぽいので、ノートPCでUSBポートが2つしか無かったりする場合は、少々厳しいですね。
VirtualVBoxの使用感
- 速度的には、MicrosoftのVirtualPC2007に比べて十分に速い。 特に共有ドライブ経由のアクセスがかなり速く安定した印象。 スクリーンショット中の、いつも仕事で使うmotionのツール。1プロジェクトでファイル数5000くらいを一気に開いたり保存したりするので、そのメリットを十分に受けられそう。
- サスペンド時間は同等で、レジュームがかなり速い。
- ゲストOS起動中にホストOSで感じる「重さ」も、VirtualPCよりは軽いように思う。
- ホストで接続したネットワークサーバーの共有ドライブが、 VirtualBoxの共有ドライブ設定で接続可能。 さすがに印刷まではできない。
- あと、VirtualPCでできた仮想ホストのデスクトップへのファイルの直接ドラッグ&ドロップが、できない。
win98は
試しに、windows98もVBoxに変換してみたが、これは全くだめ。 速度が遅すぎ。 何か不都合な原因があるのだろうが、win98はVirtualPCに戻した。
ライセンス
個人用途・教育・評価用途に限り無償。 法人用途では100ユーザー以上から販売するらしい。 一人で仕事に使う場合は、ずっとサポート無しで評価し続ければ問題ないのかな・・