Winspecプログラム
をテンプレートにして作成
AND検索
OR検索
開始行:
*Winspec32を使ったプログラムを作るためのメモ 2015/03/09 ...
#contents
----
-wiki wordになるのを避けるために文字が小文字になっているw...
**CCDコントローラ ST-138Sの情報 (2015/10/27 追記) [#f1d49...
ST-138Sの中古について:ST-138S(Princeton Instruments)の...
**Windows 7とST-138S、Winspec32 (2015/03/09 追記) [#y87a4...
以下はWindows XP上でのプログラミングについて書いてまし...
** Winspec/32プログラミング [#y4f8505e]
Winspec32はローパー社の冷却CCDカメラ等を使った分光測定...
まずGoogleでWinspec32の情報を得る。また製品添付CDに入っ...
以下プログラムはVisual Studio 2008 Proで作っている(201...
-フォーム上に作ったAcqbuttonボタンを押すと、測定を始める...
Private Sub AcqButton_Click(ByVal sender As System.Ob...
Dim objExp As New WINX32Lib.ExpSetup
Dim objDoc As WINX32Lib.DocFile
Dim intStatus As Integer
If objExp.Start(objDoc) Then '測定開始
While objExp.GetParam(WINX32Lib.EXP_CMD.EXP_R...
System.Windows.Forms.Application.DoEvents...
End While
End If
End Sub
ボタンが押された時に、アクティブなスペクトルのカーソル...
Private Sub SetButton_Click(ByVal sender As System.Ob...
Dim objExp As New WINX32Lib.ExpSetup
Dim objDoc As WINX32Lib.DocFile
Dim objWin As WINX32Lib.DocWindow
Dim objCur As WINX32Lib.CursorObj
Dim objCal As WINX32Lib.CalibObj
Dim wl0 As Double
Dim objWins As New WINX32Lib.DocWindows
objWin = objWins.GetActive()
objDoc = objWin.GetDocument
objCal = objDoc.GetCalibration
objCur = objWin.GetCursor
wl0 = objCal.Lambda(objCur.XPos)
TextBox1.Text() = Str(Int(wl0 * 1000) / 1000) '...
End Sub
**Winspecから出力ポートの制御の例 [#zded79c4]
Princeton Instruments社のST-138 コントローラーには出力...
Private Sub Form1_Close(ByVal sender As System.Object...
Dim objExp As New WINX32Lib.ExpSetup
Dim ttl As Integer
laser = 0 'port 1; 0がoff, 1ならon 回...
light1 = 0 'port 2; 0がoff, 2ならon 落射...
light2 = 0 'port 3; 0がoff, 4ならon 透過...
'port 4; 未使用
bs1 = 0 'port 5; 0がoff, 16ならon ビーム...
bs2 = 0 'port 6; 0がoff, 32ならon ビーム...
ttl = laser + light1 + light2 + bs1 + bs2
objExp.SetParam(WINX32Lib.EXP_CMD.EXP_TTL_LINES, ...
End Sub
*RS-232C(シリアル制御)関連 (ここはWinspecとは無関係). [...
このRamanの場合はXYステージ制御(シグマ光機)をRS232C経由...
For Each sp As String In My.Computer.Ports.Serial...
ComboBox1.Items.Add(sp)
Next
SerialPort1.NewLine = vbCrLf ' 改行の設定.この...
上でセットされたComboBox1でポートが選択された時の処理。...
Private Sub ComboBox1_SelectedValueChanged(ByVal send...
If SerialPort1.IsOpen Then ' 既にオープンされ...
SerialPort1.Close()
End If
SerialPort1.PortName = ComboBox1.SelectedItem ...
Try
SerialPort1.Open() ' ポートをオープン
Catch ex As Exception ' エラー時にメッセージを...
MessageBox.Show(ex.Message)
End Try
End Sub
ステージにコマンドを送る例。以下は現在の位置を読んでい...
Private Sub CurrentStatus()
Dim t As String
SerialPort1.WriteLine("!:") '現在の状...
While SerialPort1.ReadLine = "B" '返事を読んで...
SerialPort1.WriteLine("!:")
Threading.Thread.Sleep(10)
End While
SerialPort1.WriteLine("Q:") ' 現在位置を要求
t = SerialPort1.ReadLine ' 位置を読み...
End Sub
終了行:
*Winspec32を使ったプログラムを作るためのメモ 2015/03/09 ...
#contents
----
-wiki wordになるのを避けるために文字が小文字になっているw...
**CCDコントローラ ST-138Sの情報 (2015/10/27 追記) [#f1d49...
ST-138Sの中古について:ST-138S(Princeton Instruments)の...
**Windows 7とST-138S、Winspec32 (2015/03/09 追記) [#y87a4...
以下はWindows XP上でのプログラミングについて書いてまし...
** Winspec/32プログラミング [#y4f8505e]
Winspec32はローパー社の冷却CCDカメラ等を使った分光測定...
まずGoogleでWinspec32の情報を得る。また製品添付CDに入っ...
以下プログラムはVisual Studio 2008 Proで作っている(201...
-フォーム上に作ったAcqbuttonボタンを押すと、測定を始める...
Private Sub AcqButton_Click(ByVal sender As System.Ob...
Dim objExp As New WINX32Lib.ExpSetup
Dim objDoc As WINX32Lib.DocFile
Dim intStatus As Integer
If objExp.Start(objDoc) Then '測定開始
While objExp.GetParam(WINX32Lib.EXP_CMD.EXP_R...
System.Windows.Forms.Application.DoEvents...
End While
End If
End Sub
ボタンが押された時に、アクティブなスペクトルのカーソル...
Private Sub SetButton_Click(ByVal sender As System.Ob...
Dim objExp As New WINX32Lib.ExpSetup
Dim objDoc As WINX32Lib.DocFile
Dim objWin As WINX32Lib.DocWindow
Dim objCur As WINX32Lib.CursorObj
Dim objCal As WINX32Lib.CalibObj
Dim wl0 As Double
Dim objWins As New WINX32Lib.DocWindows
objWin = objWins.GetActive()
objDoc = objWin.GetDocument
objCal = objDoc.GetCalibration
objCur = objWin.GetCursor
wl0 = objCal.Lambda(objCur.XPos)
TextBox1.Text() = Str(Int(wl0 * 1000) / 1000) '...
End Sub
**Winspecから出力ポートの制御の例 [#zded79c4]
Princeton Instruments社のST-138 コントローラーには出力...
Private Sub Form1_Close(ByVal sender As System.Object...
Dim objExp As New WINX32Lib.ExpSetup
Dim ttl As Integer
laser = 0 'port 1; 0がoff, 1ならon 回...
light1 = 0 'port 2; 0がoff, 2ならon 落射...
light2 = 0 'port 3; 0がoff, 4ならon 透過...
'port 4; 未使用
bs1 = 0 'port 5; 0がoff, 16ならon ビーム...
bs2 = 0 'port 6; 0がoff, 32ならon ビーム...
ttl = laser + light1 + light2 + bs1 + bs2
objExp.SetParam(WINX32Lib.EXP_CMD.EXP_TTL_LINES, ...
End Sub
*RS-232C(シリアル制御)関連 (ここはWinspecとは無関係). [...
このRamanの場合はXYステージ制御(シグマ光機)をRS232C経由...
For Each sp As String In My.Computer.Ports.Serial...
ComboBox1.Items.Add(sp)
Next
SerialPort1.NewLine = vbCrLf ' 改行の設定.この...
上でセットされたComboBox1でポートが選択された時の処理。...
Private Sub ComboBox1_SelectedValueChanged(ByVal send...
If SerialPort1.IsOpen Then ' 既にオープンされ...
SerialPort1.Close()
End If
SerialPort1.PortName = ComboBox1.SelectedItem ...
Try
SerialPort1.Open() ' ポートをオープン
Catch ex As Exception ' エラー時にメッセージを...
MessageBox.Show(ex.Message)
End Try
End Sub
ステージにコマンドを送る例。以下は現在の位置を読んでい...
Private Sub CurrentStatus()
Dim t As String
SerialPort1.WriteLine("!:") '現在の状...
While SerialPort1.ReadLine = "B" '返事を読んで...
SerialPort1.WriteLine("!:")
Threading.Thread.Sleep(10)
End While
SerialPort1.WriteLine("Q:") ' 現在位置を要求
t = SerialPort1.ReadLine ' 位置を読み...
End Sub
ページ名: