2012-12-31(月) 冬休み

  • 蟄居。
  • 紅白見ながら年越し蕎麦。



2012-12-30(日)

  • 家でSoftKineticのDS325をあれこれ。思ったより距離画像のノイズが多い。DS311に比べて光源がレーザになっており光量が少ないのが原因か?
  • ネットを使いに彼がくる。



2012-12-29(土)

  • 今日から1月6日まで9連休。しかし4日からCM社で設備更新のテストがある。
  • 床屋。



2012-12-28(金)

  • 仕事納め。
  • 引き続きDepthSenseSDKのサンプルプログラムのDLL化。
  • S社から衝突防止センサが働いた後にリセットしても原点復帰ができなかったとの報告。試してみても再現できない。
  • 引き続きDLL化。距離画像が表示できるところまでできた。
  • 引き続きDLL化。カラー画像とステレオマイクのデータまで表示できるようになった。


2012-12-27(木)

  • S社向け乾燥機コントローラ10台の出荷検査。ケースに組み込み。
  • O氏来社。あれこれ打ち合わせ。
  • DepthSenseSDKのサンプルプログラムをDLL化すべくあれこれ。



2012-12-26(水)

  • CM社の鹿島工場でT社の乾燥機のメインブレーカが落ちるとのこと。あちこちと連絡を取って情報収集。
  • S社向けユニット3台の出荷検査とケース組み込み。
  • 午後から出かけて東広島のS社へ。
  • 検査装置試作の件で打ち合わせ。
  • 午後3時過ぎに終了。帰社。
  • CM社の鹿島工場でメインブレーカが落ちる件はモータの漏電が原因だったとの連絡。
  • S社向け乾燥機コントローラ10台の出荷準備。PSoC3個とH8SXのプログラム書き込み。



2012-12-25(火)

  • 5mのRS232CクロスケーブルとLANのクロスケーブルを手配。CM社改修工事で仮設の盤とPCが離れているため。
  • DepthSenseSDKをあれこれ。C++Builder5で開発しようとして躓く。DLLからライブラリを作ろうとしたらワーニングが出たり。ヘッダーのdefine文で書式が違うとエラーになったり。MS社系のコンパイラでないと無理なのかも。
  • Y氏来社。平面検査装置のセンサが動かないというので調査。断線を発見。しかし直しても動かない。センサも壊れている疑い。
  • 見守りシステムでリモートディスクトップを使用しなければならないのだけどWindows7HomePremiumなのでそのままではできない。パッチを当てるプログラムをダウンロードして実行したら出来るようになった。
  • S社向けユニット3台の組み立てを少し。
  • VisualStudioをWindows7機にインストールしてDepthSenseSDKのサンプルプログラムをコンパイル。コンソールデモは動いた。
  • コンソールデモをWindowsアプリケーションに移植しようとあれこれ試すがどうしてもできない。



2012-12-24(月) 振替休日

  • 朝7時40分頃に家を出て呉のCM社へ。
  • パソコンを仮設置してスキャナのデータを見る。今日は操業日なので材が流れていく様子が見える。
  • 一部スキャン方向が逆なのが直っていなかったのでその場で修正。
  • 画面で見るデータとしては良さげ。
  • 赤外線が見えるカメラも準備して光軸が振動していないか確認。ほとんど振動していなかった。
  • 9時半に撤収。
  • S社に向かう。
  • S社に先日改造したユニット3台を渡す。
  • O氏が買ったSoftKineticのDS325をY氏が持っていたので見せてもらい、そのまま借りて帰る。
  • セブンイレブンで年賀状を購入。
  • 「だし道楽」で「かすラーメン」。
  • ヤマダ電機でプリンタのインクを購入。
  • 社に寄って荷物を降ろす。
  • 昼前に帰宅。
  • 年賀状を印刷して投函。
  • DS325を先日作ったプログラムで試す。OptrimaSDKはDS325には対応していないらしくほとんどの関数がエラーを返す。Windows7でDepthSenseSDKを使用して開発しなければならないらしい。



2012-12-23(日) 天皇誕生日

  • 今日と明日はCM社でスキャナを取り付ける工事。
  • 朝7時半に家を出て呉のCM社へ。
  • CD社のかたがスキャナを取り付けて配線する作業に立会い。
  • 配線が終わったら仮の電源を接続してスキャナを立ち上げる。
  • 赤外線が見えるように改造したカメラで光軸調整。
  • パソコンでデータを見るとスキャン方向が逆だった。これはソフトで対応する。
  • 梁が邪魔になってスキャナを理想の位置に取り付けられないために2つのスキャナの繋ぎ目のデータが微妙に取れない可能性。
  • 午後3時過ぎに撤収。
  • 帰宅。
  • 家で仕事。スキャン方向が逆だったのをソフトで対応。マスクが掛からないバグがあったので修正。



2012-12-22(土)

  • 病院。



2012-12-21(金)

  • S社向けユニットのFPGAやプログラムのソースの整理。
  • SoftKineticのSDKにはOptrimaSDKとDepthSenseSDKの2種類あって現在使っているのはOptrimaSDKの方。しかしこちらはDS311にあるマイクをサポートしていない。DepthSenseSDKを使いたいのだがこちらはどうやらWindowsVista以上にしか対応していないらしくXPだと「GetTickCount64がKERNEL32.dllにない」というエラーが出る。ちょっと思案中。
  • S社長来社。表面粗さを計測したいという案件などについて。
  • 連休の日曜と月曜にCM社の工場でスキャナを取り付ける工事があるので準備。赤外線が見えるように改造したカメラで光軸合わせをするのだ。
  • OptrimaSDKのヘッダのコメントを読んでいたら電源周波数によってフレームレートを変えるように推奨されていたので見守りシステムに電源周波数の設定項目を追加する。50Hzならフレームレートを25fpsに、60Hzなら30fpsにすると蛍光灯のチラチラが少なくなる。



2012-12-20(木)

  • やりたい事や、やらなければならない事がいっぱいあるので早出。
  • 引き続きS社向けユニットのFPGA改造のデバグ。完成。従来ソフトウェア転送でサンプリング限界が650kHz程度だったのがハードウェア転送になって1.8MHzまで行けるようになった。
  • S社から戻ってきたユニット3台にDIOのノイズ対策。2台に干渉外信号なしのプログラム、もう1台に先ほど完成した最新のプログラムを書き込む。
  • SoftKineticのDS311で撮った距離画像とカラー画像を重ね合わせて3次元変換し、ロール、ピッチ、ヨーをぐりぐり動かせるようにする。
  • 1GHzのWindowsXPだと10fpsがやっとなのに2.4GHzのWindows7は30fpsでサクサク動く。乗り換えるかな。



2012-12-19(水)

  • DT社の動かないAGVメインボード。出力FETが1個壊れていた。全てのCHでモータが片方にしか回らなかったのはテストプログラムでモータを回すタイミングに壊れたFETが電源を引っ張って落していたからだった。しかし壊れた原因が分からない。現場を見せていただくようリクエスト。
  • SoftKineticのDS311を組み込んだ見守りシステムをあれこれテスト。以前のP社のものより明らかにノイズが少ない。
  • DS311の電源は5VでUSBポートを2口使って供給できるようにもなっている(専用のACアダプタも付属している)。USBだけの供給はディスクトップでは動いたけど、うちにある2台のノートではどちらもだめだった。1.5Aくらい食うらしい。
  • 午後から矢野のDT社へ。AGVの現物を見せてもらう。修理したメインボードは問題なく動いた。結局原因は分からず。残り8枚のメインボードも受け入れ検査でOKなら良いということに。
  • 30分ほどで帰社。
  • SoftKineticの測距カメラは案外使えそうということで研究用にDS325を1台買うことに。
  • S社向けユニットのFPGA改造のデバグ。
  • S社から計測終了後の待機位置移動時は破損防止機能を無効にしてほしいとの要望。プログラムを修正。
  • アルテラのFPGA書き込み器USB-Blasterを壊してしまう。USB-BlasterのインターフェースはFTDIのUSBチップと初期化用EEPROMが載っているのだが、ユニットが繋がっていると思ってユニットのEEPROMをイレースしたつもりがUSB-Blasterが繋がっていてUSB-BlasterのEEPROMを消してしまったorz。幸いI君がもうひとつUSB-Blasterを持っていたので借りてEEPROMの内容を読み出して壊れたUSB-Blasterに書き込んで復旧。
  • 引き続きS社向けユニットのFPGA改造のデバグ。



