5V系オープンコレクタ出力信号と24V系センサ入力信号をフォトカプラTLP523で絶縁して接続する
今日、お客様から電話で問い合わせがあった。
「5V系オープンコレクタ出力信号と24V系センサ入力信号を絶縁して接続したい」
以下の回路でいかがでしょう?
クリックすると拡大します。
5V系オープンコレクタ部の消費電力や、許容出力電流が小さい可能性があるので、変換効率の高いダーリントントランジスタ出力のフォトカプラTLP523を使いました。DIPパッケージ品ですので、手半田できます。
Link:
今日、お客様から電話で問い合わせがあった。
「5V系オープンコレクタ出力信号と24V系センサ入力信号を絶縁して接続したい」
以下の回路でいかがでしょう?
クリックすると拡大します。
5V系オープンコレクタ部の消費電力や、許容出力電流が小さい可能性があるので、変換効率の高いダーリントントランジスタ出力のフォトカプラTLP523を使いました。DIPパッケージ品ですので、手半田できます。
Link:
お客様の要望で、モーションコントローラに大型ガントリーのデュアル軸モーション制御を実装している。
ガントリーの個数、原点復帰の方法、位置補正の方法、いろいろなご要望があって、けっこう盛りだくさん。
「今は、良いけど、将来はこうしたい」という話もいっぱい。
当面やることがあるってかんじ。
今年は、不景気のせいで、難しい開発テーマが多くて、もう少し簡単な仕事を間に入れたい。
Link:
「モーションおやじ」とそのモーションな仲間たち「モーションばんく,モーションもんく,モーションおたく」が開発している新製品。
だいぶ完成度が高まってきたので、公開する気になりました。
応援していただいている皆さん、お待たせしました。日頃のご協力に感謝いたします。
三菱PLCとパナソニックRTEXサーボアンプ「MINAS A4N」をつなぐモーションコントローラ「InterMotion(インターモーション)」シリーズ。
■特徴
・三菱シーケンサEthernet付きCPU(Q03UDECPU等)に直接接続
MCプロトコルで、シーケンサCPUのDレジスタ参照
・お客様による内部制御プログラム開発不要(標準品)
三菱シーケンサ内ラダープログラム開発のみで、移動動作可能
・三菱シーケンサ位置決めユニットの置き換え用
Ethernet通信経由なので、遅い応答を許容できる装置向け
■標準品仕様(型式「JOY-AMXR-ST」)
・16軸独立制御PTP
・三菱シーケンサCPUのDレジスタ参照指令インターフェイス
・寸法 高さ160mmX幅25mmX奥行105mm(コネクタ、ねじの突出部含まず)
・電源 DC24V
■オプション
・16軸のうち、8軸をパルス出力とするドータカード
・標準品では、機能不足するお客様に内部制御プログラムをマルチタスクMOS言語で開発できるオプション(開発環境 「MOS Bench AM」が必要)
・補間制御、同期制御、ガントリ-等特殊機構対応
・ガントリーの主軸、従軸の各個別テーブルによる目標位置補正移動
・上位コントローラとして、Ethernet付Windowsパソコンを使用する場合、XP用DLLを提供
■コネクタ
・パナソニック社RTEXの送信出力「TXO」
・パナソニック社RTEXの受信入力「RXI」
・Ethernet 100baseTx「ET」
・開発用パソコン接続用「USB」
・IN4点、OUT4点「IO」
・DC24V電源「24V」
■リーフレット(予告なく、仕様を変更することがあります)
「intermotion_091103.pdf」をダウンロード
■今後の情報
詳細仕様、発売開始日、等は、この「モーションおやじ」のブログで随時、お知らせします。お楽しみにね!
Link:
プライムモーション社のみんなで手軽にWindowsリアルタイムIO制御環境「MOS Bench(モスベンチ)」には、「MOTIWARE Manager(モウティウェア マネジャー)」というIO制御ツールが付いている。
昨日に引き続き、今日も、その中の、軸制御にかかわる部分で、
モータ位置決め制御の手動運転ツールを紹介。
「MDI move」 : Manual Data Input Move。手動データ入力移動。
画面右中の「MDI move」ボタンを押すと、MDI Move画面が現れる。
その画面で「移動距離」、「移動速度」、「加速時間」、「減速時間」を設定して、「Start」ボタンを押すと移動する。
画面をクリックすると拡大されます。
Link:
プライムモーション社のみんなで手軽にWindowsリアルタイムIO制御環境「MOS Bench(モスベンチ)」には、「MOTIWARE Manager(モウティウェア マネジャー)」というIO制御ツールが付いている。
今日は、その中の、軸制御にかかわる部分で、
モータ位置決め制御の手動運転ツールを紹介。
まず、JOGとインチングがあります。
サーボオン後、JOGとインチングのどちらかを選んで、「+」または「-」を押せば、移動します。
ただし、JOGは、原点復帰完了後、操作可能になります。
「移動速度」、「加速時間」、「減速時間」、「インチングのステップ」を変更できます。
画面をクリックすると拡大されます。
Link:
プライムモーション社のみんなで手軽にWindowsリアルタイムIO制御環境「MOS Bench(モスベンチ)」には、「MOTIWARE Manager(モウティウェア マネジャー)」というIO制御ツールが付いている。
今日は、その中の、軸制御にかかわる部分で、
「基準原点復帰」 Standard Return Homeと称している機能。
これは、原点復帰をしながら、 原点センサとZ相の距離を計測して表示する便利なツール。
サーボオンした後、画面左下の「Std. return home」ボタンを押す。
原点復帰が終了すると、
Return Home Standard Pulseのポップアップウィンドウが現れ、そこに 原点センサとZ相の距離の計測値が表示される。
画面では、1871となっている。
クリックすると拡大されます。
この値を「設定ファイル編集」ソフトの画面から、以下のように設定する。
クリックすると拡大されます。
設定後の「原点復帰」は、この原点センサとZ相の距離を有効にした原点復帰になり、原点センサ位置のZ相位置に対するゆらぎの誤差を無視できるようになる。
Link:
昨日の続きで、スタンドアローンモーションコントローラ10bitDAの話。
0Vから5Vのフルスイング出力時のセトリングタイムを評価した。

5ms/divなので、セトリングタイムは、10ms Typ。DA出力して、その変化によって、何かを測定するときは、DA出力後10msから15ms待って、測定してほしい。
2チャンネル分、表示している。
評価に使ったプログラムはこちら、
■DAのノコギリ波出力波形はこちら、
http://robotcontroller.cocolog-nifty.com/blog/2009/09/10bitda2ch-0d6f.html
Link:
スタンドアローンコントローラに
「10bitでもよいから、DAをつけてほしい。」
というお客様がいて、
「0Vから5V固定ですよ!」と言ったら、
「それでも良い。」というので、2チャンネルつけた。
以下は、その出力波形。出力範囲は、0Vから5V固定。
以下は、そのMOS言語プログラム。DA出力は、ボルト[V]指定でよい。
お客さん、ちゃんと使ってくださいよ!
なお、本機能を使用するには、ドータカードが必要です。
Link:
「インタープリタ」
中間コードを翻訳しながら実行するので遅い、のは確か。
しかし、
IO制御するためにプログラマが勉強することが少なくて済むので、1日触っていれば、制御プログラムが動く。
簡単!
ハードやソフトの仕組みを詳しく知らなくても動く。
たとえば、
・モータがRobPtpMove(メカ番号、目標位置、動作モード);という命令でちょこちょこ動いて
・RS232C、RS485、がCommOutputString( ポート番号, 送信文字列);という命令で出力できて、
CommInput(ポート番号、受信データ、受信データ最大バイト数);という命令で受信できて
・INポートが、ReadPort(ポート番号);という命令でリードできて、
・OUTポートが、WritePort(ポート番号、出力論理);という命令で出力できて、
Windowsのツールで開発できて、
マルチタスクですぐ動いて
命令実行を停止したり、再開したりできて
自分の開発したそのプログラムが
(A)Windows上でリアルタイムに動いたら、うれしい?
GHzのCPUだから、かなり速いよ!
それとも
(B)パソコンではなくて、マイコンボードで動いたら、うれしい?
プライムモーション社では
(A)は、みんなで手軽にWindowsリアルタイムIO制御「MOS Bench(モスベンチ)」で製品化済み。
(B)は、今開発中。
興味があったら、
Link:
プライムモーション社の
手軽にWindowsリアルタイムIO制御環境「MOS Bench(モスベンチ)」のお客様に
「モスベンチの良いところは、どういうところですか?」
と聞いたら、
1、タクトが速くなる
2、メンバーみんなで使える
VC,VBが難しいと感じる人でもモスベンチは使いこなせる
C言語やJTAGエミュレータ、リアルタイムOSの環境を覚える必要がない
装置制御に必要な機能に絞り込まれているので、覚えることが少ない
ハードウェアアクセス部分やエラー処理がシステムでサポートされているので、簡単
3、タスクがマルチプロセスになっているので、独立性が高く、ローダやアンローダのプログラムが再利用できる
とのことです。
「モスベンチ」は、以下の自動化装置メーカに好適です。
一台ごとの仕様で自動化装置を受注していて、原価に占める制御プログラミング工数割合が高い会社。
Link:
昨日に引き続き、三菱PLC(シーケンサ)のMCプロトコルを使用して、機器を接続する話。
Windowsパソコンの中に仮想PLCを導入すれば、
MCプロトコルのタッチパネルとWindowsリアルタイム化コントローラを接続することも可能。
Visual Basic等で操作画面を作らなくても、とりあえず、MCプロトコルのタッチパネル付きディスプレイから動く。
売れるかどうかわからない装置で、きちんとした操作画面開発の予算がつかない場合には、こんな構成も可能。
■参考)三菱PLCとリアルタイム化したWindowsパソコンを接続する話
http://robotcontroller.cocolog-nifty.com/blog/2009/09/plcwindows-a6de.html
Link:
三菱PLC(シーケンサ)のDレジスタとWindowsパソコンのリアルタイムIO制御プログラムを接続する。
具体的には、三菱PLCのDレジスタとプライムモーション社のWindowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」で開発したMOS資源の「共有変数」をMCプロトコルで接続する。
このことにより、PLCのラダープログラムで、リアルタイム化Windowsのプログラムを制御できる。
たとえば、
リアルタイム化Windowsプログラムに、
・GHzクラスのCPUパワーが必要な処理
・データがたくさん生成される処理
・複雑な通信処理
を任せて、
シーケンサは、全体の管理をする
みたいなことが可能になる。
Link:
今、開発中の”小型”コントローラの話。
左側のmini-DINのコネクタが、非絶縁のRS232。基板が小さくて、DSUB-9pinコネクタが載りませんでした。
右側のRJ-45コネクタは、絶縁のRS485。
いずれもMOS言語で制御可能。
「MOS言語」は、プライムモーション社が提唱している機械装置制御用言語。C言語ライクのスクリプト言語。細かくレジスタを制御する必要はなく、簡単な記述で、モータ、DIO、AD、DA、RS232等が制御できる。
このコントローラでは、RS485の出力制御は、以下のように記述する。
CommOpen( 104, 9600, 8, 0, 1);
CommOutputString( 104, "123456789\n");
データを出力するまでにこの2行だけ。
104はポート番号。上の写真のRS485ポートを示す。
104を101に変えると、上の写真のRS232ポートになる。
ちなみに、WindowsでリアルタイムIO制御「MOS Bench(モスベンチ)」を使って、コンテック社のPCIのCOMカードを制御する場合も同じ記述になる。
MOS言語でリアルタイム制御可能なコンテック社のカードは、以下の3種類です。
COM-2(PCI)H RS232C-2ch
COM-4(PCI)H RS232C-4ch
COM-8(PCI)H RS232C-8ch
Link:
先週、奥飛騨温泉郷経由で北陸方面に、Windowsで手軽にリアルタイム制御「MOS Bench(モスベンチ)」の立ち会い実験で出張した。
言い古されているけれど、
「アイディアは、生のデータから生まれる」
目的を持って、データを収集して、「なぜ良くないのか」と分析すれば、そこに改善のヒントが埋もれている。
その点、
プライムモーション社のWindowsで手軽にリアルタイム制御「MOS Bench(モスベンチ)」は、データ収集が簡単。
・Printf文での画面出力、あるいは、ログファイルで、100ns分解能のタイムスタンプが得られるので、処理時間の分析が用意。
・1msサンプリングの動作波形表示ソフト「MOTIWARE Analyzer(モーティウェア・アナライザ)」で動作しているその瞬間の波形が見ることができる。
上から、モータ速度波形、DOUT波形、DA出力波形。
検収にお見えになったお客様も動作がよくわかる。
新しい技術開発要素が多い1号機の立ち上げには、便利。
2号機以降も使ってね!
Link:
今日は、「モーションおやじ」から、制御エンジニアに向けて、熱いエールです。
まず、とある自動化装置メーカの話から。
去年の秋から、2件しかテーマがない。
今年末には組織に関わる方向付けがでそう。
自動化設備の投資が減っていているので自動化装置メーカの淘汰は避けられない。
(中国、韓国では、すごい勢いで設備投資が復活していると聞くが)
すると、制御エンジニアも自分の身の振り方を考えなくてはならない。
「エンジニアにとっては、良いチャンスだ!」と心から思う。
こういうことでもないと、自分の経歴をどのようにしていくか、考える機会が持てない。その決めた方針に基づいて、自分の人生を刻々と選択していけば、未来は広がり、明るくなる。
会社に縛られるな!
「モーションおやじ」も自分のキャリアを考えるきっかけが若いころにあった。
それは、
ある年、昇給が決まって、4月から給料が数万円上がることになっていたのだが、会社側から「景気が悪くなって、大幅な赤字になるので、半年昇給を待ってくれ。昇進した人は、生活に余裕があるから、みんなのために我慢してくれ。」と突然言われた。
なるほど、「自分が懸命に努力しても、会社の都合で約束が反故され、それで済むことがあるのか」とわかった。
この事件が若いころで、よかった。
「モーションおやじ」は、さっそく、行動した。
・基本給だけで、生活ができて、十分な貯金ができるように、支出を大幅に見直した。
・自分の開発したい製品の要素技術を独学で勉強して、会社に開発企画を提案するようにした。自分で自分のエンジニアキャリアを設計し始めた。
会社に対して、精神的にも、経済的にも、自由になるには、どうするか?
エンジニアとして、売り手市場に立つためには、どうするか?
労働力として、売り急がないためには、どうするか?
まず考える時間を取る。
逃げないで考える。
何かを決めて、必ず、必ず、必ず、行動に移す。
天が、「いま行動しなさい!」と言っているのですよ。
ヒント
・まず、自分がどのような生き方をしたいか、考える。(死ぬ直前で、「精一杯生きることができなかった」と悔やむ自分を想像する。そのあと、では、何をして、死を迎えれば、納得できるのか、リストアップする。それに、優先順位を付ける)
・仕事、家族、お金、健康、地域、老後、それぞれについて、何か考えることがあると思う。
仕事に関して具体的に
・自分が技術的にワクワクする、自分の時間(休みの金曜日出勤とか)、お金(本代とか)を費やしても納得できることを掘り下げる、広げる。
・自部署がどうなると、会社経営陣として、望ましいか?会社の同僚、上司と議論してみる。
・自部署の製品、サービスが、なぜ売れていたか、技術的な部分の特徴を考えてみる。それをますます強くする、あるいは、側面から補完する技術は何か考える。
・「時間がないから」とか、「儲けに直結しないから」とか、保留になっていたテーマを洗い出す。
・隣の部署の製品、サービスに技術導入されているけれど、自部署では導入されていないことを考える。それを、自部署に導入したら、あるいは、自分が身につけて、他の会社で使えないか、考える。
・普段、「動けばいいや」と読み流しているコントローラやサーボアンプのマニュアルを詳しく読んでみる。面白そうな機能があったら、デモ機で確認してみる。
・同窓会に出て、先輩、後輩の状況、考えを聞いてみる。技術系の友達に会ってみる。恩師に会ってみる。
・強力だったユーザあるいはたくさん買っていた商社の営業マンに電話をして、状況を聞く。可能なら会ってみる。仕事以外で、一緒にご飯を食べながら、話ができればベスト。
・ハローワークに行って、あるいは、転職登録して、あるいは、ネットで転職市場の情報を得る。
・自動化装置業界から、地元で求人をしている他の業界の会社に行くためには、何が必要とされるのか。
・技術専門雑誌を買って、読んでみる。
・特許庁の電子図書館で、製品関連技術を検索して、参考になりそうな発明を詳しく読んでみる。
情報収集して、なりたい自分が決まったら、それに向けて、
・今年やる目標を書く。それを月単位の計画にほぐす。それを持ち歩く。
・毎週、月単位の計画、今年の目標を見て、今週やることを手帳に書く。
ここらへんのことは、自己啓発ビジネス書に書いてあるので、そちらを読んでください。
最後に
あなたの「能力の限界を決めているのは、自分の意識!」
あなたには、今、感じている何倍、何十倍の可能性があります。
自分に自信を持ってください。
Link:
三菱のシーケンサエンジニアリング環境「GXWorks2」を買いました。
昨日の話の続きで、三菱PLCと接続する仕事のためです。
キャンペーン中とはいえ、安く売りますねぇ!
Link:
とうとう、「モーションおやじ」も三菱のPLC(シーケンサ)を買ってしまいました。
読者のみなさん、「Windowsリアルタイム制御」はどうしたのか?とお思いでしょうが、大丈夫です。
お客様が三菱のPLCとどうしてもつないでほしいということで、やっています。
いろいろ広がっていきます。
Link:
今日は、開発中のモーションコントローラの写真(一部)。
左から
・RTEXの送信
・RTEXの受信
・Ethernet(10/100BaseT)
・USB
の各コネクタ。
RTEXは、パナソニック社の100Mbpsサーボアンプ指令ネットワーク。
こいつは手間がかかるので、いい子に育ってほしいですよ。
「モーションいい子」?
Link:
人に言えないことをしている。
お客様から開発費をもらって、開発の仕事をする場合、テーマによっては、守秘契約を交わす。
その過程、成果については、第三者には言えない。
ある年、「モーションおやじ」が開発協力したテーマが、経済産業省主催の「ものづくり日本大賞」に2本入った。
残念だけど、何も言えない。
でも、お金が入って、ノウハウ蓄積できたから、感謝してるよ。
「モーションおやじ」は、自社商品で勝負しないとね。
Link:
モーションコントローラの開発費は、どれくらいかと考えると
「上限はない!」
・どれだけ拡張を考えるか、
・機能をどれだけ追加するか、
・使いやすさをどれだけ追加するか、
・現有資産をどれだけ、再利用できるか、
によって、変わってくる。
機能を絞ってとりあえず出荷できるまでに、
超エースのスーパーエンジニアを3人集めて、
6ヵ月くらい?
必要とされる技術分野が広くて、深くて、形になることが奇跡に思える!
金額をつけられない!
毎日発生する問題を恐ろしいくらいの集中力と解析力で片付ける。
こだわりの芸術品。
読者のみなさん、わかってくれますぅ?
今日も明日以降に繰り越す問題がでました。
・途中で止まる
・別のPCに変えたら、動かない
ベテランの読者のみなさんは、わかっていると思いますが、実現に向けた強い意志がないと良い物はできません。
Link:
Panasonic(パナソニック)社MINAS-A4N(Realtime Expressインターフェイスサーボアンプ)
集めました。
貸与していただいた方、まことにありがとうございます。

Realtime Expressホストコントローラの検査をします。
■Realtime Expressホストコントローラの基板写真
http://robotcontroller.cocolog-nifty.com/blog/2009/08/real-time-expre.html
Link:
今日は、受注しているお客様のところへ
パナソニック(Panasonic)社Realtime Express(RTEX)のホストコントローラのデモに行ってきた。
原点復帰、PTP移動動作、等いちおう動いているのだが、これからやるべきことがいっぱいある。
「だいぶ遅れてますねぇ!」と厳しいお言葉。
「はい。がんばります。」と「モーションおやじ」
新規開発テーマをやっていると、予定外のことがでてきて、スケジュールが遅れ遅れになるのです。(ご存知のことと思いますが、、、)
「予定外に早く開発できた」ということがあればいいのですが、なかなかないですねぇ。
■Realtime Express(RTEX)のホストコントローラ基板の写真(部分)
http://robotcontroller.cocolog-nifty.com/blog/2009/08/real-time-expre.html
Link:
制御のノウハウを競争力にしたかったら、
小さな制御会社で力のあるところ(「モーションおやじ」とは言わないが)と組んで、ノウハウを形にするというのも悪くない。
「モーションおやじ」をうまく活用した会社は、すごい競争力を得て、超大ヒット商品を出した。
(もちろん、「モーションおやじ」が協力しても、ヒット商品にならないのも数多くあるよ)
Link:
昨日の続き。
Windowsをリアルタイムした環境で、モータにPTP移動指令を出した後、ソフトウェアで現在位置を監視して、所定の現在位置になったら、速度オーバライドを実行すると、以下の指令速度波形になる。
下のグラフは、4回重ね書きして、上のグラフの○印の部分を拡大している。
13回評価したが、ジッタは、レンジで1ms。
ユーザのリアルタイムアプリは、リアルタイムインタープリタ上で、2本実行している。
当然、リアルタイム側の処理負荷によって変わりますが、参考データとしてみてください。
このデータは、
プライムモーション社のWindowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」の同梱ユーティリティ「MOTIWARE Analyzer(モウティウェア アナライザ)」を使用しました。
このツールは、ソフトウェアリアルタイム1msサンプリングで、モーションコントローラの位置指令を簡単にロギングできます。(分解能が1msなので、上のグラフで、1msのジッタになっています。)
新卒社員が、データを取得して、上のグラフを作ってくれました。どんどんお願いしています。
Link:
今日は、モーション制御。
PTP移動命令を発行しておいて、現在位置を監視しながら、ある現在位置になったら、低速の速度に変更する話。
速度波形としては、下図になる。
図の紫色の線のタイミングで、次の速度1000[pulse/ms]になるように、速度変更命令(速度オーバライド)を発行している。
移動していて変化している現在位置を監視しながら、所定の現在位置になったら、速度変更命令を発行する。
この現在位置監視、速度変更命令をソフトウェア処理で行ったら、上図の紫色の線は、どれくらいジッタになるだろうか?
今日は、課題提示で、実験結果は改めて。
Link:
お客さんの要望は、
「モータを動かしながら、モータ位置とともに、その動作によって変化する4chアナログデータを16bit分解能、10msサンプリングで4秒間ロギングしたい。」
公表したくないけど、「楽勝!」
手動での試作実験レベルなら、ソフト開発不要。
プライムモーション社のWindowsで手軽にリアルタイムIO制御「MOS Bench(ベンチ)」の標準ツールで実験できる。
自動化機能をつけて、いろいろなオペレータに使っていただくようにするならば、それなりのソフト開発工数が必要です。
Link:
先日、訪問したお客様の話。
機械装置コントローラとしてパソコン+VxWorksを採用している。
VxWorksの開発環境の値段が高く、プログラミングスキルの高い人向けなので、実は、社内でVxWorks上で動作する簡易言語のインタープリタを開発して、使っている。
記述能力や開発ツールが不足しており、不満がでている。
考えることはおなじですね。
Windowsで手軽にリアルタイムIO制御「MOS Bench(モスベンチ)」と同じ。
それを売り物としてやるか、仕事環境作りの一部としてやるか。
Windows上でやるか、VxWorks上でやるか。
Link:
今日、顧客リストにあった潜在的なお客様に電話をしたら、
「モーションおやじさんですか?わざわざお電話ありがとうございます。」
といきなり言われた。
少し名前が売れてきた!?
「ブログを見ていて、モーションおやじさんにモーションコントローラをOEM委託しようかという話を会社で提案した。」
「いろいろな理由でボツになったけれど、今後ともよろしくお願いします。」
ということでした。
そういう話がでて、検討していただけるだけでもうれしいです。
OEM、ウェルカムですよ!
Link:
たくさんモーションカードを購入してくださるというお客様の要望で、G言語(Gコード)を使った移動動作の開発を始めた。
基本的なコードは動き始めた。
もう少し時間をかける必要があるが、今日は最新情報アナウンス。
下図の角がR(アール)になった四角形をなぞって移動する。
G言語のプログラムは以下になる。
G91
G00 X-10 Y-25
G01 X20 F800
G03 X15 Y15 R15
G01 Y20
G03 X-15 Y15 R15
G01 X-20
G03 X-15 Y-15 R15
G01 Y-20
G03 X15 Y-15 R15
G91は、相対座標移動(インクリメンタル移動)を示す。
G01は、直線補間移動を示す。
G03は、CCWの円弧補間移動を示す。
例によって、Windowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」の中の「MotiwareAnalyzer(モウティウェアアナライザ)」で動作波形を観測する。
縦軸は速度。横軸は時間[s]。
まだ、バグがある。もう少し時間をください。
G言語は、プログラミングしなくてよい。
機械図面を電子データとして作成して、CAMツールというソフトウェアを通すと、G言語プログラムが生成される。
■参考
移動命令のたびに加減速がある直線補間、円弧補間
http://robotcontroller.cocolog-nifty.com/blog/2009/08/doutdout3-9ba1.html
この記事の波形と上の波形を比較してください。
Link:
昨日の続きで、
移動命令の途中でOUTポートON、別の移動命令の途中でOUTポートOFFしたい。
緑の●でポートONして、緑の■でポートOFFする。
昨日記事のプログラムによる動作波形。縦軸速度。横軸時間[s]。
一番上は、X軸の指令とフィードバック。
まん中は、Y軸の指令とフィードバック。
一番下は、出力ポート。
最初の移動途中10%で、ポートON。最後の移動途中90%でポートOFFしている。
モータはメカトロリンクIII。
位置とポートON/OFF制御の時間分解能は1ms。
例によって、Windowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」付属の1msサンプリング120秒ロギングツール「Motiware Analyzer(モウティウェア アナライザ)」を使って、動作波形取得しています。
上記の動作波形取得は、新卒社員が行いました。
■お客様のご希望があれば、
(1)補間命令間の加減速時間はゼロにして、
移動途中で、ポートON。別の移動途中でポートOFFも可能。
(2)円弧部分のシーリングが太らないように
円弧補間時は、直線補間時速度から
減速して、定速になって、加速して
直線補間速度に戻ることも可能。
Link:
昨日の続きで、
移動命令の途中でOUTポートON、別の移動命令の途中でOUTポートOFFしたい。

