VB2008から大型7セグメントLEDディスプレイ LED841 にメッセージを表示する


シリアルポートに接続したカスタマディスプレイLED841にメッセージを表示する

PCのキーボードから入力した値を、以下の制御プログラムを使って、ディスプレイLED841に表示させます。

本例はシリアル通信により、LED841を制御する簡単な例です。 実際にプログラムを作成する際の参考を目的としています。

 

動作環境

  • Visual Studio.NET2008、Windows PC

  • LED841

制御プログラム実行でのLED表示例

1.本サンプルでは、起動直後は送信先にCOM2が設定されます。

2.値入力に数値4桁を入力し、表示ボタンクリックすると、ディスプレイに入力値が表示されます。

3.クリアボタンクリックすると、値入力のテキストとディスプレイの表示はなくなります。

制御プログラムの準備

実際に、下記の動作環境で、Visual Basic 2008 Professional Editionでコマンドの一部を利用して作成しました。

(本プログラムで使用するコマンド)

D (値表示)
C (表示値クリア)


(手順)

1.[ファイル]-[新しいプロジェクト]で、テンプレートにWindowsフォームアプリケーションを選択し、プロジェクト名を"LED841制御"と入力し[OK]ボタンをクリックします。

2.下記のようにソリューションが自動作成されます。

3.VB2008では、シリアルポートを利用する場合に、SerialPortコントロールが標準で用意されています。ツールボックスからSerialPortコントロールを選択します。
VB6のMsCommで直接制御できなかったタイムアウト処理やVB2003では苦労したEncodeなどがVBとして使用できるため、シリアルポートを利用した業務プログラムが簡単に作成できるようになっています。

4.以下のような画面とコントロールを配置します。

 

表示コマンド書式

表示コマンドは、シリアル通信として開始コード+表示コマンド+終了コードの書式で送信します。

	 例)値表示のコマンド送信
		端末アドレス値が48(0x30)で、表示したい数値"1234"の場合(以下は16進数表記)
0x1B,0x30,0x44,0x31,0x32,0x33, 0x34, 0x0D
開始コード端末アドレスDコマンド数字"1"数字"2" 数字"3" 数字"4"終了コード

 

サンプルで使用するコマンド

限られた表示コマンドで、表示は可能です。
本サンプル以外のコマンドにつきましては、製品添付マニュアルをご参照ください。

	下記の各項目の見方
	XXコマンド
	【名称】	コマンドの名称を記述します。
	【コード】	コマンドを構成するコマンド書式を記述します。pはパラメータを示します。
	【定義域】	パラメータの設定可能な範囲を記述します。
	【初期値】	パラメータの初期値を記述します。
	【機能】	コマンドの機能を記述します。
	【注意】	必要に応じてコマンドを使用する際の注意事項を記述します。

	Dコマンド
	【名称】	値表示
	【コード】	ASCⅡ		D	p1	p2	p3	p4
			16進数		44	p1	p2	p3	p4
			10進数		68	p1	p2	p3	p4
	【定義域】	p1〜p4:0(0x30)〜9(0x39), スペース(0x20), "−" 記号(0x2D)
	【機能】	 p1が4桁目LED、p2が3桁目LED、p3が2桁目LED、p4が1桁目LEDに該当し、数値、スペース、−記号のいずれかを表示できます。
	【注意】	表示値点滅コマンドとの関係は、お互いに機能が独立していて、影響を受けることはありません。

	Cコマンド
	【名称】	表示値クリア
	【コード】	ASCⅡ		C
			16進数		43
			10進数		67
	【機能】	電源がON状態の時、表示値がクリアされます。値表示するには、直接に値表示コマンドを送信します。

	

VB2008用 LED841表示のサンプルソース

以下は対応するサンプルコード全文です。コメント内容は緑字


'
'   (C)Copyright by Techno Veins Co.,Ltd.
'   All right reserved. 2010
'

