2016年5月24日火曜日

IronPythonでIvi.Visa.Interop.IMessage.Closeをコールする

難儀したのでメモ
import sys
import clr
sys.path.append(r'C:\windows\assembly\GAC_32\Ivi.Visa.Interop\5.5.0.0__a128c98f1d7717c1')
clr.AddReferenceToFile('Ivi.Visa.Interop.dll')
from Ivi.Visa.Interop import *

visa_rm = ResourceManagerClass()
dev = FormattedIO488Class()

dev.IO = visa_rm.Open('GPIB0::5::INSTR')
dev.WriteString('*IDN?')
idn = dev.ReadString()
print(idn)

# 本題はこちら↓
imessage_close = clr.GetClrType(IMessage).GetMethod('Close')
imessage_close.Invoke(dev.IO, None)

NI Spyで確認した結果

2016年4月15日金曜日

Windows7 + VB6 で MSComctlLib を含むフォームのロードがコケる

大手電機メーカーのソフトウェアであっても製造の現場で安定して稼働しているシステムはいまだにVB6で作ったものだったりします。
今回もそんなVB6で構築したシステムのエンハンスで、.vbpファイルを開くとMSComctlLibを含むフォームのロードでエラーが出る状態だったため手っ取り早く対処します。

まずフォームをロードした時、VBがご丁寧に通知してくれるエラーログを確認します。

行 14: クラス MSComctlLib.Toolbar(コントロール Toolbar1) はロードされていません。
行 140: クラス MSComctlLib.ImageList(コントロール ImageList1) はロードされていません。
行 177: クラス MSComctlLib.StatusBar(コントロール StatusBar1) はロードされていません。

続いてcmd.exeを「管理者として実行...」して、以下の3行をコピー&ペーストです。
regsvr32 /u /s C:\Windows\System32\MSCOMCTL.OCX
regsvr32 /s C:\Windows\System32\MSCOMCTL.OCX
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe C:\Windows\system32\msdatsrc.tlb
あとはVB6 IDEのツールボックス上で右クリック⇒コンポーネントと進んで Microsoft Common Dialog Control 6.0 (SP6) をチェックして、 適用をクリックしてもエラーが出なければ・・・
 

2016年2月16日火曜日

プレゼンテーションは楽しむものか

私は仕事柄、依頼を受けたソフトウェアを「こんな風に実現します」ということを説明したり、立場上会社の説明を人前ですることが時々あります。本当に時々です。
でも私は全くもってこのスピーチとかプレゼンテーションが不得意科目で、少人数のまえでも熱い視線を感じると即座にアウアウアウアウアーとなってしまいます。
安定のド緊張チキンです。

そこでこのTEDを見て、スピーチとかプレゼンテーションの本質は何かを考えました。


正直な話、ウィル・スティーヴンは何を伝えたかったのかわかりません。
リスナーが彼の伝えようとしていたことを勝手に解釈すればいいのかもしれません。

個人的には人前で話すことを「楽しんでみたらどうよ?」って推奨しているかのように感じましたね。
こんなふうに自信をもって人前で話せるようになりたいす。

(完)

2016年2月5日金曜日

Arduinoはじめました(環境構築編)

「Arduinoはじめました」の第2回目、今回は開発環境の構築といきます。
まず前提ですが、こちらの環境はMacBook Pro、OSはYosemiteです。

では早速ソフトウェアを落としてきてインストールしましょう。
ソフトウェアのダウンロードは以下のリンク先から、Arduino謹製IDEです。
Windows、MAC、Linuxとあるので、自分がこれだと思ったものをダウンロードします。
https://www.arduino.cc/en/Main/Software

インストールは端折ります。

ではさっそくIDEを起動してみましょう。
素敵ですね、何の前触れも下準備もなく、しかもなんとなく何をしでかすのかわかるファンンクションネーム。
さあこれさえあればArduinoで実行するプログラムを作って、作成したプログラムをArduinoへ書き込んで、デバッグ用にログを表示するコンソールも準備完了。
環境構築\(^o^)/オワター
続いていちばん楽しみな、OSOYOO UNOとMacをUSBでつなぎますドキドキです。
およ、基盤の右側にあるグリーンのLEDが点灯してすんなり起動。
ちょっとは問題にぶち当たりたいかも。
嘘です。

さてここまできたら接続を確認します。
ArduinoのIDEをアクティブにして、メニューバーの[ツール]にマウスカーソルをあてて「マイコンボード」と「シリアルポート」になにやらデバイス感があればOKでしょう。
それでは今回の〆です。
OSOYOO UNOとMacをつないだときの写真、基盤中央よりちょっと左の上にあるオレンジのLED、その名も”L(える)”、こいつが点滅するプログラムを書いてボードに書き込んでみます。コードを書いて ➡︎ のアイコンをクリックするだけです。
void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(13, HIGH);
  delay(100);
  digitalWrite(13, LOW);
  delay(100);
  digitalWrite(13, HIGH);
  delay(100);
  digitalWrite(13, LOW);
  delay(1000);
}
ちょ、たのしぃ。。。

2016年1月23日土曜日

Arduinoはじめました (出会い)


冬ですが夏を感じさせるタイトルで失礼します。

去年のクリスマス、長男にサンタさんからプレゼントがありました。

↓こんなのです
  

黒いサンタは子供をハッカーにしようとしているのかもしれません。
長男がテキストを進むにつれ、父はLEDとコンタクトスイッチとブレッドボードとジャンパーワイヤが必要となることを知ります。
そして父は自分の体温が上昇しているのを知ります。
インターネットを徘徊し、お得感最強な一品を探しだしAmazonしました。

↓こんなのです

電子部品だけでも個別に買えばいいお値段しそうですが、Arduino互換ボード付きで¥3,780(当時)です。
私はプライムな人間なので、その日のうちにこの互換ボードと出会うことになります。



OSOYOO・・・ 
「おそよお」と読むのでしょうか、寝坊した時の挨拶のようです。

そしてこの日の夜、OSOYOO UNOはキット同梱のUSBケーブルで、自身のMacBook Proとめでたく結ばれることになります。

このキットの詳しい説明はコチラ

To be continued...