緑の●でポートONして、緑の■でポートOFFする。
Windowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」のリアルタイム制御言語(MOS言語)では、以下のように書く。さわりの部分。座標の代入は、省略している。
WritePort(5122,0); //ポートOFF
RobSetMoveProgressDo(1,1,10,5122,1); //移動の10%でポートON
// 移動進捗度でポートON/OFFする命令
RobLinearMove(1,pos2,3); // 1の部分の直線補間
RobArcMove(1,pos3,pos4,3); // 2の部分の円弧補間
RobLinearMove(1,pos5,3); // 3の部分の直線補間
RobArcMove(1,pos6,pos7,3); // 4の部分の円弧補間
RobLinearMove(1,pos8,3); // 5の部分の直線補間
RobArcMove(1,pos9,pos10,3); // 6の部分の円弧補間
RobLinearMove(1,pos11,3); // 7の部分の直線補間
RobResetMoveProgressDo(1,1);
// 移動進捗度でポートON/OFFする命令をリセット
RobSetMoveProgressDo(1,2,90,5122,0);//移動の90%でポートOFF
// 移動進捗度でポートON/OFFする命令
RobArcMove(1,pos12,pos1,3); // 8の部分の円弧補間
RobResetMoveProgressDo(1,2);
// 移動進捗度でポートON/OFFする命令をリセット
5122番のポートを使用している。これは、フラグとして使える仮想ポートである。実際には物理的に存在しているポート番号を使う必要がある。
これは、新卒社員が書いたコードです。
Link:
今日のお題は、
移動命令の途中でOUTポートON、別の移動命令の途中でOUTポートOFFする。
図のように、10cmの正方形を考えて、その4隅を半径3cmで回る軌跡を考える。
1からスタート。直線補間。2は、1/4円弧の円弧補間。3,4,5,6,7と続いて、最後の8は1/4円弧の円弧補間。
1の直線補間移動の移動距離の10%経過でOUTポートをON。
途中の3,4,5,6,7の補間移動は、OUTポートONしたままで、
最後の8の円弧補間の移動距離の90%経過でOUTポートをOFF。
これをやってみよう。
本日は、課題提示で終わり。
プログラムは明日。
Link:
MechatrolinkⅢ(メカトロリンクスリー)と∑-V(シグマ5)の応答性比較をしてみました。
モーションコントローラは、Windowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」を使っています。
MechatrolinkⅢと∑-Vパルス列に同期した、同じ移動速度、加速時間、減速時間、位置目標値の移動指令を与えます。
なお、∑-Vパルス列サーボパックでは、位置フィードバック用のA,B相出力信号の周波数上限があるので、サーボパック内のパラメータ設定で、1/16のA,B相出力にしています。また、指令側サーボパック内の電子ギヤで16倍に増速しています。
MechatrolinkⅢと∑-Vパルス列に対して、モーションコントローラ側の位置指令コマンドは同期しているので同じタイミングで同じ指令が出力されます。
MechatrolinkⅢと∑-Vパルスともに、1ms毎位置指令を作成しています。MechatrolinkⅢの通信周期は1ms。
しかし、フィードバック波形は、MechatrolinkⅢと∑-Vパルス列で異なります。
以下のグラフを見てください。縦軸は速度、横軸は時間[ms]です。
同じ指令に対して、メカトロリンクⅢ(上図では「MLⅢ」)が、∑Vパルスに対して5ms遅れます。
ただし、上のMLⅢ波形は通信によるフィードバックデータなので、実際のモータの動きより、さらに遅れています。モーションコントローラが認識する現在位置という観点で、上の波形を比較してください。
なお、サーボパックの中のゲイン関係パラメータPn1**は、アドバンスドオートチューニングをしたメカトロリンクⅢサーボパックの値を∑-Vパルスにコピーして、同じにしています。
このデータは、Windowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」で取得しました。
最大8軸の指令コマンド、フィードバックカウンタ(合計16ch)を同時に1msサンプリングで120秒間ロギングできます。
取得データのパラメータを変えると、
最大8軸の指令パルスカウンタ、フィードバックカウンタ(合計16ch)を同時に1msサンプリングで120秒間ロギングできます。
評価が楽です。
このデータは、新入社員がサーボパックのマニュアルと悪戦苦闘しながら、取りました。
知識ゼロから、このデータを取るまでには、結構時間がかかります。
サーボって、本当に難しいですね!
Link:
今日は、他社の宣伝!
読者のみなさんには、有用な情報になるかも。
とある会社を訪問したら、
「サーボの省配線をしたい。しかし、省配線サーボは高い。よって、考えたのは、日本パルスモータのMotionnet」
そのお客様では、パルス列サーボに加えて、日本パルスモーター社のMotionConnectorを購入しても、省配線サーボより安いとのこと。
省配線サーボ > パルス列サーボ+日本パルスモーター社のMotionConnector
日本パルスモーター社のMotionConnectorについては、同社のMotionnetシリーズのローカル・ボード(モーション)をみてください。型式:MNET-M341-S23等がMotionConnectorになります。
そんなに高速性が要求されない装置には、こういう考え方あります。
会社規模が小さくて、サーボの購入台数が少ないと、省配線サーボは高いのでしょうね。
Link:
昨日は、パナソニック社のRealtime Express(リアルタイムエキスプレス)のことを書いたので、今日は、MechatrolinkⅢ(メカトロリンクスリー)のことを書きます。
「モーションおやじ」は、MechatrolinkIII(メカトロリンクスリー)も評価しています。
こちらは、MechatrolinkIIIの評価ボードがあるので、すぐにモータ回りました。いろいろな課題は残っていますが、、、
安川モータユーザで応援いただいているお客様、Mechatrolink協会の方、いろいろご援助をいただいて、とても感謝しております。
これからも、ご支援よろしくお願いいたします。
ひとこと、
・パナソニックモータユーザで応援いただいているお客様
・パナソニックモータ社の担当の方
・パナソニック社の代理店の方
・パルス列位置指令入力専門のユーザの方
「モーションおやじ」は、コントローラで世の中に解決策を提供しておりますので、いろいろなお客様がおります。テーマが多岐にわたることをご理解願います。
■パナソニック社Realtime Express(リアルタイムエキスプレス)の最初のテーマ
http://robotcontroller.cocolog-nifty.com/blog/2009/08/real-time-expre.html
Link:
お客様には、たいへんお待たせしております。
新シリーズのモーションコントローラにて、パナソニック社Realtime Express(RTEX)のネットワークサーボが動き始めました。
モータも回っています。
開発テーマをいただいているお客様、サンプル日程は、(2回目の?)計画通りで進めております。
応援いただいているお客様、パナソニックモータ社の担当の方、パナソニック社の代理店の方、いろいろご援助をいただいて、とても感謝しております。
これからも、ご支援よろしくお願いいたします。
Link:
先日、訪問したお客様の話。
30軸みたいな大きなシステムをつくる場合、サーボモータとサーボアンプの原価が支配的。
三菱電機のサーボモータとサーボアンプの30セット
と
安川電機のサーボモータとサーボアンプの30セット
の見積り比較をすると、数十万円の差がでる。
これで、コントローラのコストが浮いてしまう。
サーボモータとサーボアンプを売るために、コントローラもついでに値付けしているかんじ。
う~む。
サーボのコストダウン合戦のなかで、コントローラ専業メーカは、はじき出されてしまう。
この場では、コントローラの値段には意味がない。
ましてや、100Mbps高速サーボネットワークの通信方式は、以下のどれがよいか?
・MECHATROLINKIII(メカトロリンクスリー)
・SSC-NETⅢ(これは50Mbps)
・Realtime Express(リアルタイムエキスプレス。RTEX)
・EtherCAT(イーサキャット)
などという話は、まったく関係ない。
お客さんからみたメリットとして、差が出てこない。
中小企業は、低コストを追っかけても、無駄。
「モーションおやじ」は、引き続き、大量生産の普通のコントローラができないことに注力していきます。
Link:
先日、WindowsリアルタイムIO制御「MOS Bench(モスベンチ)」を今年になって、導入されたお客様から、
「自動化装置を立ち上げていて、いろいろ課題があるから、来てほしい」
との要望があって、立会いにいった。
大きな課題は、
「原点復帰の繰り返し位置精度を画像認識のピクセルレベルで確認するとずれがある」という問題。
とあるメーカのモータ軸は、「MOS Bench」の設定ファイル「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」の以下のパラメータ
・MotorTurnPulse
・ReturnHomeStandardPulse
を仕様どおりに設定したら、再現精度が1ピクセル以内に納まった。
しかし、他のメーカのリニアモータ軸は、メーカ仕様を上回る3ピクセルの原点復帰誤差が残った。
それで、リニアモータのサーボアンプのエンコーダ出力を横取りして、外部に独立したA相、B相カウンタを付けた。原点でゼロクリアをかけて、カウンタでの再現性を確認したが、問題ない。
なぜだろうね?
リニアモータのエンコーダのA、B相繰り返し精度、Z相繰り返し精度を問合わせしていただくことにした。
「わざわざ来てもらったから、昼飯をおごる」とおっしゃるので、ちょうだいした。
「モーションおやじ」を1日占有して、安いコンサルタント代だ。
「もう1台受注したから、モーションカード発注するよ!」と言われたので、文句は言えまい。
Link:
プライムモーション社のWindowsで手軽にリアルタイムIO制御「MOS Bench(モスベンチ)」では、システムがバッググランドで、1ms毎にサーボアンプ出力のA相、B相フィードバックカウンタと位置指令を監視している。
つまり、1ms毎サーボモータの位置偏差を監視している。
そのため、サーボドライバの位置決め完了信号「INPOS」、「COIN」をモーションコントロールカード「JOY-RT8CR」に入力しなくてよい。
PTP移動命令を発行するたびに、RobSetSettleという位置決め完了幅設定命令で、位置決め完了幅を変更すつことも可能である。
たとえば、ツールのクリーニング位置にもどるときは、粗い位置決め完了幅、ツールで加工するときは、精度のよい位置決め完了幅で、位置決めすることができる。
クリーニング頻度が高い軸は、この動的に位置決め完了幅設定する機能で、タクトの向上に貢献する。
Link:
プライムモーション社のWindowsで手軽にリアルタイムIO制御「MOS Bench(モスベンチ)」に含まれているモーションコントローラの話。
減速器出力軸に高分解能ロータリーエンコーダを付けて、現在位置を監視する場合、
以下のシステム構成が可能となる。
システム構成詳細
・エンコーダは20bitエンコーダ
・位置制御は、20bit分解能で行う
・回転数を上げるために電子ギヤは「16/1」とし、モータ1回転あたり65536パルスとする
・減速器は50:1
・したがって、減速器出力は、65536*50=3,276,800パルスの位置指令パルスで1回転する
・外部エンコーダとして450,000[パルス/回転]を付ける
・この出力を4てい倍カウントすると、1,800,000[カウント/回転]
・これを1/0.549316倍すると1,800,000/0.549316=3,276,802となり、指令パルスと突き合わせで位置偏差監視が可能となる。
この0.549316の値は、以下のようにパラメータ設定ファイル「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」のEncoderPulseScaleというパラメータに設定する。
また、前述のブロック図のHW出力パルス(ハードウェア出力パルス)、フィードバックパルスは、動作波形観測ツール「MOTIWARE Analyzer(モウティウェアアナライザ)」で1msサンプリングの波形表示、csvファイル保存ができる。
位置偏差異常が発生する場合は、このcsvファイルを確認してほしい。

