世の中、シミュレーションが花盛りです。(Speakerの話題では、ないっす)
工場設備用シーケンサの世界でも、常識になってきています。 常識と思っていない、そこのアナタ、遅れていますよ。(笑) これからは、シミュらないと。
筆者は以前よりこれを使ってきていまして、1ユーザーとしてそれなりに意見を持ってメーカーに声を上げてきました。 ここらで少々紹介します。
1、三菱電機製Melsecシーケンサ用のプログラムを、PC上で廻してシミュレーションを行うことが、かなり手軽にできるようになっています。
GX-Simulator(三菱電機のサイト)
さて、上記サイトを見ると結構使い出があると思ってしまいますが、まーだまだ完成度はいまいちです。 何といっても、実CPUで常識な「RUN中書き込み」がこれで可能となったのは、昨年なんです。 それ以前は変更したら一旦STOP処理して、全部書き込んでからRUNさせる、という手順しかありませんでした(ってやってらんないよ!)。 晴れてようやくRUN中で可能となり、使える代物になりました。
動き物でない計算だけの検証は十分に使えます。 ただこれだけなら、実際のCPUがあればそれにソフトを入れて検証しても手間は同じですよね。
それから、筆者の環境ではモーションCPUへのDDRR/DDRW命令があるとエラーが出てRUNできない不具合が出ました(もう改善されているかも知れぬが)。
2、続いて上記にバンドルされている周辺ツールとして、IOシステム設定というのがあります。↓はその設定画面です。
信号やデバイスの条件を4つ(AND2つ、OR2つ)まで設定でき、一定時間経過をもって、信号をONさせたりデータに定数を格納したりできます。 このデバイス格納は、以前私も大いに要望していた機能ですから、少し進んだようです。 また、タイミングチャート形式での設定も可能で、そちらは自由度 が上がります。
しかし、この変数の格納に、どうしてデバイス指定できないのでしょう か。 難しい注文ではありません。 例えば [DMOV D1000 D1010] とか、[BMOV D1000 D1010 K20]とかと同じことができないと、モーションコントローラとの連携ソフトのシミュレーションには使えません。 できればインデックス修飾(間接指定) なども・・言い出すと限りなし。。 (といっても、どのみちモーションとは連携試験軸数も多いので大変ですけど)
結局、電磁弁+シリンダや、 モーターをモデル化した専用のシミュレータ周辺ツールを自分で作ってしまったほうが早い気がします。 GX-simulatorはMX- componentから通信が可能ですので、VB6やVB.netで作れます。 (ここでもマルチスレッドの問題が昨年の夏に解決したばかりですが。)
昔、 豊田スタジアム開 閉屋根システムの操作卓CPUのシミュレーションを行った時には、VB6からCCリンクボード経由でシーケンスCPUデバイスをモニタ/書き込みを行い、 パソコンに26台分の台車駆動インバータの役割をさせていましたが、規模が大きくなればそのような専用ツールの開発も意味が出てきます。
3、GOT(タッチパネル)をシミュレーションして、 GT-simulator2(三菱電機のサイト) という、上記GX-simulatorや実際のCPUとシリアル通信で連携して一環したデバグを行えるツールが(別売で)あります。 ただし、1台分し か接続できませんので複数台のシミュレーションは個別に行うことになります。 また、同様に「局番設定」などの機能は使えず、全てのデバイスは自局デバイ スに書き換わってシミュレーションされることになります。
まあ、ここまで書きましたが筆者は良く使っています。
何といっても既存設備の改造などで、試運転時間を圧縮するには必須のアイテムです。 日中は実機で試運転、夜間はホテルで改造・バグアウト(っていつ寝るん?) ・・最初から立ち上げるようなものでは、それほど重要とは思いませんが。
昨 日も朝から、GP-PRO画面をGOTに変換して1画面テスト用に追加し、改造ソフトを作って夜中の1時にシミューレションまで完了しました。 今回は自 分が試運転に立ち会えずお客様にお渡しするソフトなので、慎重を期すためにシミュりました。 GP-PRO画面をGOTに変換するGT- Converter2が取りこぼしが多く、実使用には耐えませんが部分テストなら何とか使えます。
今後もこの方面は積極的に活用してゆく所存ですので、三菱電機さま、どぞよろしくです。
いよいよ今週日曜日からの長期出張が近づいてきました。
長期出張の前にいつも気になるのが、商売道具であるノートPCのHDDドライブのクラッシュ対策です。 出張先でクラッシュしたら、その時点で仕事はクローズ。 お客様に迷惑をかけてしまいます。
以前は、NortonGhost (但し、もっと古いやつ)を使っていました。
これはWindowsのFATやNTFSだけでなく、LinuxのEXT2、EXT3などのパーティションもクローニングできるからです。 PC- DOS上でUSBやIEEE1394外付けHDDを認識してバックアップ/復元できます。 問題は、バックアップ時も作業を停止してPCをDOSモード で起動する必要があることでした。
今は、AcronisTrueImage
(但し、←ではなく、LEというエディション)を使っています。 特に、LEエディションは一部の外付けHDDにバンドルされて販売されているほか、
DOS/Vマガジンの2005年4月号に同梱されていました。(何と、980円で手に入ったんです。) バックアップ/復元の機能は問題なく使えます。
このソフトの利点は、windowsを作業中にバックアップを行える点です。 但し、復元はCD-Rに焼いたレスキューメディアからブートして、USB2.0外付けHDDを認識して復元します。
これらのHDD丸ごとバックアップを一旦外付けHDDに取り、新品HDDをノートPCにセットして復元すれば、HDDクローンの出来上がり。 そ してそのHDDをUSB2.0接続の2.5"外付けHDDケースに入れて出張すれば、普段のファイル単位のバックアップもそこに出来ますし、万一HDDク ラッシュに見舞われた時でもそれに入れ替えれば即座に立ち上がり、仕事に支障が生じません。
今回、新たに購入したHDDは、80GB、5400rpm、東芝の MK8032GAX
某ネットショップで、税・送料込みで 9,780円で購入しました。 TP-T42に対して十分に快適です。 ・・そして本日出張準備として、クローン作成を終えました。 ・・ パソコン本体が故障しては元も子もありませんが。(笑)
***
と、ここまで書いたところで、そういえばKNOPPIXと
いうフリーの1CD?LINUXには「Partition
Image」という無償ソフトが入っているということを思い出しました。 これを使えば、全て無償でできるわけですね。 但し、KNOPPIXは
LINUXですから、LINUXの操作知識が多少必要かもしれません。 逆に言えば、こんなことを糸口にしてLINUXを使い始める、というのも一つの機
会かも・・ 皆さん、どうですかぁ?
一週間ぶりの記事です。
出張前の記事 でも書きましたが、今回の出張は体力勝負で大変です。 足腰にはそこそこの自信はありますが(でも腰痛持ちだったりします)、 ブログやmixiなどの文化的な活動は、平日は疲れてやる気がまったく起こりません。
それでも進捗が良いので今日は休みになりました。 日中は買い物にでも行こうと思います。 次の休みは、いつかなぁ。
ところで、仕事場まではお客様の会社の自転車を借用して15分くらいです。 でも、壊れて夢糖花(←察して)で、雨の日の暗い道を傘をさして走るの は、とっても危ない。 場内では「不安全行動撲滅」といって安全活動が盛ん(というか常識)ですが、 この自転車のほうがよっぽど事故に遭う確率が高い気 がします。
会社役員は特別な申請なりをしないと労災に加入できないので、通勤中の事故も困るんですよね。 あー不安な毎日だ。
今回の出張は体力メインでして、段取り等で頭も使いますが、いつも事務室でやっていたようなソフト設計の業務はほとんど無いため、頭の使い方がかなり違います。 運動が好きな私には、これはこれで楽しいんですけどね。
歳のせいか(?)、しばらくソフトをやっていないと忘れるのが早くなった気がします。 このまま数ヶ月実務をしなかったら、きっと使い物にならないでしょう σ(^^)
注 : 「ボケ」とは違います。
てなわけで、次の仕事がソフト設計からできるならいいなあ・・ と独り言のような、誰かが見ていてくれたらな、との希望を込めて。(笑)
更に贅沢をいえばシーケンスラダーだけでなく、得意のモーションSFCの仕事がしたいっす。 VB.netでもいいなあ。。
仕事とオーディオカテゴリの両インデックスに係る話題は、お初かな。
前の会社に居たとき、10年前くらいまで盛んに言われていました。
「感じニアになるな、エンジニアになれ!!」 と。
→ つまり、「こんな感じで考えているんですけどー。」 「こんな感じで設計していただければ」 「そんな感じじゃうまくいかねえな。」 てな抽象的ことでは、マトモな物はできるわけないでしょ、 数値で示しなさい! ってことでした。 ・・ 確かにそのとおり。
でも、ここ数年は、特に私の中では完全に逆転しています。
「理屈をこねる前に、目の前にあることを目玉に焼き付けて、耳で音を聞いて、触って温度を感じてみなさい。 そこで感じたことを、理屈で説明できればそれが正解だ。」 ってことです。
オーディオ的にいうと、「このスピーカーはF特がこんなにフラットですごいねー。 でも音にスピード感が無くて曇ってるんだよね。」 「こんなにいい音なのに、F特は凸凹で高音は15KHz止まりってどーいうこと?」 など、例を挙げればキリがありません。
一言で言ってしまえば「現場主義」ってことになってしまうのかもしれませんが、改善の宝庫を目前にしても何も感じないようでは仕事にならない、とい うことです。 もちろん改善の種を見つけてもその先で実を結ぶための英知(Engineering)がなければ結果は出ませんが。。 これも当たり前の ことですね。
結論づけるとすれば、「現実」と「理論」の両方にいつも意識して深く接する努力が大事なんだな、と思います。
長期出張も、そろそろ終わりが見えてきた今日この頃。
お客様より、ほんの少し面白い課題を与えられつつあります。
久々に、(昨年の11月以来となりますか) MotionSFCを使わんとできないですなあ。。これは。 私の得意技です。
てなわけで、22?25日の帰郷の折には、
弊社の「必殺ハンドキャリー3軸シミュレーター」 (左図、汚くてすみません・・) を宅配 手配し(・・爆)、26日に現場に戻ってからは仮モーターをぐりぐり廻しーの、ソフト作成・事前シミュレーションで熟成しておきます。
そして設備停止の機会があれば、即入れ込み、切り替え!! いつものように一発成功! っという手順が待っています。
・・え? 失敗、は無いのかって? そんなことになったら、この業界で生きていけないっしょ。 必死でやるんです。 何があっても失敗は許されず。
そんなわけで、今日はまたお休みなんですが、寮で仕事半分。 気楽に音楽を聴きながら。
またまた、福岡のお客様よりご注文いただきまして、行って参ります。 サーボモーターを沢山使うお客様は、本当にありがたいです。 毎度ありがとうございます。
今回もMotion制御ですがSFCをほとんど使わず位置決めユニットを踏襲するような使い方ですので深い知恵は要りません。
でもサーボモーター台数がバカ多い(ここには書けませんが)ので、力技を少なくする基本設計が重要です。
その部分は終わっていてプログラミングに入っていますが、マルチCPUの共有メモリ領域が既に満杯です。(涙) シーケンスのSTEP回路も既設を参考に展開という、これまた力技が待っています。
そしていつものようにメカが遅れていて、そのしわ寄せは全て制御屋に来ます。(T_T) ・・これから月末まで、長くて暑い夜が続きそうです。 徹夜は避けたいですが、2時?3時はたびたびありそう・・ これから歳をとってゆくのに、こんな仕事ばっかりだと辛いなあ。 「メカ屋に戻ってみたい」なんて思ってしまいそう。。
こんなに暑いお盆に仕事の話題はどんなものかナ、と思いつつ、仕事しかしてないんだから仕方ないのでその話題です。
Motion制御で多軸(1CPUあたり32台)のプログラムをコーディングするのにも随分慣れてきました。(というよりとっくに飽きているんですが。笑)
そんな中で、自分で感じたことを(機密に触れない範囲で)少しでも記していければと考えています。始めはBLOGで書いていって、後でWEBにでもまとめてゆくつもりです。
まず今回は当たり障りの無い力技の効率化法から。。
シーケンサーのラダープログラムを書いていて、ある1ブロックが出来上がりました。 このブロックをコピーしてデバイス置き換えによって32軸分に展開する場面です。 あなたならどうしますか?
一番効率の良い方法は、
1→2→4→8→16→32
というように倍々でコピーしてゆく方法です。32=2の5乗ですから、5回コピーすれば出来上がります。
しかし、これには落とし穴があります。
デバイス番号の手書き打ち込みで置き換えを行う際に、間違える可能性が高いことです。
たとえば、下記のデバイスを置き換えるとしましょう。
No1 No2 No3
1軸目 M2001 M2401 M6001
2軸目 M2002 M2421 M6041
3軸目 M2003 M2441 M6081
:
32軸目 M2032 M3021 M7281
No1は+1ずつ足していって書き換えるのでわかりやすいですが、No2は20ずつ足してゆくことになります。 これが1ブロックで多数ある回路を展開するような場面で、上記の2条法により行う場合には、以下のような間違いが起きる可能性があります。
(コピーされたままの状態でデバイスを手動で振りなおすことを想定)
【コピー1回目】
・・まず間違えない
1軸目 M2001 M2401 M6001
↓ ↓
2軸目 M2002 M2421 M6041
【コピー2回目】
・・+1、+20、+40 が
+2、+40、+80に変わる
1軸目 M2001 M2401 M6001
↓ ↓ ↓
3軸目 M2003 M2441 M6081
2軸目 M2002 M2421 M6041
↓ ↓ ↓
4軸目 M2004 M2461 M6121
【コピー3回目】
・・+1、+20、+40 が
+4、+80、+160に変わる
1軸目 M2001 M2401 M6001
↓ ↓ ↓
5軸目 M2005 M2481 M6161
2軸目 M2002 M2421 M6041
↓ ↓ ↓
6軸目 M2006 M2501 M6201
3軸目 M2003 M2441 M6081
↓ ↓ ↓
7軸目 M2007 M2521 M6161
4軸目 M2004 M2461 M6121
↓ ↓ ↓
8軸目 M2008 M2541 M6281
赤印のところ、+160のはずが+80に間違えてしまいました。 悪いことに、この間違いは他の軸が間違えていないことと、プラスする数値が固定化されていないため次の【コピー4回目】の作業で発見される可能性も低く、見落とされがちです。
さて、結論から行きましょう。
このような場合は、私は以下の2つの方法のどちらかを採ります。
(1)1軸分ずつ順番にコピー?置き換えを繰り返す。
(2)デバイス一括置き換え機能を活用する。
(1)は間違える可能性もあるのですが、(この例では+1、+20、+40という)固定化された加算なので間違いにくいし、コピー作業中に間違いを発見できる可能性がかなり高いことから、私は小ブロックのコピーで採用しています。
【コピー1回目】
1軸目 M2001 M2401 M6001
↓ ↓
2軸目 M2002 M2421 M6041
【コピー2回目】
2軸目 M2002 M2421 M6041
↓ ↓
3軸目 M2003 M2441 M6101
【コピー3回目】
3軸目 M2003 M2441 M6101
↓ ↓
4軸目 M2004 M2461 M6141? ←大概はここで間違いに気づく可能性が高いし、ここで気づかなくても 次回以降にいつか気づく・・
(2)はコピー?置き換え?合体作業の一連の設定が面倒なので、大きなブロックのコピーで採用します。
今回はシーケンスラダーのデバイスなのでコメントを事前に入れておけば間違いに気づく可能性が高い例ですが、MotionSFCやPCのソフトなどではコメントは紐付けされておらず、自分で逐次書き込む必要があり、コメントも間違えると間違いはそのまま放置される危険性があり、そういう経験から得た愚直なる「逐次チェック」方式が、結果的に間違いの少なく立ち上げの早い仕事につながっていると思っています。
では、今日はこの辺で。
↑の投稿は、携帯電話からでした。
先ほど寮に到着しました。出張先の寮では、air-Edge x4倍(128Kbps)で繋ぎホーダイにしています。 月々9,765円です。この遅さでこの値段は・・(爆) でも電話回線を引くことも許されず、仕方なし。
少し助かったのは、MegaPlusという無償プロキシソフト経由で体感速度が結構上がることです。 VPNで自社に繋ぐ時は効かないんですけどね。 あと、SSL-FTPもMegaPlusを切断してから接続しないと、ダメでした。
メールやWEB閲覧は、速度アップしていそうで助かります。