2012-12-18(火)

  • SoftKineticのDS311のプログラムを見守りシステムに組み込む。
  • 2年前に作ったアンテナ制御システムのCDが欲しいとの要望で作成。
  • S社から要望のあったM社製サーボモータを使うためのケーブルピンアサインを調べてメールで送信。
  • 見守りシステムの制御フローを作成。
  • S社ユニットで[A/D]→[FIFO]→[SH4ソフトウェア]→[FIFO]→[USB]と流れているデータを[A/D]→[FIFO]→[FPGA]→[FIFO]→[USB]という処理とするための改造。FPGAのプログラムをしこしこ。通信プロトコルの処理をFPGAに組み込むのでややこしい。
  • DT社から先日納めたAGVメインボードが焼けたと戻ってきた。見た目焼けてはいないが全てのCHでモータが片方にしか回らない。明日詳細を調べてみよう。



2012-12-17(月)

  • 自民圧勝、民主惨敗。2009年8月30日にも書いたが何事も極端なのはよろしくない。まるでP制御しかしていないダメダメな制御のよう。
  • SoftKineticのDS311。optrima_enable_camera()でよくエラーになっていたがUSBケーブルを付属のごつい物に交換したら出なくなった。
  • カラー画像の取得にも成功。しかし今度は表示がフリーズするようになった。
  • どうも距離データや画像データの取得イベントでImageへの描写をするとよくないみたい。描写の部分をタイマイベントに移したらフリーズしなくなった。
  • Windows7機で試してみるとカラー画像の取得イベントが起きない。ドライバのせい?
  • カラー画像のイベントが起きないのは環境変数を設定していなかったから。DLLの起動時に参照しているらしくプログラムの最初でputenv()を実行しても効かなかった。



2012-12-16(日)

  • 家で仕事。S社向けの見積もり資料を作成して営業へメールで送信。
  • SoftKineticのDS311をあれこれ。optrima_exit()を実行する前にoptrima_removehandler_newframe()を実行して時間待ちを入れないとフリーズする。
  • 距離画像を表示できるようになった。


2012-12-15(土)

  • 蟄居。



2012-12-14(金)

  • 福山方面から戻ってきた含水率計1台の修理。久々に逆挿しでコンデンサとICを破裂させてしまったorz。
  • CM社設備更新。スキャナに手動でマスクを掛けられる機能を実装。
  • バージョン表示を実装。
  • M氏に預けていてもなかなか進まないSoftKineticのDS311を強奪。あれこれ試してみる。
  • OptrimaSDKというヤツでやるとCでなんとか動いた。しかし最新の物にはサンプルは付いているけどDLLが古くて動かず、9月にダウンロードしたDLLの方が新しかったりで戸惑う。



2012-12-13(木)

  • CM社設備更新の予備機。営業に持って帰ってもらった本来のスキャナをつないだら問題なく認識できた。スキャナの設定を読み出して保存しておく。
  • CD社からシーケンサ出力とTTL入力をつなぐ件について相談がくる。TELやらFAXでやり取り。シーケンサのインタフェースは24Vのシンクかソースがほとんどなので経験がないらしい。
  • S社から読み込み時に「インデックス範囲を超えている」のエラーが出るというデータを送ってもらう。こちらでは再現できなかった。使っているプログラムが古い疑い。
  • CM社改修工事について不明点をメールで質問。どうも元のVBのプログラムに納得のいかない部分がある。
  • VBから移植した部分をあれこれうまく動くように独自に改造。ほぼ完成。


2012-12-12(水)

  • AGVセンサボード2枚の修理。クリスタルの頭が飛んでいたのを見逃して罪のないCPUを交換してしまったorz。
  • PLCのデータを読み出して保存しておく。ちょっと確かめたかったデバイスの値を調べてみる。ラダーは分からない。
  • 出張中のS社のかたから判定条件(and/or)が違うのではないかとの指摘。調べてみると違う所を参照していた。修正してメールで送信。
  • 乾燥機コントローラの中国語バージョンを1セット準備。
  • CM社設備更新の予備機を準備。XPのsp3をインストールしてVSやらINtimeやらC++Builderやらの開発環境をインストール。
  • 出張中のS社のかたからウインドの名前を変更してほしいとの要望と、パラメータ設定のアクノリッジが返らないことがあるとの報告。アクノリッジは1度要求があると計測開始をしないと2度とは出さないようになっていた。修正してメールで送信。
  • CM社設備更新の予備機。INtimeの設定に手間取る。イーサネットでPLCは繋がったがスキャナはだめ。借りている違う機種で試したのだがどうやらスキャナの設定が違うらしい。本来の機種を1台持って帰ってもらうように営業にリクエスト。