上記画面のように項目設定すると、csvファイルは、以下のようになる。
G列が、HW出力パルス
H列が、フィードバックパルス
を示している。
なお、フルクローズド制御は、できない。お客様のアプリケーションで、現在位置を読みとって、誤差分をPTP移動命令で位置補正してほしい。
Link:
今日はロータリーエンコーダ、および、リニアスケールの基本。
エンコーダ1パルスは、エンコーダ分解能の4倍。
1回転で1000パルス出力するエンコーダは、
1回転を4000分割する分解能がある。
■例
分解能20ビットのロータリーエンコーダを使用すると、1回転で
2^20=1,048,576カウント
可能。これは、1回転で
1,049,576/4=262,144[pulse]
のA相、B相の各パルスを出力する。
つまり、18ビットのパルス数出力のエンコーダである。
これを
262,144[pulse/rotation] = 262,144[PPR]
と言ったり
262,144[counts/turn] = 262,144[C/T]
と呼んだりする。
■注意
分解能を1パルス(1周期)と定義する会社もある。
■参考
プライムモーション社のモーションコントローラのフィードバック用A相,B相カウンタでは、いつも、上図の「分解能」でアップダウンカウントしている。
■参考記事: サーボアンプ「電子ギヤ」と「エンコーダ分周」
http://robotcontroller.cocolog-nifty.com/blog/2009/06/post-e125.html
Link:
プライムモーション社Windowsで手軽にリアルタイムIO制御「MOS Bench(モスベンチ)」を使用した高速ステージ制御(動画)
1、2本のタスク
・Windowsリアルタイム化ステージ制御
・通常のWindowsによるステージ制御
2、タスクの実行行表示
3、1msサンプリング動作波形表示
4、CPU負荷率ほぼ100%
動画はこちら:
http://www.primemotion.com/069.php
新卒入社3ヶ月目の社員が作りました。
Link:
プライムモーション社のWindowsで手軽にリアルタイムIO制御環境「MOS Bench(モスベンチ)」にて、「位置偏差エラー」が発生する場合、サーボアンプの中のパラメータ設定が間違っている可能性が高い。
「位置偏差エラー」は、
MOTIWARE ManagerのRobot Info.タブ画面のRobot error
Status2 = 0000 0008
となります。
モーションコントローラとサーボアンプの入出力部のブロック図を以下に示す。
なお、以下を前提としている。
・20bitエンコーダ搭載のモータを回す
・MOTIWAREConfig.Iniという設定ファイルのなかで、EncoderPulseScale=1
サーボアンプの中では、20ビットすなわち、1,048,576[カウント/回転]の分解能で制御している。
しかし、サーボアンプの入出力パルスの分解能は、
・電子ギヤ比
・エンコーダ分周パルス数
で変更できる。
この2つのパラメータを調整して、上図モーションコントローラ内「位置偏差監視」ブロックへの
・指令パルス入力の分解能
・A相/B相入力の分解能
の2つが一致するようにしなければならない。
■参考1
電子ギヤ比が16/1と小さいので、3000rpm=50rps時に
65536[pulse/回転] *50[rps] = 3,276,800[Hz]
と高い周波数になる。最高回転数でサーボアンプの許容入力周波数を満足しているか、確認が必要である。
同様に、サーボアンプからのA相、B相出力周波数も高くなるので、同様な確認が必要である。
■参考2
モーションコントローラ内の「位置偏差エラー」には、上図のモーションコントローラ内の「スケール」(MOTIWAREConfig.Iniという設定ファイルのScaleに対応)は、関係ない。
Link:
短い円弧の3軸円弧補間動作を行ってみる。
現行のプライムモーション社の3軸円弧補間動作は、1軸目と2軸目が円弧補間し、3軸目は、1軸目、2軸目と加速時間、減速時間を一致させて、その間、一定速度で移動する。
180度の円弧補間のときと同じZ軸の移動量で、
1/8の22.5度の円弧補間をしてみる。
すなわち、Z軸は、ほぼ8倍の移動速度で動く。
■実験: 180度の円弧補間
180度の円弧補間では、以下の動作波形。
■実験: 22.5度の円弧補間

これが、22.5度になると以下の波形になる。
3軸目の移動速度が、グンと速くなる。
以下は、時間軸の拡大波形。
モーションコントローラは、円弧補間の加速時間、減速時間、補間速度に合わせて、3軸目の移動速度を計算する。
したがって、3軸目の移動量が同じままで、円弧補間の移動量を小さくすると、移動時間が短くなるので、3軸目の移動速度が速くなる。
今のバージョンでは、最大出力周波数リミッタエラー機能はないので、円弧補間の速度を下げて、使ってください。
この実験のMOS言語ソースプログラム:
「Oyaji_ArcMove22.mos.c」をダウンロード
Link:
昨日に引き続いて、モーションの話。
プライムモーション社のWindowsリアルタイム制御環境「MOS Bench(モスベンチ)」を用いて、4軸円弧補間動作をしてみる。
i位置1 : x=10, y=0, z=0, a=0
位置2 : x=0, y=10, z=10, a=5 経由位置
位置3 : x=-10, y=0, z=20, a=10
以上を往復している。x,yは、180度の円弧になる。
加速時間、減速時間は、50ms指定。
動作波形は、以下になる。
例によって、リアルタイム1msサンプリングのMOTIWARE Analyzerの波形。
・黄色の波形 : MOS Benchに内蔵しているモーションコントローラシステム(MCS)の位置指令の差分「指令速度」
・緑色の波形 : サーボアンプ出力のA相、B相フィードバックカウンタの差分「実速度」
3軸目は、1軸目、2軸目と加速時間、減速時間を一致させて、その間、一定速度で移動する。
4軸目も3軸目と同様。
MOS言語の4軸円弧補間動作プログラムソースはこちら:
「Oyaji_ArcMove180_4ax.mos.c」をダウンロード
ちなみに、原点復帰速度、サーボアラーム監視、リミットスイッチ監視、ソフトウェアによる動作制限範囲、等の本質的な移動と関係ないことは、MOS言語でプログラムする必要はありません。
パラメータ設定しておけば、Windowsリアルタイム制御環境「MOS Bench(モスベンチ)」のシステムが勝手に実行しています。
Link:
今日は、久々にモーションの話。
プライムモーション社のWindowsリアルタイム制御環境「MOS Bench(モスベンチ)」を用いて、円弧補間動作をしてみる。
i位置1 : x=10, y=0, z=0
位置2 : x=0, y=10, z=10 経由位置
位置3 : x=-10, y=0, z=20
以上を往復している。x,yは、180度の円弧になる。
加速時間、減速時間は、50ms指定。
動作波形は、以下になる。
例によって、リアルタイム1msサンプリングのMOTIWARE Analyzerの波形。
・黄色の波形 : MOS Benchに内蔵しているモーションコントローラシステム(MCS)の位置指令の差分「指令速度」
・緑色の波形 : サーボアンプ出力のA相、B相フィードバックカウンタの差分「実速度」
3軸目は、1軸目、2軸目と加速時間、減速時間を一致させて、その間、一定速度で移動する。
3次元の円弧補間ではない。
ご要望があれば、対応します。
MOS言語の3軸補間動作プログラムソースはこちら:
「Oyaji_ArcMove180.mos.c」をダウンロード
ちなみに、原点復帰速度、サーボアラーム監視、リミットスイッチ監視、ソフトウェアによる動作制限範囲、等の本質的な移動と関係ないことは、MOS言語でプログラムする必要はありません。
パラメータ設定しておけば、Windowsリアルタイム制御環境「MOS Bench(モスベンチ)」のシステムが気がつかないうちに実行しています。
Link:
ネガティブフィードバック制御(負帰還制御)の基本は、以下のようにループを作って、制御偏差をゼロに近づけること。

主フィードバック量を何にするか、つまり、目標値を何と比較するかによって目標値の意味が変わってくる。
目標値を何と突き合わせるの?
制御部は、制御偏差をゼロにするように動作するので、
目標値=主フィートバック量
になるように全体が動作している。
これが「制御」!
今、回転数1rpmでモータが回っているとして、
このとき、主フィートバック量、すなわち、変換部の出力が1になるように変換部が構成されているならば、上式より
目標値=主フィートバック量=1[rpm]
でモータが回転しているので、目標値1は、1rpm指令を意味する。

次に、
この変換部の出力を60倍して、1rpm時に60を出力するように変更した場合のことを考える。60倍したことも含めて、「変換部」とする。

今、回転数1rpmでモータが回っているとして、
このとき、主フィートバック量、すなわち、変換部の出力が60になるように変換部が構成されているので、上式より
目標値=主フィートバック量=60(数字データ)=1[rpm]
で、モータが回転していることになる。
つまり、目標値60は、1rpm指令を意味する。
目標値1は、1/60rpm=1rpsを示す。
まとめると、変換部を60倍にしたら、
目標値1の意味が1/60になった。
一般的に言うと、
変換部をG倍にすると、目標値の意味が1/Gになる。
変換部に掛け算を入れるか入れないかで、目標値の意味が[rpm]になったり、[rps]になったりする。
自分が目標値を出して、監督しているつもりが、実は、変換部に左右されている。「制御のおもしろいところ!」なのだ。
主導権を握っているつもりなのに、知らないうちに嫁さん(彼女)の都合に合わせている人が、制御屋さん?
Link:
いま開発しているテーマで、ちょっとアイディアがあって、あるモータをつかった実験をしたくなった。
そういう場合は、長野県岡谷市のオリジナルマインドさんから、中古のモータを買う。安くて、早い。
コンテック社でさっそく記事ができて、「プライムモーション社」へホームページのリンクが張られました。
コンテックさん、ありがとうございます。
コンテック社のトップメニューの「製品・ソリューション」をクリック、さらにサイドメニューの「他社関連製品・ソリューション紹介」をクリックします。
http://www.contec.co.jp/link/index.html
INtimeの下にWindows簡単リアルタイムIO制御環境の「MOS Bench(モスベンチ)」があります。
Link:
制御プログラマーで声の大きい人は少ない。(自分の意見を強く主張して、自分の思う方向へ人を動かそうという人は少ない)
新規開拓で回ってみるとそう感じる。
普通は、製品単価決定権を握って部品を選定する機械エンジニア、電気エンジニアの声が大きい。プログラミングコストは装置の量産単価にあまり関係ないと軽視されている。
しかし、プライムモーション社の顧客には、声の大きい制御プログラマーが居る。
自分の仕事環境を良くしたいと制御プログラマーが主張して、高速高性能装置向きのポテンシャルの高いWindowsリアルタイムIO制御環境「MOS Bench(モスベンチ)」を導入する。
Link:
また、今日も「新しいコントローラを開発してほしい」という新規のお客様と打ち合わせをした。
「予算にあう見積りとその仕様をもらえば、すぐ、発注する。大至急、試作して、3ヵ月後に小型サンプル機を作って、販促に回りたい。」とのこと。
最近は、「競争力ある新製品を作りたいので協力してほしい」という話ばかりだ。
お客様は、どんどん沈んでいくという危機感のなかから、社運をかけるに値する起死回生の新製品を渇望している。
前の記事でプライムモーション社の光ネットワークシステムを紹介した。
このとき、光通信の送受信回路を設計するために、IBMの文献を長野県駒ヶ根から東京工業大学の大岡山キャンパスの図書館までコピーを取りに行って、それを読み込んで、8B10Bエンコーダ、8B10Bデコーダを自社開発設計した。
普通は、FPGAメーカ等からIPとして販売されているしろもの。
当時は、えらく気合いが入っていたねぇ!お金がなかっただけ?
IBM J. Res Develop. Vol.27 No.5 September 1983 pp.440-451.
Link:
| 固定リンク | コメント (0) | トラックバック (0)
最近、
・パナソニックのRTEX(RealTime EXpress、リアルタイムエキスプレス)
・安川のMechatrolink-Ⅲ(メカトロリンク-スリー)
・EtherCAT(イーサキャット)
等の、高速ネットワークサーボが話題になっている。
しかし、すべてネットワークサーボで済むユーザもいるし、ステップモータを使いたいから、あるいは、特殊なモータを使いたいから、パルス列のインターフェイスが残るというユーザもいる。
パルス列を使いたい場合、
A,ネットワークにつながるパルス列位置指令発生ユニットをつける
B,ネットワークの指令カードの他に、パルス列発生ユニット(カード)を別に用意する
C,ネットワークの指令とパルス列指令の両方あるユニット(カード)を使う
それと、もう一個、前提を覆して
D,パルス列を捨てる。ネットワークにそのままつながるステップドライバを使う。
どれかになる。
C,の例で、RTEX対応カードがコスモテックス社から発売されている。
プライムモーション社では、A,案もどきで、8年前の2001年に光ネットワークにつながるパルス列位置指令発生ユニットを製品化した(あまり売れなかった)。
「モーションおやじ」は、どうする?
■光ネットワークシステムブロック図
光ネットワークインターフェイスカード
光ネットワークにつながる4軸パルス列位置指令ノード
光ファイバ