'   このプログラムの著作権はテクノベインズが保有します。
'   独自開発プログラムへソースの組込使用については自由に参考利用していただいてかまいません。(費用・登録等不要。)
'   LED841販売の際、商品に添付して配布することはご自由に行ってください。
'
'   直接ソースの全部または一部を販売することは禁止します。
'   ソースの全部または一部を再配布や書籍・Web等への許可なき転載は禁止します。
'
'   本プログラムは参考用であり、すべてのお客様の環境で動作を保証するものではありません。
'   また、本プログラムを用いることで、何らかの不利益が発生した場合であっても、テクノベインズでは一切の保証を行いません。
'
'   説明のために1行で記述できる行も分解して記述している部分があります。
'
'
'   変更履歴
'               Oct.22.2010    Ver 0.01   Tsubasa Shiota
'

Public Class frmSend

	'
	'	LED841用
	'		簡単な表示およびシリアル制御のサンプル
	'
	'	
	'	LED841のコマンドについてはhttp://www.technoveins.co.jp/pdf/LED841_manual.pdf
	'	を参照のこと

	' 画面ロード時

	Private Sub frmSend_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

		' シリアルポートの通信速度指定

		SerialPort1.BaudRate = 9600


       		' シリアルポートのパリティ指定

		SerialPort1.Parity = IO.Ports.Parity.None


		' シリアルポートのビット数指定

		SerialPort1.DataBits = 8

		' シリアルポートのストップビット指定

		SerialPort1.StopBits = IO.Ports.StopBits.One


		'通信ポートの選択肢をコンボボックスに追加

		cmbSendTo.Items.Add("COM1")
		cmbSendTo.Items.Add("COM2")
		cmbSendTo.SelectedIndex = 1

		'ポート先の指定

		SerialPort1.PortName = cmbSendTo.Text
	End Sub



	' 表示ボタンクリック時

	Private Sub btnShow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShow.Click


		'値表示コマンドの送信(下記のコメント順に16進数形式でデータ書式を連結する)
		'ESC→&H1B
		'アドレス値→&H30
		'値表示コマンドD→&H44
		'表示数値→txtNumeric.Text
		'CR→&HD


		SendLED(Chr(&H1B) & Chr(&H30) & Chr(&H44) & txtNumeric.Text & Chr(&HD))

	End Sub


	' クリアボタンクリック時

	Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click	 

		txtNumeric.Text = ""


		'表示値クリアコマンドの送信(下記のコメント順に16進数形式でデータ書式を連結する)
		'ESC→&H1B
		'アドレス値→&H30
		'表示コマンドC→&H43
		'CR→&HD


		SendLED(Chr(&H1B) & Chr(&H30) & Chr(&H43) & Chr(&HD))

	End Sub


	' 終了ボタンクリック時

	Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click
		Application.Exit()
	End Sub


	' 各コマンドの送信処理

	Private Sub SendLED(ByVal msgText As String)
	  Try

            		'ポート先の設定

 
           		
           		SerialPort1.PortName = Me.cmbSendTo.Text


            		'シリアルポートのオープン

            		SerialPort1.Open()


			'送信
			' SerialPortで直接Encode処理ができるため、VB2003までのような独自文字Encord処理は不要

			SerialPort1.Write(msgText)


			'送信バッファが空になるのを待ってClose処理を行う

			While SerialPort1.BytesToWrite > 0


			'必要に応じて、タイムアウト処理を組み込む(このままでは戻ってきません。)

			End While
                       

            		
            		'シリアルポートのクローズ

            		SerialPort1.Close()

		Catch ex As Exception

            		'シリアルポートのクローズ

            		SerialPort1.Close()

			'最小限のエラー処理しか行っていない。
			'これだけでもケーブルが外れた場合などの際、タイムアウトのエラーで表示が行える。

			MsgBox("シリアル通信エラー", MsgBoxStyle.Critical)

		End Try
	End Sub
End Class

※本サンプルプログラムは参考のための一例であり、すべてのお客様の環境で動作保証するものではありません。


参考


参考技術情報

 

VB/.Netframework開発関連 参考情報

Visual Basic 2013 [VB2013]による開発情報

VB2013 Expressのインストール

VS2013 Express

無償で開発ができるマイクロソフトの開発言語 Visual Studio Express 2013 のインストール

VB2013からカスタマディスプレイVFD2002Eにメッセージを表示する VB2013 Express SerialPort接続によるカスタマディスプレイVFD2002Eの制御

Visual Basic 2008 [VB2008]による開発情報

VB2008 Expressのインストール

VB2008 Express