2012-12-11(火)

  • S社向けユニット3台の出荷検査。
  • ユニットの基板をケースに組み込もうとしたらケースのセルスペーサが立っていない。ケースを板金屋さんへ返送。
  • USBコネクタが実装できないと言われて戻ってきた基板をチェック。M氏にリピートで製作してもらった基板なのにフットプリントが違っている。ライブラリか何かが入れ替わったんだな。とりあえず手付けで無理やり実装。
  • AGVメインボード1枚の修理。基板が焼損していて丸ごと交換。
  • AGVメインボード9枚の出荷作業。
  • S社より計測開始時に待機位置でスピンドル回転数が上がるまで待つようにしたいとの要望でプログラムを変更してテストしてメールで送信。
  • AGV用赤外線リモコン受光基板8枚製作。
  • 板金屋さんからケースが戻ってきたのでS社向けユニット3台をケースに組み込み出荷。
  • AGV用センサボード8枚出荷検査。
  • TempoSonic制御ユニットにノイズフィルタ用のコンデンサを取り付け。



2012-12-10(月)

  • VBから移植したプログラムがどうも思うように動かない。先日の不可解な部分も含めて最新のプログラムではない疑い。
  • S社から依頼されていた判定条件(and/or)を判定行ごとに設定できるようにするプログラムの改造。ファイルオープンしたデータに対応していなかったので修正。
  • S社向けユニット1台の修理。プログラムが起動しない。上書きしたら直った。
  • S社向けユニット3台の出荷準備、組み立て。



2012-12-9(日)

  • 家で仕事。今日もバグ1つ。VBだと変数を宣言すると0で初期化されるがCでは初期化されない部分。



2012-12-8(土)

  • 家で仕事。バグを一つ見つける。VBだとなぜうまく動くのだろうという疑問が。
for(i=1;i<=5;i++){
hoge[i] = hoge[1] - 5;
}
これでCだとhoge[1]とhoge[1]以外は違う値になるのだがVBだと同じ値になるらしい。不可解。


2012-12-7(金)

  • 油圧シリンダのジョグの反応が少し遅いので改造。シーケンサとの通信は大きなブロックで少ない回数行ったほうが速いはず。レジスタの常時読み込みを大きなブロックにする。そしてシリンダの制御をWin側からINtime側に移す。
  • 昼に出かけて市内CD社へ。
  • ジョグの反応は良くなった。
  • CM社からオペレータの方が来られて動作を見てもらい操作方法を伺う。
  • ある操作で不動小数点エラーが出たり思うような動作ができなかったり。
  • 午後4時過ぎに撤収。シーケンサを借りて帰る。
  • シーケンサとの通信の実時間をオシロで見ると旧プログラムでは25msecサイクルだったのが新プログラムでは15msecになっていた。思った通り。
  • シーケンサのレジスタ書き込みも大きなブロックでするように変更。



2012-12-6(木)

  • 営業に連れ出されて呉のH社へ。見守りシステム2(仮称)の会議に出席。メール送信のデモをしようとしたら送信できない。短いメールアドレスだと送れるのに長いメールアドレスを設定すると「宛先が設定されていない」とのエラーになる。社内のテストでは問題なかったのに。
  • 会議は昼に終了。
  • CM社へ移動。改修工事を行う現場を見学。モニタ画面をビデオに収める。思った通りVBのプログラムはエラーを出しまくっていた。
  • 呉市内のうどん屋「睦月」で昼食。
  • 帰社。
  • メールが送れない件の調査をK君にお願い。
  • INtimeが入っているパソコンでWindowsのアプリケーションを自動起動にするとINtimeが自動起動しない。M氏に相談するとDLLがINtimeより先に走るのが原因ではないかとのこと。
  • DLLを先に走らせないためにプログラムを一つ介してメインプログラムを起動するように改造。解決。
  • VBからC++に移植した部分が動かない件。あれこれプログラムを調査してバグを潰し何とか動くようになる。元のVBのプログラムは全て「On Error GoTo」で逃げていた。
  • 名古屋方面からお酒が届く。ありがとうございます。