関連記事:
http://robotcontroller.cocolog-nifty.com/blog/2008/02/post_561b.html
Link:
| 固定リンク | コメント (0) | トラックバック (0)
今日は、モーションコントローラを納めたお客様のところで、装置の立ち上げをした。
電気屋さんが出張から帰ってきていないということで、「サーボドライバは配線したままで、パラメータ設定できていない」とのこと。
「オットォ!」
機械屋さんが装置を使って機械調整ができるように、パラメータ設定、電装確認、ソフトデバッグを行った。
■パナソニック社「MINAS A4」サーボドライバに通信ソフト「PANATERM」経由でパラメータ設定。今日、初めて使った!
・サーボドライバの制御モード(出荷設定はアナログ指令の速度制御なので、パルス列指令の位置制御に変更)
・指令パルスタイプ(2パルス方式に設定)
・指令パルスのてい倍/分周(ご希望の最高移動速度と分解能から1/4に設定)
・エンコーダ出力の分周(最高を求めて1/1)
このような設定は、昔、「モーションおやじ」自身がサーボドライバ内部の設計していたので、お手のものだが、「他人の書いたマニュアルを読む」というのは、誰にとっても最初はわかりにくいものだ。
「モーションおやじ」がサラリーマンだったころ、出願して権利化された【特許番号】第2693335号に、位置指令パルスのてい倍/分周機能、いわゆる「電子ギヤ」のしくみが詳しく書かれている。時間のある方は、特許電子図書館-特許・実用新案公報DB-文献種別”B”、文献番号”2693335”で調べてね。
■プライムモーション社モーションコントローラ付属のパラメータ設定ファイルにいろいろ設定
・1mm当たりのパルス数[pulse/mm]
・パルス列位置指令の最高周波数[pps]
・-OTセンサしかないので、原点復帰後の-OTセンサから抜け出る移動量
・Z相パルスと-OTセンサ間のパルス数
・原点復帰速度[pps](-OTセンサに向かう速度)
・原点検出速度[pps](一度-OTセンサに入ってから抜け出て、再度入る速度)
・Z相パルスの間隔[pulse]
・パルス列位置指令1パルスあたり、期待されるエンコーダフィードバックのカウント数
■モーションコントローラ付属のマニュアル運転ソフトで、サーボモータを動かす
・JOG移動(移動方向の確認、エンコーダフィードバック方向確認)
・マニュアルデータインプット移動(MDI移動)で1mmあたりのパルス数設定確認
・原点復帰
・連続往復運転
■当社で受注した装置用Windowsのアプリケーションで、サーボモータを動かす
■その装置用Windowsのアプリケーションで、温度調節器を動かす。
■装置用Windowsアプリケーションの中からいろいろなマニュアル動作を行う。装置がすべて組上がっていないので、自動運転は、まだできない。
■コンテックのDIOカードのマニュアル操作ツールをお教えする。
9時30分からはじめて、午後3時30分に終わった。今日は、かなり早く終わったほうです。サーボドライバのゲイン調整は、お任せしました。
Link:
| 固定リンク | コメント (0) | トラックバック (0)
「サーボ加速度計」なるものを用いて、仕事をすることになった。「サーボ加速度計」で平面を検出して、モーションコントローラで複数軸のモータを動かし、姿勢制御を行う。
「サーボ加速度計」の値段が高いので、いつもの調子で分解できない。
データシートから推測すると、下図のブロック図になると思われる。
コイルの中に鉄心がある。傾くと、鉄心が出たり、入ったりする。鉄心の位置センサがあって、その位置が一定になるようにネガティブフィードバック制御をかける。
制御対象はコイル。電流を流すと、鉄心が出入りする。すなわち、位置が変わる。
コイルに流れる電流を出力とする。負荷抵抗を付ければ、電圧出力となる。
どのように鉄心を保持しているか、興味のあるところ。
| 固定リンク | コメント (0) | トラックバック (0)
先日、訪問した機械装置メーカのお客様の話。
セミコンジャパンで見た高速通信指令タイプのサーボ、安川電機のメカトロリンクⅢとパナソニックのRTEX(RealTime EXpress)の状況をひととおりお話した後、「イーサキャットは、興味ありますか?」と聞いたら、「メリットは何ですか?教えてくださいよ!」と逆に質問を受けてしまった。
欧州に輸出していない機械装置メーカでは、関心が少ないようだ。
Link:
| 固定リンク | コメント (0) | トラックバック (0)
セミコン・ジャパン2008では、イーサネットベース通信速度100Mbpsの高速通信サーボアンプとして、先の記事で紹介した欧州発の
・EtherCAT(イーサキャット)対応
日立産機、富士電機、山洋電気
日本発の通信規格では、
・パナソニックのRealtime Express(リアルタイムエキスプレス)
・安川電機のMechatrolinkⅢ(メカトロリンク・スリー)
が展示されていた。
パナソニック社Realtime Express(リアルタイムエキスプレス)サーボアンプは昨年のセミコン・ジャパンでも発表されていたが、今年の新発表は、同社低コストコンパクトサーボEシリーズ並みに小型になったサーボアンプ(参考出品)。
これは、ユーザにとって非常にメリットがある。制御盤体積が小さくなる。
どれだけ、従来のA4Nサーボアンプに対して、低コストになるかも楽しみ。
・安川電機のMechatrolinkⅢ(メカトロリンク・スリー)100Mbps対応サーボアンプ展示は、今回のセミコンジャパンが初めて。
一世代前のMechatrolinkⅡ(メカトロリンク・ツー)の通信速度10Mbpsでは高速性に不満をいだいていたユーザには、10倍になって朗報。
Link:
| 固定リンク | コメント (0) | トラックバック (0)
EtherCAT(イーサキャット)は、イーサネットをベースにした産業用フィールドバスシステム。ヨーロッパで普及している。
セミコン・ジャパン2008では、以下の日本の会社の対応サーボアンプが参考出品されていた。
・日立産機 (昨年のセミコン・ジャパンでも展示していた)
・富士電機
・山洋電気
なお、ドイツで開催されたハノーバーメッセで
・安川電機
もEtherCAT(イーサキャット)対応サーボアンプを展示していたとのこと。
日本で広まるかどうか?
日本の顧客から見て、具体的なメリットが感じられるようになるか?
Link:
| 固定リンク | コメント (0) | トラックバック (0)
先日、新規開拓で営業に行った話。
ISAバスのモーションコントーラを使用して、今日も装置の量産を続けている。消えゆくISAバスシステムの量産を早く止めたい。しかし、現行ISAモーションコントローラ開発元の事業方針が変わって同等仕様のPCIバス新製品を出せない。
「困っている!」とのこと。
ISAバスのモーションコントローラをPCIバスのモーション制御カードに改造、レトロフィットについては、株式会社プライムモーションへ
Link:
プライムモーション(Windowsで手軽にリアルタイムIO制御)
| 固定リンク | コメント (0) | トラックバック (0)
装置制御用パソコンとRS232C経由で温調器等の周辺機器が接続される。これらの機器とは、文字列で通信することが多い。
文字列の中には、温度等、数値が入っている。したがって、文字列を数値に変換する関数が欲しい。
MOS言語にも、文字列を数値に変換する以下の関数が用意されている。
・atof()関数 文字列を倍精度浮動小数点数doubleに変換する
・atoi()関数 文字列を整数intに変換する
・atol()関数 文字列をlongに変換する
左は、共有変数インデックス58000から文字列をリードしてlongに変換、共有変数インデックス58001から文字列をリードしてintに変換、共有変数インデックス58002から文字列をリードしてdoubleに変換するサンプル。
画面中のMOS言語プログラムソース、
| 固定リンク | コメント (0) | トラックバック (0)
最近、営業に行くと、マシン制御用コンピュータとGUI(グラフィックユーザインターフェイス)用Windowsパソコンの2つのCPUを低コスト化のために、1つのCPUにしたいという話が多い。そういうお客様に会っているせいだが。
A, ISAバスのx86系CPUボードにDOSをインストールしてリアルタイムIO制御するコンピュータ + GUI用Windowsパソコン
B, SHマイコン等のIO制御ボード + GUI用Windowsパソコン
C, VMEバスのCPUボードにリアルタイムOSをインストールして、IO制御するコンピュータ + GUI用Windowsパソコン
D, シーケンサ + GUI用Windowsパソコン
等々、いろいろな例がある。
解決策が1種類ですめば簡単なのだが、お客様によって、重視したい性能が異なるので、個別にカスタム化提案になってしまう。
「WindowパソコンでリアルタイムIO制御」をご検討中の方へ:
株式会社プライムモーションが解決策をご用意しています。
Link:
プライムモーション(Windowsで手軽にリアルタイムIO制御)
| 固定リンク | コメント (0) | トラックバック (0)
IntervalZero社ニュースを8月2日(土)にブログにアップした。さっそく休みが明けた4日(月)に検索をかけて、本ブログにアクセスしてくる方が何人かいた。
英語のニュースをいち早く日本語にするだけで、アクセスがある。
| 固定リンク | コメント (0) | トラックバック (0)
7月28日のニュースです。
Ardence社のRTXを含むエンベッデッド事業が、新しく設立されたIntervalZero(インターバルゼロ社)に移管されました。IntervalZero社の社長は、Ardence社でエンベッデッド事業を行っていた元役員です。
正確には、Ardence社および、IntervalZero社のホームページを参照願います。
なお、RTXのドライバ開発、WindowsのリアルタイムIO制御については、株式会社プライムモーションへ
Link:
プライムモーション(Windowsで手軽にリアルタイムIO制御)
| 固定リンク | コメント (0) | トラックバック (0)
ステッピングモータの反出力軸側にアブソリュートエンコーダを付けて、動かしたいというお客様が居た。2つのメカが干渉してしまい、装置組み立て出荷後、電源がオフになっても原点復帰しないで、ずっと絶対位置管理をしたいとのこと。
パソコンが立ち上がったときの、アブソリュートエンコーダの絶対位置データは、USB等経由でWindowsのソフトウェアが取得する。
その絶対位置データを現在指令位置にプリセットして、ステッピングモータのドライバにパルス列位置指令を出力して、位置管理をしたいとのこと。
MOS言語での、現在指令位置のプリセット命令は、 RobSetJointPosition関数。
mm等のユーザ単位でプリセットできる。そのあとは、自由にアブソリュートエンコーダの座標系で、位置指令が発行できる。ただし、移動中に本関数を発行しないこと。
| 固定リンク | コメント (0) | トラックバック (0)
「モーションおやじ」のコントローラでは、原点復帰命令を実行してから、移動命令を発行するのが基本。座標系が確定してから、がんがん動かす。
しかし、装置立ち上げ時とか、基本を守れないときがある。
そのとき、つまり、原点復帰しないで、移動させたいときには、2つの方法がある。
A、RobPtpJointMove命令を相対座標移動命令として発行する。「Jointで相対!」
B、「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」という設定ファイルを編集して、原点復帰動作順序=0(その位置で動かないで、原点復帰完了)に修正する。その後、移動命令を発行する。
B、は、とりあえず、原点復帰済みなので、絶対移動、相対移動ともに使用できる。かつ、
「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」で設定してある、ソフトウェア監視の最小動作範囲、最大動作範囲のチェックが有効になる。
A、は、逆に動作範囲チェックが無効なので、自由に移動できる。
目的に合った使い方をしてください。
A、の場合のソースプログラム例(MOS言語):
| 固定リンク | コメント (0) | トラックバック (0)
「モーションおやじ」のマシンコントローラは、軸やIOの制御プログラムをMOS言語で記述して、それをビルドすることにより、オブジェクトファイル(中間言語ファイル)に変換する。
このファイルを読み込んで、インタープリタ(翻訳ソフトウェア)が翻訳実行する。
■実機版(RTXとモーションカードがある場合のインタープリタ):
Ardence社のRTXランタイムライセンスがインストールされ、かつ、「モーションおやじ」のモーションカードがある環境ならば、リアルタイムインタープリタで「リアルタイム実行」される。
■シミュレータ版(RTXが無い環境のインタープリタ。ノートPC等で使用):
この場合は、Win32プロセス(非リアルタイム)のインタープリタで、非リアルタイムに実行される。
同じMOS Bench-CDに入っている環境ならば、両者のオブジェクトファイル(中間言語ファイル)は、同じである。片方の環境で作成したファイルは、もう片方でも走る。
| 固定リンク | コメント (0) | トラックバック (0)
先日、新規開拓で訪問した装置メーカさんの話。
40軸、合計1000点弱のINとOUTを持つ装置を3人の制御エンジニアで、チームを作って、ラダーとSFCで開発しているとのこと。
装置が複雑になる一方、納期が短くなってきて、デバッグが大変だそうな。
| 固定リンク | コメント (0) | トラックバック (0)
波形は、+50mmへ移動開始して、指令位置が25mm(移動量の50%)に達したら25%に速度オーバライド。
今回は、タイマーを使用しないで、「現在指令位置で、減速開始」させる。
少し賢い!
帰りの+0mm移動は、100%の速度。
ここで新しい関数が登場する。RobSetMoveProgressDo関数!
移動の進捗度(Progress)に応じて、Dout(ディジタル信号の出力)を行うよう設定する関数である。
ソースプログラムの21行目、移動指令現在位置50%でPort番号2113を「1」にするよう設定している。
ソースプログラムの23行目、移動指令現在位置100%でPort番号2113を「0」にするよう設定している。
このように設定したあと、RobPtpMove命令を発行すると、その指令位置の変化に応じて、Port番号2113の状態が変化する。上記の波形の中の下段の波形がその波形になっている。
例によって、RobPtpMove命令を「非」同期命令として発行したあと、Port2113が「1」になるのを監視していて、「1」になったら、33行目で、移動速度オーバライド 25%の命令を実行している。
波形のソースプログラム(MOS言語)
「Oyaji_SpeedOverride_3.mos.c」をダウンロード
Link:
プライムモーション(Windowsで手軽にリアルタイムIO制御)