無償で開発ができるマイクロソフトの開発言語 VB2008 Expressのインストール

VB2008 と VB2008Expressでのテンプレート比較 VB2008/VB2008 Express プロジェクトテンプレート一覧からによる対応環境の比較
VB2008からカスタマディスプレイVFD2002Eにメッセージを表示する VB2008 Express SerialPort接続によるカスタマディスプレイVFD2002Eの制御
VB2008から大型7セグメントLEDディスプレイ LED841 にメッセージを表示する VB2008 SerialPort接続によるカスタマディスプレイVFD2002Eの制御

Visual Basic 2005 [VB2005]による開発情報

VB2005 Expressセットアップ方法の説明

VB2005 Express

無償で開発ができるマイクロソフトの開発言語 VB2005 Expressのインストール

VB2005 はじめての実行 VB2005 / VB2005 Express VB2005での開発

シリアルポートをつかう通信クラス SerialPortについて

VB2005

SerialPortコントロールを使用した開発実例

VB2005からカスタマディスプレイVFD2002Eにメッセージを表示するサンプル VB2005 シリアルポートに接続したカスタマディスプレイLED841にメッセージを表示する

Visual Basic 6 [VB6]による開発情報

VB6からカスタマディスプレイVFD2002Eにメッセージを表示する

  VB6 

MsComm接続によるカスタマディスプレイVFD2002Eの制御 

VBA [Excel2000/2003, Access]による開発情報

VFD2002EをExcelで使用する解説

  VBAによるサンプル 

ExcelのVBAから簡易表示ユーティリティを呼び出し表示を行う例。自己署名によるデジタル署名付きマクロ登録など 

.Netframework開発情報

.Net Framework再頒布パッケージについて .NetFramework .NetFramework再配布パッケージの入手に関する情報

Windows は米国 Microsoft Corporation の米国およびその他の国における登録商標です。Microsoft Corporationのガイドラインに従って画面写真を使用しています。

技術情報Index

シリアル通信関連 参考情報

シリアル開発

シリアルポートをつかう通信クラス SerialPortについて VB2005 SerialPortコントロールを使用した開発実例
VB2008からカスタマディスプレイVFD2002Eにメッセージを表示する VB2008 SerialPort接続によるカスタマディスプレイVFD2002Eの制御
VB2005からカスタマディスプレイVFD2002Eにメッセージを表示するサンプル VB2005 SerialPort接続によるカスタマディスプレイVFD2002Eの制御
VB6からカスタマディスプレイVFD2002Eにメッセージを表示する VB6 MsComm接続によるカスタマディスプレイVFD2002Eの制御 

RS232シリアル情報

接続ケーブル シリアルケーブル シリアル接続ケーブル情報
通信ケーブル情報 シリアルケーブル シリアル接続ケーブル情報
シリアルインターフェース用 クロスケーブル シリアルケーブル シリアル接続ケーブル情報
シリアルインターフェース用 ストレートケーブル シリアルケーブル シリアル接続ケーブル情報
インターリンクケーブル シリアルケーブル シリアル接続ケーブル情報
IN-9FFケーブル資料 シリアルケーブル  
コネクタ資料 シリアルコネクタ シリアルコネクタ信号配置
コネクタ対比表 シリアルコネクタ  
コネクタ留めネジについて( インチネジ - ミリネジ ) シリアルコネクタ  

シリアル接続機器     

VFD2002Eカスタマディスプレィ シリアル接続 VFD表示ディスプレイ
DM-D110カスタマディスプレィ シリアル接続 VFD表示ディスプレイ
4206 - 2次元バーコード対応 高性能エリアイメージャ USBシリアル接続 バーコードスキャナ
TM-T884シリーズ サーマルレシートプリンタ シリアル接続 レシートプリンタ
TM-T90 シリアル接続 レシートプリンタ
TSP100 futurePRNT シリアル接続 レシートプリンタ
TM-L90サーマルラベルプリンタ シリアル接続 ラベルプリンタ
RS232-USB I/Fコンバータ USB232-00 USB接続 シリアルポートを増設するコンバータ
コネクタ防塵用キャップ Dsubコネクタ コネクタ保護キャップ
その他参考

技術情報Index


Last Update : 2023/04/26