日記一覧
当サイトに登録されている日記一覧
久々のオーディオネタ。
昨年後半に製作した、MSDBS-1。
早く塗装をして塩ビ管SPのサイトに投稿したいと思いつつ、半年も経ってしまいました。 本日、いよいよその塗装工事に着手。
写真で見ると結構綺麗に塗れていますが、実際は急いだせいでムラだらけです。
実は、ちょっとしたモチーフというかコンセプトを元にデザインしてます。 完成後には、改名予定です。 さてどんな名前になるのか、想像してみてください。
(既にご存知の方はすみませんが内緒で。
)
完成は明日か、月曜日の予定。
(追記): 塗装終了し掲載しました。:Cool Biz
このSPの設計製作・測定ページ: MSDBS-1(Middle-Speed DB Spiral-1)
先日以来、PHPで案件に取り組んでいます。
三菱のデータロガーユニットの「クセ」に悩まされつつ、だいぶ進んできました。 昨日と今日は、WEB画面でのグラフ表示にチャレンジ。
WEBブラウザ上でのグラフ表示には色々な方法がありますが、今回はできるだけ簡単に(書くコードが少ないという意味)時間をかけず、見栄えをあまり凝らずに行きたいので、 Javascriptでやってみました。
といっても、いつものように、オープンソースを使います。 
Chart Widget Demo(WebFX)
自由度は相当低いですが、その分、敷居が低いですね。 今の私には丁度良い。(笑)
結果、こんな感じです。 20~1000レコードを60秒おきにリロードし、データロガーユニットからFTPでダウンロードしグラフ描画します。 意外に軽い。
今回はこんな感じで済ませましたが、もっと本格的なグラフ表示も試してみたいですね。
仕事にPHPを使って自身新分野に挑戦中! 
概要
こちらのデータロガーユニット を使ってPLCから受信したEXCELレポートを、ユーザーがWEBサーバー経由で最新版をダウンロードする、というもの。 EXCELのファイル名が固定化していないので、WEBサーバーにFTPクライエントを立てて、ユニットのFTPサーバーへ接続してファイル名を得ることから。
ASPで?
サーバーはWindowsXPのIIS。 ならばASPだね、ってことでASPでFTPクライエントコードを探したのだが、見つからず。 結局、ASP.netなこのページか。
WebClientクラスでFTPによりファイル転送を行うには? [@IT .NET TIPS]
しかし、このためだけに.aspxに踏み込むのはいかにも時間の無駄。 やはり色々準備されているPHPかな。 XOOPSで馴染んできたPHPなのでハードルは低くなっているし、イントラ内のシステムなので、セキュリティーへの配慮も負担が少ない。
PHPで?
ということで、PHP5をインストール。 IIS+PHPはあまりメジャーではないのだが、下記ページを参考にSAPIでやってみたらOK。
PHP5 インストール・設定方法(IIS 編) [Windows で PHP を使おう]
(注意)
IISで仮想ディレクトリを使う場合、「No input file specified」というエラーが出たら
doc_root =
としておくと良さげ。
FTP関数?
そして、PHP5に準備されているFTP関数を使えば、OK?
FTP関数 [PHP マニュアル]
これ、間違いなく使えて他のPCのWEBサーバーともログイン・「ftp_nlist」によるファイル名取得、ともOKなのに、このデータロガーユニット内のFTPサーバーとは相性が悪いのか、「ftp_nlist」でも「ftp_rawlist」でも 空の配列が返るだけで取得できない。 
半日悩んだ挙句、下記のページを参考に fputsとfgetsで返答文字列を確認しながらやってみると、どうやらうまくいきそうな予感。
FTPクライアント [PHPのちょっとしたTIPS]
最終的には、上のページで配布されている、このクラスを使うことにして、無事にファイル名を得ることができた。
まとめ
私にとっては新分野ではあったが、ひとつ心配なハードルがクリアできたので、このまま行くつもり。
設備制御分野では「電気屋」と「システム屋」のドメインが分かれているので、こういうコラボで小ぶりな仕事には、私のようなマルチ人間は便利で重宝されるため、今後も突っ込んでいきたいと思う。 
タグ VirtualBox
さて、昨日の記事 で書いた自業自得のトラブルから復帰したわけですが、 折角の機会なので、このノートPCに乗っている仮想のWin-XPを、VirtualPC2007 ~ VirtualBoxに乗り換えようと考えました。
動機
VirtualPCも長く使ってきたので、不満に思っていた速度にも慣れてしまったところ。 VirtualBoxでは高速化に期待です。
...
やってしまいました
データの誤消去。 
いつも仕事で使っているPCです。 取り急ぎ、重要な仕事のデータは、ほぼ復元できました。
発端は、「DISK残量も少なくなってきたし、古いデータは圧縮アーカイブにして一旦外付けHDDに退避させ、その間にデフラグでもやっておくかな。」 という軽い気持ち。 忙しい時にはできないから、こういう仕事の狭間は絶好のチャンス。
使った外付けHDDは、いつものUSB2.0外付けケースに、160GBのディスクを入れたもの。 そもそも、この判断が誤り。 大事なデータゆえ、Raidでミラーリングされたサーバーに退避すべきだったし、このディスクは、以前サーバーで酷使してきたものでありました。 
データ消失までの成り行き
- まず、PC上でアーカイブ化した仕事のデータを、外付けHDDに転送。この時点ではきちんと退避されていたことを確認済み。
- 続いて、PC上の元データの消去を開始。
- 消去が終わる頃、欲を出して「あ、このデータも退避しておこう・・」 と思って外付けHDDにコピーを開始した時、悲劇が起こった。 「遅延書き込みに失敗しました。ディスクにエラーがある可能性・・」

- あっと思ったとき、丁度データ消去は完了していた。 ハイ、デフラグかけるのですから、shift+delでごみ箱スルーの一発消去してましたし。
- 外付けHDDを一旦離脱させ、改めて接続してみたけれども、「カチカチカチ、ジーッ・・」の繰り返し。やっちまったぁ
一瞬の判断ミスが命取りになりました。
その後の復旧トライ
- まずは駄目元で、「ドライブの復活」を試してみました。 これ、結構いけます。 何度か途中でエラーになるのを我慢して繰り返していたら、接続できるようになりました。
おかげで、いくつかのデータを救うことが可能に
。 しかし、壊れたディスクですから限界があります。 1MB以上クラスのファイルは救えませんでした。 - 続いて、消去したばかりのPCのディスク上で「復元」にトライ。 フリーソフトでいくつか試してみたうち、フォルダ構造で救える「データ復活/完全削除 【無料版】」が(XP限定ながら)一番使いやすかったです。
注意すべきは、元のフォルダ位置を認識できないような場合にも、Windowsフォルダの下の階層にくっついている場合があるので、見失わないように。 知らないとファイルひとつずつ救出するという恐ろしい作業が待っています。
それから、この手のソフトを使っても、すべてが救えるわけでは無いです。 今回のものでは、ざっと50%位だったかな。
以上により、OUTLOOKのオフラインデータや、最近の重要なデータは無事に救えました。 救えなかったのは、自社かお客様のサーバーにバックアップ済みデータのみ。
そして今、晴れてそのPCはドライブのバックアップ後に無事にデフラグ中。 
教訓
- 作業ミスの可能性を考慮して、手順を踏むべし。
- たとえ一時的なものであっても、データ退避は信頼できる複数のディスクかメディアに取るべし。
- ディスクのパーティションは、適切に切っておくべし。 今回、データが起動ドライブにあったのがそもそもの要因。
- データ復旧ソフトの1本くらいは買ってたほうが幸せかも。


2