| 固定リンク | コメント (0) | トラックバック (0)
波形は、+50mmへ移動開始して、70ms後に25%に速度オーバライド。
帰りの+0mm移動は、100%の速度。
ここで新しい用語が登場する。「非同期命令」?
いままでは「同期命令」だった。「非」が付いた。
「非同期命令」とは、命令を解釈したら命令実行が終わったことにしてしまう命令。
今回はRobPtpMoveという移動命令を「非同期命令」として、実行させている。つまり、移動命令を解釈したら、命令事体は終わったことにしてしまう。しかし、移動は完了していない。
画面の30行目、RobPtpMove命令の変数に「3」がある。これが、絶対座標移動命令の「非同期命令」を示している。
命令がすぐ終了してしまうので、移動途中なのに、次の行のSleep(70);(70ms待ち)が有効になる。そして、70ms後、次の行の速度オーバライドが実行される。
帰りの+0mmへの移動は、速度100%に戻したい。そのため、27行目で100%の速度オーバライドを発行している。
ここで注意が必要。
25%の速度オーバライドは、行きの+50mmまでの移動が完了するまで、有効にしておきたい。意図的に有効を保持しておかないと、帰りの+0mmへの移動で使用したい27行目で100%の速度オーバライドが、行きの+50mmまで移動で有効になってしまう。
行きの+50mmまでの移動が完了するまで、25%の速度オーバライドを有効にして魔法が25行目のRobWaitMoveDone関数。
RobWaitMoveDone関数は、直前に発行した移動命令の移動が完了するまで、命令完了を待っている。
波形のソースプログラム(MOS言語)
| 固定リンク | コメント (0) | トラックバック (0)
「モーションおやじ」のモーションコントローラでは、移動速度に関して、以下の2つの命令を用意している。
・移動速度設定用にRobSetPtpSpeed関数(通常用途)
・速度オーバライド用にRobSetSpeedOverride関数(移動途中で速度変更用)
通常は、RobSetPtpSpeed関数を使って、途中で速度変更をする場合に、RobSetSpeedOverride関数を使用してほしい。
RobSetSpeedOverride関数を使うと加減速曲線が直線になる。
RobSetPtpSpeed関数で50%を指定して、さらにRobSetSpeedOverride関数で50%を指定すると両者の掛け算の25%になる。
波形は、+25mmまで、50%のRobSetPtpSpeed設定(S字加減速)
さらに、+50mmまでは、RobSetSpeedOverride関数で50%を指定して掛け算の25%(直線加減速)
0mmへの戻りは、100%設定(S字加減速)
| 固定リンク | コメント (0) | トラックバック (0)
マシンコントローラのプログラム開発環境「MOS Bench(モスベンチ)」のお引き合いがあって、訪問したお客様の話。
最初は4軸くらいの半自動装置をシーケンサをつかって、ラダーで装置を組んできた。しかし、それが発展して、インライン装置(自動化製造ラインに組み込まれる装置)になり、30軸、50軸の装置を受注出荷するようになってきた。オプションで1軸追加するだけでも、ラダーの修正は、たいへん。担当プログラマ以外は、ソースプログラムの修正ができない。
制御チームで仕事をしたいとのこと。
| 固定リンク | コメント (0) | トラックバック (0)
・行きは、パルス指令出力周波数100%で、+30mmへ絶対位置座標指定移動
・帰りは、パルス指令出力周波数50%で、0mmへ絶対位置座標指定移動
のソースプログラム。最初に加減速時間設定、サーボオン、原点復帰をした後、上記の往復運動を繰り返している。画面は、Windowsお手軽リアルタイム制御開発環境である「MOS Bench(モスベンチ)」のソースプログラム編集画面。
・モーションに関わる命令は、オレンジ色
・プログラム制御に関わる予約語(特有な命令)は、青色
・プログラマーが書いたコメントは、緑色
になっていて、わかりやすくなっている。
そのプログラムをノートPC上の
・モーションシミュレータの[MOTIWARE Sim](モウティウェア シム)
・シーケンスシミュレータの「MwController Sim(エムダブリュコントローラ シム)」
を使って動かしてみる。
さらに、その動作を波形解析ツールの「MOTIWARE Analyzer(モウティウェア アナライザ)」で評価してみる。
軸の速度波形がわかる。予定通りの加速時間、減速時間で動作している。
簡単な動作であるが、一往復のタクトは、0.5秒であることがノートPC上のシミュレータでわかる。
以下は、本動作のプログラム。
「oyaji_sample_080707.mos.c」をダウンロード
もちろん、モーション制御PCIカードが入った機械制御を行うパソコンで動作する。
備考:
「モーションおやじ」のモーションコントーラは、デフォルトでは(設定を変更しないと)、S字状の加減速波形となる。いままでの加速時間、減速時間の説明グラフでは、簡単のため、直線状の加減速波形を使用してきた。
| 固定リンク | コメント (0) | トラックバック (0)
これは、robot(ロボット)を19個、物理軸を35軸まで、使用している「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」ファイルの例。
robot index 19(19番目のロボット)では、物理軸の33軸目、34軸目、35軸目を使用している。
物理軸33軸目(すなわち、RT8モーションカードの5枚目の信号末尾番号1)がロボット19番の論理軸1軸目。
物理軸34軸目(すなわち、RT8モーションカードの5枚目の信号末尾番号2)がロボット19番の論理軸2軸目。
物理軸35軸目(すなわち、RT8モーションカードの5枚目の信号末尾番号3)がロボット19番の論理軸3軸目。
となっている。
このように設定すると、軸位置モニタ、軸手動操作ソフトであるMOTIWARE Manager(モウティウア マネジャー)画面は、左のようになる。
すなわち、Robot19をプルダウンメニューで選ぶと、axis1、axis2、axis3の列が青くなり、「Carte. pos(直交座標位置)」、「Pulse pso.(パルス位置)」の表示が有効になる。つまり、robot19では、論理軸1、論理軸2、論理軸3が有効になっていることがわかる。
また、画面下のほうには、「Servo Power(サーボオン)」ボタン、「Return home」(原点復帰)ボタンがある。
このようにrobot番号毎に、移動、現在位置、サーボオン、原点復帰、エラーが管理される。
Robot19をMOS言語で移動させる場合は、例えば、
pos[0] = 10;
RobPtpMove(19, pos, 1);
となる。
★おまけ:
モーションカードをまたがって、例えばカード1枚目の物理軸8軸目とカード2枚目の先頭である物理軸9軸目を組み合わせて、2軸構成のXYロボットを作ることも可能である。
これは、普通のパルス列発生LSIを使ったパルス発生カードではできない。ソフトウェアモーションコントローラだから可能になる。
| 固定リンク | コメント (0) | トラックバック (0)
設定ファイルでrobotや物理軸、パルスレートが設定できたか、確認する。
タスクトレイのmマークを右クリックして、「MOTIWARE Managerの起動」を選ぶ。
以下の「MOTIWARE Manager(モウティウェア マネジャー)」画面が表示される。
ここで、「Robot info.」タブをクリックすると、以下の画面が現れる。
この画面では、Robot No.1のみが有効で、そのなかにAxis1のみ存在することがわかる。
ここで、下のほうの「JOG mode」ボタンを押すと、JOGやインチングで軸移動できる画面が現れる。
次に、「Inching」ラジオボタンを押して、Axis1の「+」ボタンを押す。
すると「Carte. pos(直交座標位置)」が0.999になって、「Pulse pos(パルス位置)」が341になる。
「1単位」インチング移動して、位置指令パルスが341パルス出力され、結果として、その現在位置が「0.999」になっている。
つまり、「1mm」インチング移動して、341パルス出力され、結果として、その現在位置が「0.999」になった。
したがって、1mmあたり341.333333333333という設定ファイルの「パルスレート」設定が有効になっていることがわかる。
| 固定リンク | コメント (0) | トラックバック (0)
設定ファイル編集ソフトで編集保存した「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」をモーションコントーラソフトウェアに認識させるためには、少し作業が必要である。
概要は、タスクトレイから以下の操作を行う。
1、「MwController Service(エムダブリュ コントローラ サービス)」 を停止
2、「MOTIWARE Service(モウティウェア サービス)」を停止
3、「MOTIWARE Service(モウティウェア サービス)」を起動
4、「MwController Service(エムダブリュ コントローラ サービス)」 を起動
実際の操作は、簡単である。「ピンク・ピンクにして、緑・緑にする」だけである。
まず、タスクトレイをみると