2012-12-5(水)

  • CD社に直行しようと思っていたが昨夜思いついたTempoSonicのノイズ対策をするためとノイズフィルタに使うコンデンサを取りに社に早出。
  • FPGAのパルス幅計測でリトリガ禁止にする。これと昨日のフィルタでノイズには効くはず。
  • さらにパルス幅計測が前回と大幅に違ったらリミットで制限する処理を追加。
  • 9時前に市内のCD社へ。
  • コンデンサは0.01μFが丁度良い感じ。
  • 油圧シリンダのジョグ動作で停止する時にオーバーシュートする。最初は制御ゲインのせいかと思っていたが、停止する時に現在位置を目標位置に再設定しており、その現在位置を得るのも目標位置を設定するのも通信が介在しているので、その遅れが原因である事が発覚。停止コマンドを増設することで対策。
  • 停止コマンドを見逃す場合があるので原因を探るとintとfloatを混在して代入していた。
  • ちょこちょこ修正しながらシーケンサとのやり取りを確認。現在の環境でテストできる動作はほとんど完了。
  • sqrt()でエラーが発生。引数がマイナスになっている模様。演算の前にチェックを入れる。
  • 午後からCM社のかたが視察に来られた。金曜にはオペレータのかたに見てもらうことに。
  • ある部分でVBからC++に移植した部分が思うように動かない。
  • 午後5時半頃に撤収。パソコンを持ち帰る。
  • VBからC++に移植した部分が動かない件。VBのプログラムで配列の範囲外にアクセスしていたのをそのまま移植していた。VBだと許されるのか?運用によっては発生しないのでどうやっているのかをCM社に質問。



2012-12-4(火)

  • 市内CD社でCM社改修工事の動作チェック。シーケンサ担当のM社のかたと一緒に対シーケンサのやり取りがメイン。
  • シーケンサとのイーサネットが繋がらなくて躓く。シーケンサ側の設定の問題だった。
  • 細々としたレジスタの意味などをすり合わせながら修正。
  • 一部インチだった単位系をミリに統一。
  • 油圧ポンプを動かすとTempoSonicにインバータのノイズが入る。現場では対策が必要だな。とりあえずインバータを外してテスト。
  • 油圧シリンダが動かない。制御ゲインが大き過ぎた。PIDの各フィードバックゲインを微調整。
  • シリンダのジョグの停止が反応しない場合がある。プログラムを見直し。
  • 午後5時過ぎに撤収。帰社。
  • ジョグの停止が反応しない件の対策。
  • FPGAのプログラムでTempoSonicの入力部分に気休めのフィルタ。
  • S社からM社のサーボモータが使えるかとの問い合わせ。マニュアルをダウンロードして調査。なんとか使えそう。



2012-12-3(月)

  • 佐賀方面から送られてきたS社向けのミニアンプを調査。3枚共壊れていた。修理見積もりをメールで送信。
  • S社から依頼されていた判定条件(and/or)を判定行ごとに設定できるようにする件。プログラムを改造。以前のパラメータを読み込んでも齟齬がないようにする。
  • ミニアンプ3枚の修理。出荷検査についての文書も作成。
  • 出張中のS社のかたから連絡。新しいプログラムにしたら衝突防止センサが効いてしまうとのこと。こちらでも調べてみるが原因不明。
  • T社向けに含水率計1台を出荷。
  • Windows7機にDigi社のXbeeモジュール(USB-シリアル)をインストールしようとして手こずる。FTDI社のチップだからFTDIの最新のドライバで良いと思って試してもうまくいかない。結局Digi社のCDにあるドライバだとうまくいった。



2012-12-2(日)

  • 五日市に行った後、吉野家で食事。



2012-12-1(土)

  • 病院。
  • 船越のお米屋さんに行ったあと宇品の半田屋で食事。



-