のように緑のmマークと緑のmCマークがある。mCマークを右クリックすると、以下の表示が現れる。そこで「MwController Serviceの停止」を選ぶ。
すると、mCマークがピンク色になる。
これで、「MwController Service(エムダブリュ コントローラ サービス)」 が停止したことがわかる。
次に、mマークを右クリックすると、以下の画面が現れるので「MOTIWARE Serviceの停止」を選ぶ。
そうすると、mマークがピンク色になる。これで「MOTIWARE Service(モウティウェア サービス)」が停止したことがわかる。これで、「ピンク・ピンク」になった。
次に、ピンクのmマークを右クリックすると、以下の画面が現れるので、「MOTIWARE Serviceの起動」を選ぶ。
mマークが緑になる。次にmCマークを右クリックして、以下の画面を表示させ「MwController Serviceの起動」を選ぶ。
そうすると、「緑・緑」になる。
元に戻った。これで終わり。mCマーク、mマーク、mマーク、mCマークの順番。間違えないように。
重要なパラメータなので、ちょっと手間がかかるようにしてある。
| 固定リンク | コメント (0) | トラックバック (0)
今回は用語の説明。
robot(ロボット):
移動動作をさせたいステージ等メカ構造の単位。XYステージなら、2軸のロボット。XYZステージなら3軸のロボットと定義する。
4軸のパルス発生LSIを使用している場合は、いつも4軸毎となってしまうが、ソフトウェアでモーション制御をしているので、1軸ステージとか、XYステージとか、XYZステージとか、同期移動構造を自由に定義できる。
論理軸:
ロボット内の考えの対象となる軸。ロボットを構成している軸をそのロボット内で1軸目から割り当てた軸。
物理軸:
物理的な軸。そのシステム内の(コントローラ内の)通し番号をつけた軸。1枚目のモーションカードについては、信号名末尾の番号と物理軸番号が一致する。”2”枚目のモーションカードについては、信号名末尾の番号”+8”が物理軸番号が一致する。同様に、3枚目は+16。4枚目は+24。5枚目は+32。
| 固定リンク | コメント (0) | トラックバック (0)
先日、ユーザ単位とは、「ユーザの期待している移動単位(例えばmm)を移動するために、モータ制御装置に何パルスの位置指令を入力するか」ということだと説明した。
話が変わるが、サーボドライバのパラメータの「電子ギヤ」も同じ考え方をする。
例として、
・2048pulseの位置指令パルスで1回転するモータとモータ制御装置を使用
・モータ1回転で6mm移動するステージを使用
・mm単位の位置目標値指定をしたい
場合、341.33333333333[pulse/mm]を設定する必要がある。
「モーションおやじ」のモーションコントローラでは、Windowsの画面の右下から、すべてのプログラム-MOTIWARE-設定ファイル編集で、「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」ファイルを開く。
「Robot 1」タブを押して、以下の画面を開く。パルスレートの行で、1の列のセルをダブルクリックして、数値入力画面を表示させ、341.33333333333をタイプし、「OK」を押す。
その他のパラメータで、重要なのものついて、コメントしておく。
1、「原点復帰順序」は、「0」にしておく。「0」は、移動しないで、その場で原点復帰を意味する。そうすると、「原点復帰」命令を実行したとき、モータ、つまり、ステージが動かないで、その場が原点となる。
2、「エンコーダフィードバック」は、「0」にしておく。「0」は、A,B相フィードバック無しの設定である。この場合、位置指令パルスカウンタと、A,B相フィードバックカウンタの差異、すなわち、位置偏差の管理を行わないので、当面は、位置指令のみの動作になり、A,B相フィードバックの動作、配線を気にしなくて良い。
3、右上の、2列、3列、4列のすぐ下の行は、「0」にしておく。
この意味は、少し複雑である。今は、「Robot1」タブ画面の編集をしていて、1列の下のAxis行が「1」になっている。この意味は、Robot1の論理軸1に、物理軸1が割り当てられていて、論理軸2以降は、存在しないことを意味している。
つまり、Robot1というステージ構成は、1軸構成(論理軸1のみ)のステージであって、2軸目(論理軸2)以降は、存在しない。加えて、その1軸目は、物理的に存在しているモーションカード1枚目の1軸目(信号名末尾番号が1と書いてある信号)を使用していることを示している。
最後に、メニューから「ファイル」を選んで、「上書き保存」を忘れないように。
| 固定リンク | コメント (0) | トラックバック (0)
モーションコントローラからパルス列位置指令を受け取って、モータを回転させるモータ制御機器、つまり、サーボドライバやステッピングモータのドライバでは、その電子回路の動作制限から、パルス列位置指令入力の最高周波数が仕様で決められている。
たとえば、100k[pps] 、つまり100 kilo pulse per secondとか記載されている。100kHzと同じ意味である。
「モーションおやじ」のモーションコントローラでは、この最高周波数を「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」というパラメータ設定ファイルで設定する。各移動動作に関しては、この最高周波数に対する%で
RobSetPtpSpeed( 1, 50 );
という命令で指定する。()の中の2番目の値、50は、最高周波数に対して50%を示している。
「モーションおやじ」のモーションカードは、10Mpps(10MHz)まで出力できる。ただし、各モーションカードの1軸め、2軸めのみ。他の3軸めから8軸めは1Mpps。カードが2枚あれば、9軸め、10軸めも10Mpps可能。
| 固定リンク | コメント (0) | トラックバック (0)
移動する場合、停止状態から徐々に加速して、定速状態になって、徐々に減速して、停止して、移動が完了する。
まとめると図のようになる。移動を指定するパラメータとして、すでに書いた「目標位置」に相当する
・移動距離
のほか
・加速時間
・減速時間
・移動速度
というパラメータが必要である。「モーションおやじ」のモーションコントローラでは、加速時間、減速時間を
RobSetPtpAccelerations(1, 0.1 , 0.1 , 0 , 0);
という命令で設定する。Accelerationは、「加速」を意味する。
例によって、()の中の最初の1は、この命令で設定したい対象ロボット番号である。次の0.1は、加速時間[秒]、次の0.1は、減速時間[秒]を指定している。加速時間と減速時間は、特別な目的がない限り同じで良い。残りの2つの0については、しばらく後で説明する。
移動速度は、
RobSetPtpSpeed(1, 100);
という命令で設定する。例によって、()の中の最初の1は、ロボット番号である。次の100というのは、「パルス列位置指令出力の最高周波数」に対する%で指定している。
| 固定リンク | コメント (0) | トラックバック (0)
先に書いた移動命令のプログラム中に単位を示す記述が無い。mmなのか、μmなのかの指定が無い。この定義は、実際のところ、「ユーザの期待している移動単位(例えばmm)を移動するために、モータ制御装置に何パルスの位置指令を入力するか」ということである。
1mm移動したいとき、モータ制御装置に何パルス入力すればよいのか?ということは、以下のようなパラメータで決定される。
・A: モータを1回転させるためにモータ制御装置に何パルス入力するのか? [pulse/回転]
・B: 直動ステージを1mm移動させるためにモータを何回転させるのか?[回転/mm]
例えば、
2048pulseの位置指令パルスで1回転するモータとモータ制御装置を用意して、モータ1回転で6mm移動するステージを使用するならば、
A=2048[pulse/回転]
B=1/6[回転/mm]
A*B=341.33333333333[pulse/mm]
「モーションおやじ」のモーションコントローラでは、「MOTIWAREConfig.ini(モウティウェアコンフィグ.イニ)」というパラメータ設定ファイルで定義する。上記のAやBは、制御プログラマーが関知しないところで決定されるので、移動プログラムの中で、記述しなくて済むようになっている。
倍精度の計算なので、15桁くらい有効である。
| 固定リンク | コメント (0) | トラックバック (0)
直線移動するにあたって、
・どこへ行きたい(目標位置)
・その目標位置の指定方法(絶対と相対)
を指定することをしばらく前に書いた。
例えば、絶対座標指定移動で+10mmの位置に移動させたい場合、「モーションおやじ」のモーションコントローラでは、以下のように記述する。
pos[0] = 10;
RobPtpMove(1, pos, 1);
1行目は、+10mmに行きたいということをposという変数に代入している。2行目は、そのposへ移動しなさいという命令である。
()の中の1つ目の「1」は、ロボット1番に対して、指令するということを示している。
()の中の2つ目の「1」は、絶対座標位置指定であることを示している。この値を変えると相対座標位置指定になる。
| 固定リンク | コメント (0) | トラックバック (0)
HTMLの本を読んでいたら、フォルダにあるファイルに対して、
・絶対パス
・相対パス
画面の中の表示位置指定方法で
・絶対位置指定
・相対位置指定
という考え方があります。
位置決めの目標位置指定方法と同じです。
| 固定リンク | コメント (0) | トラックバック (0)
原点復帰動作で原点を決めました。
その原点からの+10mmとかへ移動する場合、「絶対」座標指定移動と呼びます。
今居る位置、それは、原点から20mmの位置かも知れないし、2000mmの位置かもしれないが、今居る位置から、+10mmとかの位置へ移動する場合、「相対」座標指定移動と呼びます。あるいは「インクリメンタル」指定移動と呼びます。
「インクリメンタル」は、日本語で「累加的」という意味です。
| 固定リンク | コメント (0) | トラックバック (0)
さて、やっと、直線状のステージで原点を求めて、動かすことができるようになった。
モーションコントローラからCW±、CCW±パルス信号を出力することにより、モータのシャフトを回転させて、直動案内機器の可動部を動かし、原点センサ信号が変化する位置を見つける。この位置を、座標系のゼロとする。この動作を「原点復帰動作」と呼ぶ。
「原点復帰動作」をするようにモーションコントローラには「原点復帰命令」を発行している。
モーションコントローラは、原点センサの変化した位置を「原点」すなわち、座標系のゼロと認識する。
その位置「ゼロ」から、例えば10mm、あるいは、-10mmの位置を決めることができる。
| 固定リンク | コメント (0) | トラックバック (0)
モータシャフトの回転運動を直線運動に変えて、直線状の位置を指定して、その位置に動かしたい。その場合、ボールねじ等を使用した直動案内機器にモータを取り付けて、そのモータの回転角度を制御することにより、直線状の位置を制御する。
・日本トムソン(IKO)社では、「直動案内機器:メカトロシリーズ」
・日本精工(NSK)社では、「モノキャリア」
等の直動案内機器が知られている。
直線状の位置を指定するとき、どの位置が基準位置か、決める必要がある。「ここから、何mmのところに移動したい」と指定したいからだ。つまり、目に見えない「ものさし」みたいなものを直動機器の上に置きたい。この「ものさし」を「座標系」、「ものさし」の基準位置を「原点」と呼ぶ。
「原点」には、電気信号を発生するセンサと取り付けてある。「原点センサ」と呼ばれる。「原点センサ」がオフからオンになるところ、変化点、が「原点」となる。
・SUNX社の近接センサ(GXLシリーズ)
・OMRON社のフォトマイクロセンサ(EE-SXシリーズ)
| 固定リンク | コメント (0) | トラックバック (0)
モータには、いろいろあるが、通常の用途は
・位置(角度)
・速度
・トルク
のどれかの目標値を与えて、それに追随させるというものである。簡単な「位置」目標値に追随させることを例にとって考える。この操作は、業界で「位置決め」と呼ばれている。
安いDC24V電源入力タイプの5相ステッピングモータを例として、モータを位置決めで回してみよう。まず、DC24V電源(3Aくらい)、モータ用ドライバ(アンプ)、位置決め用コントローラ(モーションコントローラ)を用意して、配線する。
・ドライバとDC24V間を配線する
・ドライバとモーションコントローラ間でCW+、CW-、CCW+、CCW-というパルス信号を配線する。「モーションおやじ」のモーションコントローラの信号名では、FP-、FP+、RP-、RP+と接続する。
後は、DC24V電源をオンして、モーションコントローラが入ったパソコンを立ち上げれば、ソフトウェア操作のみで、モータが回る。
写真は、オリエンタルモータ社のDC入力5相ステッピングモータとそのドライバです。
■ステッピングモータ制御の簡単なところ
1、電源をONすれば、励磁が始まっている(モータに通電している)ので簡単。サーボモータの場合、電源をONした後、サーボオンという信号をオンしないとモータの通電が始まらない。サーボオン信号の配線、制御が必要になる。
2、位置検出用ロータリーエンコーダのモータ・ドライバ間配線、ドライバ・モーションコントローラ間の配線が無いので簡単。
3、アラーム信号、アラームリセット信号が無いので簡単。
| 固定リンク | コメント (0) | トラックバック (0)
図はコンテック社のディジタルIOのPCIカードをWindowsでリアルタイム制御したときの動作波形です。5ms毎ON,OFFを繰り返しています。ユーザのIO制御プログラムがリアルタイムに動作し、かつ、リアルタイム1msサンプリングでロギングしています。
見せかけで、きれいな波形になっているわけではありません。実際に、オシロスコープの上段の波形になっています。
Windowsで簡単にリアルタイムIO制御できる「MOS Bench(モスベンチ)」は、Ardence(アーデンス)社のRTXランタイムライセンスを使用しています。そのため、ユーザが書いたプログラムがコンテック社のディジタルIOカードへアクセスしているか、1ms毎サンプリングして、そのロギングデータを画面に表示できます。
必要があれば、csvファイルにも保存できます。画面は、そのファイルをエクセルで開いたところです。
A列は、年月日。
B列は、時分秒、ms、μs、100ns。
一番上の24行は、12時40分30秒、109ms、168μs、600nsを示しています。100nsの分解能でタイムスタンプが付きます。すごいですね!
H列が、コンテックのディジタル入出力カードのある出力ポートをポート番号2126に割り当てて、ロギングしたデータです。
ファイルには、120秒間、すなわち、12万行保存できます。
1点のディジタル出力のみの波形を示しましたが、「項目設定」画面から、ディジタル入出力は32点、ADコンバータは4点、DAコンバータは4点、モーションの位置は8軸分、を選択してロギングすることができます。
このソフトウェアは、「MOTIWARE Analyzer(モウティウェアアナライザ)」と呼びますが、Windowsで手軽にリアルタイムIO制御「MOS Bench(モスベンチ)」に付属しています。
WindowsでリアルタイムIOロギングに興味のあるかたは、
| 固定リンク | コメント (0) | トラックバック (0)
| 固定リンク | コメント (0) | トラックバック (0)
図のプログラムは、コンテックのディジタル入出力PCIカードをWindowsでリアルタイムに制御するプログラムである。
5ms毎、2126番ポートがON,OFFするプログラムである。これをArdence(アーデンス)社RTXベースのリアルタイムインタープリタ「MOS Bench(モスベンチ)」ですぐ動かすことができる。
「MOS Bench(モスベンチ)」の「初期起動」ボタンを押すと、上段の波形出力になる。リアルタイム動作を行っている。
「MOS Bench(モスベンチ)」の「入出力モニタ」画面でも点滅するので、動作を確認できる。
CONTEC社ディジタル入出力PCIカードのWindowsリアルタイム制御に興味のある方は、
Link:
| 固定リンク | コメント (0) | トラックバック (0)
画面は、WindowsでリアルタイムIO制御を開発する環境「MOS Bench(モスベンチ)」のプロセス制御の画面です。ユーザが作成した実行プログラム1本毎にこの画面があります。
実行状態の状態::に「オブジェクト準備OK」とありますので、ユーザが作成したリアルタイムIO制御プログラムが実行できる準備状態になっています。
次に「初期起動」ボタンを押すとユーザーの作成したIO制御プログラムをリアルタイムに実行します(Ardence社RTX上でリアルタイムインタープリタが動作します)。ただこれだけです。
途中で止めるには「ステップ停止」ボタンを押します。再開するには、「継続起動」ボタンを押します。作成したプログラムを一行一行実行するときは、「ステップ起動」を押します。
もし、自分の作成したプログラムのどこを実行しているか確認したいときは、「トレース::」にチェックを入れてください。
いかがですか?簡単でしょう。これで、あなたの書いたIO制御プログラムがWindowsで簡単にリアルタイム実行できます。モーション、DIO、AD、DA、COMポートのWindowsリアルタイム制御ができます。
もちろん、あなたがVisual Basic等で書く他のプログラムから上記のボタン操作同等の処理ができます。
WindowsでリアルタイムIO制御「MOS Bench(モスベンチ)」に興味あるかたは、
| 固定リンク | コメント (0) | トラックバック (0)
Windowsで簡単にリアルタイムIO制御ができる環境「MOS Bench(モスベンチ)」では、簡単にマルチタスク(マルチプロセス)処理ができます。すなわち、複数の処理を等価的に同時実行できます。
左上は、MOS Bench(モスベンチ)の画面の一つで「プロセス管理」の画面です。この画面の、「Recipe No.」(レシピー番号)の列に、ユーザが作成したプログラム番号を入力すれば、どんどんタスク(プロセス)を立てることができます。100本まで可能ですが、実際は20本以下が実用的です。
「Real time」という列がありますが、ここが重要です。ここを「YES」に設定すると、ユーザが作成したプログラムをWindowsに優先してリアルタイムに実行することができます。
WindowsでリアルタイムIO制御に興味ある方は
| 固定リンク | コメント (0) | トラックバック (0)
WindowsでモータやディジタルIO、DAコンバータなどのPCIカードを制御したいときは、どのようにしますか?CONTEC社等から、これらのPCIカードを購入して、Visual Basic等で制御のプログラムを書くのではないでしょうか?
そのプログラムを実行したとき、何かうまく動いていないということは、経験したことがありませんか?「Windowsがなにかやっている」、という感じを持ったことはありませんか?
下段の波形は、5ms毎、ディジタルOUTをON,OFFするプログラムを実行した波形です。5msが実現できていないし、ばらつきも大きいです。
上段の波形は、同じく、5ms毎、ディジタルOUTをON,OFFするプログラムを実行した波形です。きちんと、正確にON,OFF動作しています。
何が違うのか?
上段の波形は、Windowsをリアルタイム拡張しています。Ardence社(アーデンス)のRTXというソフトをインストールすると、Windowsをリアルタイムにできます。つまり、「ユーザのプログラム」をWindowsに先立って、最優先に実行できます。
しかし、「ユーザのプログラム」をどのように作るか?が大問題なのです。プログラミングのプロなら問題ありません。Ardence社のRTX-SDKというリアルタイム用のユーザプログラム開発環境を購入して、「ユーザのプログラム」を一からつくれば、よいのです。
でも、プログラミングのプロではない人は、困ります。
「モーションおやじ」に、アイディアがあります。
プログラミングのプロがRTX-SDKで作った「ユーザのプログラム」が、プログラミングのプロでない人が作った「モータやIO、DAのプログラム」を実行すればよいのです。2階建てになります。
このプログラミングのプロがRTX-SDKで作った「ユーザのプログラム」は、「リアルタイムインタープリタ」です。プログラミングのプロでない人が作った「モータやIO、DAのプログラム」を「リアルタイムインタープリタ」で実行したのが、先ほどの上段の波形です。
この「リアルタイムインタープリタ」は「MOS Bench(モスベンチ)」として、製品化されています。
リアルタイムIO制御「MOS Bench(モスベンチ)」に興味あるかたは、
| 固定リンク | コメント (0) | トラックバック (0)
先日、「モーションおやじ」の製品ユーザーにヒヤリングしました。Ardence社RTXランタイムライセンスを使った「MOS Bench」 (Windows環境で簡単にリアルタイムIO制御ができる
製品)の導入インタビュー。
大手半導体装置メーカS社 導入担当I氏インタビュー
モーションおやじ: すでに何台かの装置をMOS Benchで制御プログラム開発されておられますが
MOS Benchを導入した感想は、いかがでしょうか?
I氏: Visual C++に対して、できることは制限されますが、簡単に高速機械制御のプログラミングができると感じています。
モーションおやじ: ありがとうございます。コントローラというと装置の心臓部だと思います。その心臓部にMOS BenchとRT8モーションカードの組み合わせを最初に導入した強い理由、動機は何だったのでしょうか?
I氏: Windowsべースで今までにない高速な機械を作りたかったので、リアルタイム制御を導入することしか解決策がなかったということです。
モーションおやじ: 正直なところ、導入する前に、不安はありませんでしたか?
I氏: 当時は、受注寸前でしたので、もうやらざるを得なかったという状況でした。逆に、ピックアンドプレイスに適したモーションとか、PCIカード用のドライバとか、デバッグ用のツールが付いていて、自分がやる作業が少なくなりそうだと期待していました。
モーションおやじ: 今までのお使いのコントローラに対して、導入してみて大きなメリットは、実際どんなことでしたか?
I氏: タクト改善できたのはもちろんですが、Windowsのユーザーインターフェイスのプログラムと機械制御のプログラムが分かれて、ソフトとしてわかりやすくなったというメリットもあります。
モーションおやじ: これからの目標、課題は何でしょうか?
I氏: シミュレータが付いているので、装置が組みあがる前に机上デバッグをしたいですね。今回、大急ぎで立ち上げたので、ソフトがすっきりしていません。次の機種では、机上デバッグできるように整理したいです。
モーションおやじ: なるほど。最後に、MOS BenchとRT8カードの組み合わせのデメリット、改善してほしいところをお教えください。
I氏: 御社のMOS言語は、C言語完全互換でないので悩むことがよくあります。それから、開発環境を改善してほしいと思うところがあります。
モーションおやじ: わかりました。少しずつ改善していきますので、問題点を都度フィードバックお願いします。今日は、貴重なご意見をいただいて、たいへんありがとうございました。
「Windowsで高速タクト」にご興味のある方は、
| 固定リンク | コメント (0) | トラックバック (0)
今回は、宣伝100%。
9日、「モーションおやじ」の製品ユーザーにヒヤリングしました。Ardence社RTXランタイムライセンスを使った「MOS Bench」 (Windows環境で簡単にリアルタイムIO制御ができる製品)の導入インタビュー
中堅半導体装置メーカA社 導入担当N氏インタビュー
モーションおやじ: すでに何台かの装置をMOS Benchで制御プログラム開発されておられますが、MOS Benchを導入した感想は、いかがでしょうか?
N氏: 無事に装置に組み込むことができてほっとしています。ほぼ満足の行く結果がえられました。
モーションおやじ: 突っ込んでしまいますが、「とても満足」ということはありませんか?
N氏: ある装置では、タクトが目論見に対して30%アップしたことについては、とても満足しています。
モーションおやじ: 30%アップというのは、コントローラを変えたことによって、アップできたのですか?
N氏: そうです。従来のコントローラベースでは、このくらいの能力と見込んでいたのですが、御社のコントローラでは、大幅に処理能力が上がったということです。
モーションおやじ: ありがとうございます。コントローラというと装置の心臓部だと思います。その心臓部にMOS BenchとRT8モーションカードの組み合わせを最初に導入した強い理由、動機は何だったのでしょうか?
N氏: Windowsで簡単にリアルタイム制御できることです。
モーションおやじ: つまり、慣れているWindows環境で高速機械制御ができるということですか?
N氏: そうです。
モーションおやじ: 正直なところ、導入する前に、不安はありませんでしたか?
N氏: パソコンベースということで、PCのライフ、相性は心配でした。製品ソフトについては、バグがあるだろうが、時間がたてば良くなると考えていました。
モーションおやじ: 今までのお使いのコントローラに対して、導入してみて大きなメリットは、実際どんなことでしたか?
N氏: 処理能力の高さ、リアルタイム制御によるタクトタイムの向上、ツーリング時間の短縮というところです。
モーションおやじ: 「ツーリング時間の短縮」というと、具体的には、どのようなことですか?
N氏: 事前にノートPCでシミュレータを使ってコーディングやデバッグができるとか、実機用のデバッグツールが揃っていてデバッグがとても楽とか、ですね。それから、営業も含めて社内で好評だったのは、メカができる前に、パソコン1台でタクトデモというか、タクト性能お披露目会ができたことです。
モーションおやじ: どういうことですか?
N氏: 御社のコントローラにすると、マシン制御用のコントローラとGUIのPCと画像処理が一つのPCに入っているので、RTXとRT8カードの入ったパソコン1台で、タクトに関わる主要な部分の時間がわかるのです。
モーションおやじ: 他の会社のコントローラでも、そのようなことは、できるのではないでしょうか?
N氏: それは、そうなんですが、マシン制御用のコントローラとGUIのPCとか、集めてきて、配線して、手間がかかるし、シミュレータが無いので制御プログラムのデバッグがまともにできていないし、まあ、「メカができたところで、実機でやろうか」、ってなっちゃうんですよ。結局、実機が来るまで、タクトの実測ができないということなんです。
モーションおやじ: そうですか。導入してみて、社内に何か変化がおこりましたか?
N氏: 短納期で仕事ができるということが実感できて、期待度が高まっています。
モーションおやじ: いやぁ、うれしいですね。導入したことによって、今後、仕事はどのように変わっていくと予測されていますか?
N氏: 先ほども言いましたが、机上でのデバッグ作業ができること、デバッグ環境、デバッグツールが充実しているので、製造での作業時間が短縮されると思いますというか、実際にそうなっています。
モーションおやじ: これからの目標、課題は何でしょうか?
N氏: コントローラ同士のネットワーク化、それから、サーボやIOの省配線化ですね。
モーションおやじ: なるほど。最後に、MOS BenchとRT8カードの組み合わせのデメリット、改善してほしいところをお教えください。
N氏: リアルタイム性を確保するためにPCを選ぶということです。
モーションおやじ: そうですね。耳の痛いところです。世の中にある最高技術を使おうというオープンシステムの宿命なんですよ。今日は、貴重なご意見をいただいて、たいへんありがとうございました。
「Windowsで高速機械制御」にご興味のある方は、
| 固定リンク | コメント (0) | トラックバック (0)
久々にモーションの話。ICや電子部品を取って置く(ピックアンドプレイス)動作では、移動動作時間を短くするために、図のアーチモーション(ゲートモーション)という動作が要求される。
横軸はX軸、縦軸はZ軸。単位は、各ミクロン。すなわち各軸ともに2mm移動している。(x,z)=(0,0)からZ軸が上昇して、途中でX軸が動き始め、Z軸が2mmに達した後、X軸が2mmに達しないうちに途中でZ軸が加工し始め、(x,z)=(2,0)で停止する。その後、同様な動きで、(x,z)=(0,0)へ戻る。
図は、モーションコントーラから出力される位置指令パルスをアップダウンカウンタに取り込んで計測したもの。1ミクロンで1パルスの位置指令になっている。
次の図は、縦軸がX軸位置、Z軸位置。単位はミクロン。横軸はms。50msで往復動作をしている。Z軸は0から2へ上昇して、0へ下がる動作が2回ある。X軸は0から2へ行って、0へ戻る動作が1回のみ。
次の図は、このアーチモーション時の位置指令パルス周波数である。縦軸はkHz、横軸はms。ピークで400kHzになっている。
アーチモーション、ゲートモーション付きの位置指令パルス出力モーションコントローラについては、株式会社プライムモーションへ
| 固定リンク | コメント (0) | トラックバック (0)
これは5相ステッピングモータ。等価的に5個のコイルが内蔵されている。
ロータリエンコ―ダ等の角度検出器は付いていない。角度を知る必要がないからだ。
アナログ時計の針の駆動もステッピングモータの仲間だ。永久磁石(マグネット)とコイルを巻いた電磁石の吸引力で動作する。1つステップを送るときは、次のコイルに通電する。シャフトに固着している永久磁石が次に通電したしたコイルの電磁石に引っ張られて、シャフトが1ステップ回転する。
ステッピングモータのメリット:
・安い
・駆動回路が簡単
・角度検出器不要。その分、小型。
・整定した後の振動が無い。カメラで撮像する応用には、適する。
ステッピングモータのデメリット:
・追従性が悪い。高速に回転させようとすると追従しない。「脱調する」
・振動が大きい。基本的にステップで動作させる構造なので。
・消費電流が大きい。モータが熱くなる。負荷が無くても駆動電流が流れている。
これらを改善した製品もあるが、その分、高くなる。サーボモータを含め、いろいろなモータ、駆動回路があるので、価格と必要な性能のトレードオフで決めてね。
| 固定リンク | コメント (0) | トラックバック (0)
「モーション」、辞書を引くと「運動、移動」とある。人間の移動も「モーション」。野球で「クイックモーション」という言葉があるが、当社の仕事は、「物の移動」。
物を移動させている姿というと何を想像するだろうか?
工場内の「ベルトコンベア」、自動車工場内の自動車に取り付いている「ロボット」。
「ベルトコンベア」は、一方向で一定速度。「ロボット」は、いろいろな方向に移動したり、止まったり。当社の仕事は、いわば「ロボット制御」。いろいろ方向に加速したり、減速したり、角度を変えたりするモーション制御をしている。
メカ、機械は、当社のお客様が作るが、お客様の実験室で、いっしょにモーション制御性能評価改善を行っている。
| 固定リンク | コメント (0) | トラックバック (0)
最近のコメント