RS232C Serial Communication
PCI Express Board

2010 年 6 月
第 4.0 版

ラトックシステム株式会社

REX-PE64 RS232C PCI Express Board

安全にご使用いただくために第１章 はじめに --------------------------------------------- 1- 1
1- 1
(1-1) 製品仕様
1- 2(1-2) 添付品
1- 3(1-3) コネクタピンアサイン
1- 4(1-4) ロータリスイッチについて
1- 4(1-5) ブラケットの取替え
1- 5(1-6) レジスタセット
第 2 章 Windows セットアップ --------------------------------------（2-1） Windows 7(x32/x64)/Vista(x32/x64)
2000/Server2008(x32/x64/R2)/2000Server セットアップ（2-2） Windows XP(x32/x64)/Server2003(x32/x64)セットアップ(2-3) インストールの確認（2-4） COM ポート番号の変更と設定について（2-5） ドライバのアンインストール

2- 1
2- 1

第 3 章 設定ポート確認用ライブラリ関数---------------------------(3-1) ライブラリ関数について(3-2) 関数仕様(3-3) 設定ポート確認サンプルアプリケーションの構成について(3-4) ライブラリ関数の呼び出し(3-5) 設定ポート確認サンプルアプリケーションについて

3- 1
3- 1
3- 1
3- 6
3- 7
3- 9

2- 3
2- 8
2- 9
2-10

第 4 章 通信サンプルアプリケーション -------------------------------- 4- 1
4- 1
(4-1) 通信サンプルアプリケーションの構成について
4- 1(4-2) 通信サンプルアプリケーションについて቟ో䬺䬣૶↪䬓䬮䬯䬞䬮䭐䬺ᧄ⵾ຠ䬾቟ో䬺లಽ㈩ᘦ䬦䬵⸳⸘䭡ⴕ䬲䬵䬓䭍䬨䬛䫺⺋䬲䬮૶䬓ᣇ䭡䬨䭚䬷Ἣἴ䭓ᗵ㔚䬹䬸䬽੐᡿䬺䬳䬹䬛䭙ᄢᄌෂ㒾䬶䬨䫻䎃䬣૶↪䬽㓙䬾䫺⼊๔䎒ᵈᗧ੐㗄䭡ᔅ䬩቞䬲䬵䬞䬯䬤䬓䫻⴫␜䬺䬳䬓䬵
䬢䬽ขᛒ⺑᣿ᦠ䬾䫺ᰴ䬽䭗䬕䬹⴫␜䭡䬦䬵䬓䭍䬨䫻⴫␜䬽ౝኈ䭡䭗䬞ℂ⸃䬦䬵䬚䭘ᧄᢥ䭡䬙⺒䭎䬞䬯䬤䬓䫻⼊๔䬢䬽⴫␜䭡ήⷞ䬦䬵⺋䬲䬮ขᛒ䬓䭡䬨䭚䬷䫺Ἣἴ䭓ᗵ㔚䬹䬸䬺䭗䭙䫺ੱ䬛ᱫ੢䭍䬮䬾㊀்䭡⽶䬕น⢻ᕈ䬛䬑䭚ౝኈ䭡␜䬦䬵䬓䭍䬨䫻ᵈᗧ䬢䬽⴫␜䭡ήⷞ䬦䬵⺋䬲䬮ขᛒ䬓䭡䬨䭚䬷䫺ᗵ㔚䭓䬬䬽ઁ䬽੐᡿䬺䭗䭙䫺ੱ䬛⽶்䭍䬮䬾‛⊛៊ኂ䬛⊒↢䬨䭚น⢻ᕈ䬛䬑䭚ౝኈ䭡␜䬦䬵䬓䭍䬨䫻⼊๔䧎䎃⵾ຠ䬽ಽ⸃䭓ᡷㅧ䬹䬸䬾䫺⛘ኻ䬺ⴕ䭞䬹䬓䬶䬞䬯䬤䬓䫻
䧎䎃ήℂ䬺ᦛ䬡䭚䫺⪭䬷䬨䫺்䬳䬠䭚䫺਄䬺㊀䬓‛䭡タ䬪䭚䬢䬷䬾ⴕ䭞䬹䬓䬶䬞䬯䬤䬓䫻䧎䎃⵾ຠ䬛᳓䯂⮎ຠ䯂ᴤ䬹䬸䬽ᶧ૕䬺䭗䬲䬵Ứ䭛䬮႐ว䫺䭾䮮䯃䮏䬺䭗䭚Ἣἴ䭓ᗵ㔚䬽ᕟ䭛䬛䬑䭚䬮䭐䫹䫹૶↪䬦䬹䬓䬶䬞䬯䬤䬓䫻ᵈᗧ䧎䎃ᧄ⵾ຠ䬾㔚ሶᯏེ䬶䬨䬽䬶䫺㕒㔚᳇䭡ਈ䬗䬹䬓䬶䬞䬯䬤䬓䫻䧎䎃䮰䭿䭱䭓䮍䮳䮚䫺䭱䯃䮎䭪䭱ᯏེ䬽ㄭ䬞䫺䮩䯃䮆䯃䬹䬸䬽䮕䭫䮁䬛⊒↢䬨䭚ᯏེ䬽ㄭ䬞䬶䬾⺋േ૞䬨䭚䫹䫹䬢䬷䬛䬑䭙䭍䬨䫻ᔅ䬩㔌䬦䬵䬣૶↪䬞䬯䬤䬓䫻䧎䎃㜞᷷ᄙḨ䬽႐ᚲ䫺᷷ᐲᏅ䬽ỗ䬦䬓႐ᚲ䫺䮈䮱䭓䭊䬢䭙䬽ᄙ䬓႐ᚲ䫺ᝄേ䭓ⴣ᠄䬽ട䭞䭚႐ᚲ䫺䫹䫹䮀䮛䯃䭲䬹䬸䬽⏛᳇䭡Ꮺ䭂䬮‛䬽ㄭ䬞䬶଻▤䬦䬹䬓䬶䬞䬯䬤䬓䫻䧎䎃ᾍ䬛಴䬮䭙⇣⥇䬛䬨䭚႐ว䬾䫺⋥䬰䬺䮘䮄䭺䮺䭓๟ㄝᯏེ䬽㔚Ḯ䭡ಾ䭙䫺㔚Ḯ䭸䯃䮝䮲䭑䭺䮺䮂䮺䮏䎃䫹䫹䬚䭘ᛮ䬓䬵䬞䬯䬤䬓䫻䧎䎃ᧄ⵾ຠ䬾䫺ක≮ᯏེ䫺ේሶജᯏེ䫺⥶ⓨቝቮᯏེ䫺ャㅍᯏེ䬹䬸ੱ๮䬺㑐䭞䭚⸳஻䭓ᯏེ䫺䫹䫹෸䭂㜞ᐲ䬹ା㗬ᕈ䭡ᔅⷐ䬷䬨䭚⸳஻䭓ᯏེ䬶䬽૶↪䬾ᗧ࿑䬤䭛䬵䬙䭙䭍䬪䭢䫻䬢䭛䭘䬽⸳஻䫺ᯏེ䫹䫹೙ᓮ䭾䮀䮍䮧䬺ᧄ⵾ຠ䭡૶↪䬦䫺ᧄ⵾ຠ䬽᡿㓚䬺䭗䭙ੱり੐᡿䎒Ἣἴ੐᡿䎒䬬䬽ઁ䬽㓚ኂ䬛⊒↢䫹䫹䬦䬮႐ว䫺䬓䬚䬹䭚⽿છ䭑⽶䬓䬚䬼䭍䬨䫻䧎䎃ข䭙ઃ䬠ᤨ䫺㍈䬓ㇱಽ䬶ᚻ䭡ಾ䭘䬹䬓䭗䬕䬺䫺චಽᵈᗧ䬦䬵૞ᬺ䭡ⴕ䬲䬵䬞䬯䬤䬓䫻䧎䎃㈩✢䭡⺋䬲䬮䬢䬷䬺䭗䭚៊ᄬ䫺ㅺᄬ೑⋉䬹䬸䬛⊒↢䬦䬮႐ว䬶䭑䫺䬓䬚䬹䭚⽿છ䭑⽶䬓䬚䬼䭍䬨䫻䬬䬽ઁ䬽䬣ᵈᗧ䧎 ᧄᦠ䬽ౝኈ䬺㑐䬦䬵䫺዁᧪੍๔䬹䬦䬺ᄌᦝ䬨䭚䬢䬷䬛䬑䭙䭍䬨䫻䧎 ᧄᦠ䬽ౝኈ䬺䬳䬜䭍䬦䬵䬾ਁో䭡ᦼ䬦䬵૞ᚑ䬦䬵䬙䭙䭍䬨䬛䫺ਁ৻ਇክ䬹ὐ䭓⺋䭙䬹䬸䬙᳇䬴䬜䬺䬹䭙䭍䬦䬮䭘䬣ㅪ⛊䬙㗿䬓↳䬦਄䬡䭍䬨䫻䧎 ᧄ⵾ຠ䬽ㆇ↪䭡ℂ↱䬷䬨䭚៊ᄬ䫺ㅺᄬ೑⋉䬹䬸䬽⺧᳞䬺䬳䬜䭍䬦䬵䬾䫺䬓䬚䬹䭚⽿છ䭑⽶䬓䬚䬼䭍䬨䬽䬶䫺੍䭐䬣ੌᛚ䬞䬯䬤䬓䫻䧎 ⵾ຠᡷ⦟䬽䬮䭐䫺዁᧪੍๔䬹䬞ᄖⷰ䭍䬮䬾઀᭽䬽৻ㇱ䭡ᄌᦝ䬨䭚႐ว䬛䬑䭙䭍䬨䫻䧎 ᧄ⵾ຠ䬾ᣣᧄ࿖ౝ઀᭽䬷䬹䬲䬵䬙䭙䫺ᶏᄖ䬶䬽଻቞෸䭂䭼䮤䯃䮏䬾ⴕ䬲䬵䬙䭙䭍䬪䭢䫻䧎 ᧄ⵾ຠ䭡ᑄ᫈䬨䭚䬷䬜䬾࿾ᣇ⥄ᴦ૕䬽᧦଀䬺ᓥ䬲䬵䬞䬯䬤䬓䫻᧦଀䬽ౝኈ䬺䬳䬓䬵䬾ฦ࿾ᣇ⥄ᴦ૕䬺䬙໧䬓ว䭞䬪䬞䬯䬤䬓䫻䧎 ᧄ⵾ຠ䬽଻⸽䭓ୃℂ䬺㑐䬦䭍䬦䬵䬾䫺ᷝઃ䬽଻⸽ᦠ䬺ౝኈ䭡᣿⸥䬦䬵䬙䭙䭍䬨䫻ᔅ䬩ౝኈ䭡䬣⏕⹺䬽਄䫺ᄢಾ䬺଻▤䬦䬵䬞䬯䬤䬓䫻䧎 䙼REX䙽䬾ᩣᑼળ␠䮱䭺䯃䬛໡ᮡᮭ䭡ᚲ᦭䬦䬵䬙䭙䭍䬨䬛䫺ᑷ␠䬾䬬䬽૶↪⸵⻌ᄾ⚂䬺䭗䭙ᧄ໡ᮡ䬽૶↪䬛⹺䭐䭘䭛䬵䬓䭍䬨䫻䧎 䎺䏌䏑䏇䏒䏚䏖䬾☨࿖䮥䭫䭶䮴䮄䮜䮏␠䬽☨࿖䬙䭗䭂䬬䬽ઁ䬽࿖䬺䬙䬠䭚⊓㍳໡ᮡ䬶䬨䫻䬬䬽ઁᧄᦠ䬺⸥タ䬤䭛䬵䬓䭚໡ຠฬ/␠ฬ䬹䬸䬾䫺ฦ␠䬽໡ᮡ䭍䬮䬾⊓㍳໡ᮡ䬶䬨䫻䫹䬹䬙ᧄᦠ䬶䬾䫺䰠䰙䫺䰞䎃䮥䯃䭶䬾᣿⸥䬦䬵䬙䭙䭍䬪䭢䫻【電波障害自主規制について】
この装置は、情報処理装置等電波障害自主規制協議会(VCCI)の基準に基づく
クラス B 情報技術装置です。この装置は、家庭環境で使用することを目的としていますが、この装置がラジオやテレビジョン受信機に接近して使用されると、受信障害を引き起こすことがあります。
取扱説明書に従って正しい取り扱いをしてください。

Page.1-1

第 1 章 はじめに

(1-1) 製品仕様
REX-PE64 は、メモリマップ方式 16C550 互換 UART を搭載した 4 ポート RS232C PCI Express ボードです。

ハードウェア仕様
項

目

仕

様

内

容

バスインターフェース

PCI Express Rev1.0A

シリアルコントローラ

メモリマップ方式 16C550 互換 UART

接続コネクタ

ボード上は高密度 D-Sub44pin コネクタ(メス)D-Sub44pin コネクタ(オス)－D-Sub9Pin(オス)×4 変
換ケーブル添付(JISX5101 規格 D-Sub9Pin RS-232C コ
ネクタ オス型)

入出力レベル【ドライバ】ハイレベル出力：+5V(min)/+5.4V(TYP)
ローレベル出力：-5V(min)/-5.4V(TYP)【レシーバ】電圧レンジ：-15V～+15V

通信方式

非同期通信

通信速度

110/300/600/1200/2400/4800/9600/19200/38400/
57600/115200/230400/460800/921600 bps※実際に実行可能な最大通信速度はパソコンの仕様に依存します。

通信パラメータ

ビット長：7/8
ストップビット：1/2

ドライバ・レシーバ

MAX3245ECAI+/ICL3245ECAZ(または相当品)

ボード ID複数の REX-PE64 を使用した場合、ボードを特定するためのロータリスイッチを基板上に設置。

伝送距離

15m

割り込み番号

PCI 割り込みを自動割り当て

外形寸法119.91mm×68.91mm(ブラケット含まず)

重量65g(標準ブラケットを含む)

電源電圧+3.3V (PCI Express バスより供給)

ESD 保護特性

±15kV

動作環境

温度:0～55℃ 湿度:20～80%(ただし結露しないこと)

スタートビット：1
パリティ：偶数/奇数/なし

第 1 章 はじめに

Page.1-2

D-Sub コネクタの 9 番ピンから電源（5V）を出力できる製品の受注生産が可能です。詳しくは、サポートセンターまでお問い合わせください。

ソフトウェア仕様
項

目

仕

様

内

容

通信サンプルプログラ RS-232C 通信サンプルプログラムム(VC++2005,VB2005,VC++6.0,VB6.0)
ポート認識用サンプル ボード上ロータリスイッチおよびポート読み取り
プログラム
サンプルプログラム(VC++2005,VB2005,VC++6.0,VB6.0)
シリアル通信ドライバ

仮想 COM ポートドライバ

本製品の制限事項
本製品の IO アドレスは、OADG ハードウェア仕様で定められた IO ベースアド
レスとは別のメモリアドレスにマップされますので、直接 IO ポートアドレスにアクセスしているアプリケーションはご使用になれません。

(1-2) 添付品
ご使用前に下記添付品が添付されているかをご確認願います。
☑ RS-232C PCI Express ボード本体(標準ブラケット付)☑ D-Sub44pin(オス)－D-Sub9Pin(オス)×4 変換ケーブル☑ Low profile ブラケット☑ ソフトウェア CD-ROM☑ インストールガイド☑ 保証書

Page.1-3

第 1 章 はじめに

(1-3) コネクタピンアサイン
12345

各信号のコネクタピンアサイン及び機能は下表のようになります。コネクタは OADG 仕様で定められている D-Sub9pin を採用しました。

6789
6789

D-Sub9pin オス型
ピン

信号名

略

称

DTE－外部説明番
1

Data Carrier Detect (DCD)

キャリア検出Õ

キャリア検出の通知

2

Receive Data (RD)

受信データ

Õ

データの受信3

Transmit Data (TD)

送信データ

Ö

データの送信

4

Data Terminal Ready (DTR)

受信準備

Ö

使用可能であることを通知

5Signal Ground (SG)

信号用接地

-

グランド

6

Data Set Ready (DSR)

送信準備

Õ

使用可能であることを通知

7

Request to Send (RS)

送信要求

Ö

送信の停止・再開の要求

8

Clear to Send (CS)

送信許可

Õ

受信の停止・再開の通知

9

Ring Indicate (RI)

被呼表示

Õ

着信の通知



D-SUB25PIN への変換について



製品添付ケーブルは D-SUB9PIN コネクタですので D-SUB25PIN に変換したい場合には、下記の変換表に基づいた変換コネクタをご使用ください。
変換コネクタは、一般の量販店やパソコンショップで入手可能です。
D-SUB9PIN
ピン番号
1
2
3
4
5
6
7
8
9

D-SUB25PIN
ピン番号
8
3
2
20
7
6
4
5
22

第 1 章 はじめに

Page.1-4(1-4) ロータリスイッチについて
本製品では、ロータリスイッチを使用して各ボードに ID 番号を割り振ることが可能です。本機能を利用すると以下の機能が使用できます。
・ 複数枚同時装着時に各ケーブル番号(各ケーブルについているシールの番号)に割り当てられている COM ポート番号が簡単に確認できます。
・ ソフトウェアから各ボードを識別することが可能。
（サンプルアプリケーション Page.3-9 参照。
）
本機能を使用するには、下図のロータリスイッチで、ID 番号が重複しないよ
うに設定し、ボードを装着します。
※添付のサンプル（Page.3-9 参照）を使用する場合は、必須となります。
※重複した場合でも、上記機能が使用できないだけで、COM ポート番号がアサインされていれば、正常にご使用いただけます。

9

1

8

2

7

3
6

ロータリスイッチ

0

5

4

ロータリスイッチ部拡大図(1-5) ブラケットの取替え
ロープロファイル PCI Express スロットでご使用の場合は、ブラケットの取替えが必要となります。ボード上の六角ネジを取外してブラケットを取替えます。

六角ネジ

Page.1-5

第 1 章 はじめに

(1-6) レジスタセット
シリアルコントローラはメモリマップ方式 16C550 互換 UART が搭載されています。
詳細につきましては、 EXAR XR17D154 のデータシートをご参照ください。

第 2 章 Windows セットアップ

Page.2-1(2-1) Windows 7 (x32/x64) / Vista (x32/x64) / 2000
Server2008 (x32/x64/R2) / 2000Server セットアップ
PCI Express ボードを接続する前に製品添付 CD-ROM 内のドライバをセットアップします。以下の手順でインストールを行ってください。
製品添付 CD-ROM 内のPCIPE6x_Setup.exe をダブルクリ
ックして実行します。
ユーザーアカウント制御の画面が表示された場合は、「はい(Y)」ボタンをクリックします。

「RATOC REX-PCI6xPE6xInstaller セットアップへようこそ」の画面で「次へ(N)」ボタンをクリックします。

「インストール準備の完了」の画面で「インストール」ボタンをクリッ
クします。

Page.2-2

第 2 章 Windows セットアップ

Windows セキュリティの確認画面
が 3 回表示されますので、「インストール」ボタンをクリックします。
(※ Windows 2000/2000Server では
これらの画面は表示されません。)

以上でドライバのセットアップは完了です。
PC の電源を切り PCI Express ボードを装着してください。

PC を起動後はセットアップしたドライバが自動的にインストールされます。
「(2-3) インストールの確認」へ進み、正常にインストールされていることを確認してください。

第 2 章 Windows セットアップ

Page.2-3(2-2) Windows XP (x32/x64) / Server2003 (x32/x64) セットアップ
PCI Express ボードを接続する前に製品添付 CD-ROM 内のドライバをセットアップします。以下の手順でインストールを行ってください。
< ドライバのセットアップ>「RATOC REX-PCI6xPE6xInstaller セットアップへようこそ」の画面で「次へ(N)」ボタンをクリックします。

「インストール準備の完了」の画面で「インストール」ボタンをクリックします。

警告画面が 2 回表示されますが「続行(C)」ボタンをクリックします。

Page.2-4

第 2 章 Windows セットアップ

以上でドライバのセットアップは完了です。
PC の電源を切り PCI Express ボードを装着してください。

PC を起動後は以下の手順にてインストールを行います。
< REX-PE64 4 Port Serial PCI Express Board のインストール>「新しいハードウェアの検索ウィ
ザードの開始」で、「いいえ、今回は接続しません(T)」を選択し「次へ」ボタンをクリックします。

「ソフトウェアを自動的にインストールする(I)」を選択し「次へ(N)」
ボタンをクリックします。

第 2 章 Windows セットアップ「ロゴテストに合格していません」と表示されますが、「続行(C)」ボタ
ンをクリックします。

ドライバのコピーが開始され、完了のメッセージが表示されます。
「完了」ボタンをクリックします。
次に「REX-PE64 Board ID」のイ
ンストールウィザードが起動します。
<REX-PE64 Board ID のインストール>「新しいハードウェアの検索ウィ
ザードの開始」で、「いいえ、今回は接続しません(T)」を選択し「次へ」ボタンをクリックします。

「ソフトウェアを自動的にインストールする(I)」を選択し「次へ(N)」
ボタンをクリックします。

Page.2-5

Page.2-6

第 2 章 Windows セットアップ「このドライバソフトウェアをインストールしますか？」と表示されますので「はい(Y)」ボタンをクリックします。
※WindowsXP ではこのダイアログは表示されません。

ドライバのコピーが開始され、完了のメッセージが表示されます。
「完了」ボタンをクリックします。
次に「REX-PE64 Communications
Port」のインストールウィザードが起動します。

<REX-PE64 Communications Port のインストール>「新しいハードウェアの検索ウィ
ザードの開始」で、「いいえ、今回は接続しません(T)」を選択し「次へ(N)」ボタンをクリックします。

「ソフトウェアを自動的にインストールする(I)」を選択し「次へ(N)」
ボタンをクリックします。

第 2 章 Windows セットアップ

Page.2-7「ロゴテストに合格していません」と表示されますが、「続行(C)」ボタ
ンをクリックします。

ドライバのコピーが開始され、完了のメッセージが表示されます。
「完了」ボタンをクリックします。
4 ポート分についてのインストール
作業が必要となりますので、同様の手順で行ってください。
以上で REX-PE64 のインストールは終了です。
「(2-3) インストールの確認」へ進み、インストールの確認を行ってください。

Page.2-8

第 2 章 Windows セットアップ(2-3) インストールの確認
コントロールパネルの「デバイスマ
ネージャ」を起動します。
「ポート(COM と LPT)」をクリッ
クして新しくポートが追加されているのを確認してください。
(※ Windows7/Vista/Server2008 以
外の OS では、コントロールパネルのシステムを起動し、「システムのプロパティ」の「ハードウェア」タブから「デバイスマネージャ」ボタンをクリックします。)

画面では「COM3」「COM4」「COM5」「COM6」となっておりますが、ご使用の環境により COMx の x の数字が異なりますのでご注意ください。

第 2 章 Windows セットアップ

Page.2-9(2-4) COM ポート番号の変更と設定について
本製品に割り当てられた COM ポート番号の変更はデバイスマネージャ上より行うことができます。
※変更したい COM ポート番号が分からない場合は、サンプルアプリケーション(Page.3-9)を利用して、ロータリスイッチ設定番号・ケーブル番号(Page.1-4参照)から割り当てられている COM ポート番号を知ることができます。
「(2-3) インストールの確認」と同様にポートのプロパティ画面を開き「ポートの設定」タブをク
リックします。
「詳細」ボタンをクリックするとポートの詳細設定ダイアログが表示されます。

【ポートのプロパティ画面】
COM ポート番号を変更するには「COM ポート番号」より変更先
COM 番号を選択後に「OK」ボ
タンをクリックしてください。
「ロータリスイッチ設定番号」には REX-PE64 PCI Express ボードに搭載されているロータリス
イッチの値が表示され、「ケーブル/コネクタ番号」にはこの COM
ポート番号が割り当っているケ
ーブル番号が表示されます。

【ポートの詳細設定ダイアログ】

Page.2-10

第 2 章 Windows セットアップ(2-5) ドライバのアンインストール
コントロールパネルの「プログラムと機能」を起動し、セットアップされたドライバをアンインストールします。
(Windows XP/2000/Server2003 では｢プログラムの追加と削除｣を起動します。)「 RATOC REX-PCI6xPE6xInstaller」を選択し、「アンインストール」をクリックします。

アンインストールの確認画面が表示されますので「はい(Y)」ボタンをクリックします。

以上でREX-PE64 のアンインストール
は完了です。

Page.3-1

第 3 章 設定ポート確認サンプルアプリケーション(3-1) ライブラリ関数について
本製品に添付しているライブラリ関数を利用すると、ロータリスイッチ番号とケーブル番号から割り当てられている COM ポート番号を知ることができます。
また、アサインされている COM ポート番号のロータリスイッチ番号とケーブ
ル番号を知ることができます。

(3-2) 関数仕様
ライブラリ関数と機能の一覧は次の通りとなります。
関数名
GetComPort

機能
REX-PE64 に割り当てられているポート数および COM ポート
番号の取得

GetBoardIdCableNo 指定した COM ポート番号のロータリスイッチの値とケーブ
ル番号を取得GetBoardId

REX-PE64 の枚数およびロータリスイッチの値を取得

GetCableNo

各ケーブルに割り当てられている COM ポート番号を取得※ライブラリ関数仕様の詳細につきましては次ページ以降をご参照ください。

第 3 章 設定ポート確認サンプルアプリケーション

GetComPort

REX-PE64 に割り当てられている COM ポート
数および COM ポート番号の取得

書式

CHAR GetComPort( PCHAR pComPort, CHAR ComPortSize )引数

PCHAR pComPort

CHAR

Page.3-2

ComPortSize

COM ポート番号を格納する配列へのポインタ(NULL をセットすると、REX-PE64 にアサインされている COM ポートのトータル数が戻り値として返されます)第一引数で確保された配列のサイズ

戻値

REX-PE64 にアサインされている COM ポート数が返されます。

機能

ComPortSize に REX-PE64 にアサインされているポート数を指定すると、
COM ポート番号の値が pComPort[0], pComPort[1]…にセットされます。

VB での宣言（Visual Studio 6.0）
Declare Function GetComPort Lib "rsui.dll" (ComPort As Any, ByVal
ComPortSize As Byte) As Byte
VB での宣言（Visual Studio 2005）
Declare Function GetComPort Lib "rsui.dll" (ByVal ComPort As String ,ByVal ComPortSize As Byte) As Byte
使用例// REX-PE64 にアサインされている COM ポート数を取得
ComNum = GetComPort( NULL, 0 );if( ComNum != 0 ) {// COM ポート分のメモリ確保
pCom = (PCHAR)LocalAlloc( LPTR, ComNum );// アサインされた全ての COM ポートの番号を取得
GetComPort( pCom, ComNum );// COM ポート番号を用いた処理……..
// メモリ解放
LocalFree( pCom ); }Page.3-3

第 3 章 設定ポート確認サンプルアプリケーション

GetBoardIdCableNo指定した COM ポート番号のロータリスイッ
チの値とケーブル番号を取得

書式

BOOL GetBoardIdCableNo( PCHAR pComPort, PCHAR pBoardId, PCHAR
pCableNo )引数

PCHAR pComPort
PCHAR pBoardId
PCHAR pCableNo

COM ポートの番号を文字列でセット
対応するロータリスイッチの値を格納する配列
へのポインタ
対応するケーブル番号を格納する配列へのポイ
ンタ

戻値

pComPort で指定された COM ポート番号が REX-PE64 にアサインされている
場合は TRUE が返されます。
その他のシリアルポートにアサインされている番号、または存在しない
ポート番号を指定した場合は FALSE が返されます。

機能指定した COM ポート番号の REX-PE64 ロータリスイッチの値とケーブル番号を取得します。

VB での宣言（Visual Studio 6.0）
Declare Function GetBoardIdCableNo Lib "rsui.dll" (ByVal ComPort
As String, BoardId As Any, CableNo As Any) As Boolean
VB での宣言（Visual Studio 2005）
Declare Function GetBoardIdCableNo Lib "rsui.dll" (ByVal ComPort
As String, ByVal BoardId As String, ByVal CableNo As String) As
Boolean
使用例
CHAR BoardId;
CHAR CableNo;// 指定した COM ポートにアサインされた BoardId,CableNo を取得
if( GetBoardIdCableNo( “COM5”, &BoardId, &CableNo ) ) {// ロータリスイッチ又はケーブル番号を用いた処理…….. }

第 3 章 設定ポート確認サンプルアプリケーション

GetBoardId

REX-PE64 の枚数およびロータリスイッチ
の値を取得

書式

CHAR GetBoardId( PCHAR pBoardId, CHAR BoardIdSize )引数

PCHAR pBoardId

CHAR

Page.3-4

ロータリスイッチの値を格納する配列へのポインタ(NULL をセットして本関数を呼び出すと、PC 上で認識されている REX-PE64 の枚数が返されます)
BoardIdSize 第一引数で確保された配列のサイズ

戻値

PC 上で認識されている REX-PE64 の枚数が返されます。複数枚のREX-PE64 が認識されていて、ロータリスイッチの値が重複している場合
はエラーとなります。VC の場合は-1、VB の場合は 0xFF が返されます。

機能

PC 上で認識されている複数枚の REX-PE64 についてのロータリスイッチの値を列挙し第一引数に格納します。
（例）2 枚の REX-PE64 のロータリスイッチの値が“１”, “２”と設定されていた場合、BoardId[0] = 1, BoardId[1] = 2 とセットされます。

VB での宣言（Visual Studio 6.0）
Declare Function GetBoardId Lib "rsui.dll" (BoardId As Any , ByVal
BoardIdSize As Byte) As Byte
VB での宣言（Visual Studio 2005）
Declare Function GetBoardId Lib "rsui.dll" (ByVal BoardId As String ,ByVal BoardIdSize As Byte) As Byte
使用例// REX-PE64 の接続数取得
BoardNum = GetBoardId ( NULL, 0 );if(BoardNum != 0 ) {pBoard = (PCHAR)LocalAlloc( LPTR, BoardNum ); // メモリ確保// 接続した全てのロータリスイッチの値を取得
GetBoardId ( pBoard, BoardNum );//ロータリスイッチの値を用いた処理……..
LocalFree( pBoard ); } // メモリ解放

Page.3-5

第 3 章 設定ポート確認サンプルアプリケーション

GetCableNo

各ケーブルに割り当てられている COM ポー
ト番号を取得書式

BOOL GetCableNo( CHAR BoardId, PCHAR pComPort, CHAR ComPortSize )引数

CHAR BoardId
PCHAR pComPort
CHAR ComPortSize

戻値

指定したロータリスイッチの値が設定された REX-PE64 の検出と、そのボードに対応する COM ポート番号を取得できた場合は TRUE が返されます。
指定したロータリスイッチの値が設定された REX-PE64 が検出されなかった場合は FALSE が返されます。

機能指定したロータリスイッチの値が設定されている REX-PE64 について、
ケーブル番号が Port1、Port2、Port3、Port4 の順に、第二引数で指定された配列に COM ポート番号がセットされます。

ロータリスイッチの値をセット
COM ポート番号を格納する配列へのポインタ
第二引数で確保された配列のサイズ

VB での宣言（Visual Studio 6.0）
Declare Function GetCableNo Lib "rsui.dll" (ByVal BoardId As Byte,
ComPort As Any, ByVal ComPortSize As Byte) As Byte
VB での宣言（Visual Studio 2005）
Declare Function GetCableNo Lib "rsui.dll" (ByVal BoardId As Byte,
ByVal ComPort As String, ByVal ComPortSize As Byte) As Byte
使用例
CHAR
BoardId;
CHAR
ComPort[4];BoardId = 0;// 指定した BoardId のケーブル番号 Port1、Port2、Port3、Port4 に// 割り当てられた COM 番号を取得
If( GetCableNo( BoardId, ComPort, sizeof(ComPort) ) ) {//COM ポート番号を用いた処理……. }第 3 章 設定ポート確認サンプルアプリケーション

Page.3-6(3-3) 設定ポート確認サンプルアプリケーションの構成について
製品添付の CD-ROM の[ViewSample]フォルダ内の構成は次のようになります。
¾ VB6.0 フォルダ・・・VisualBasic6.0 サンプル
¾ VC6.0 フォルダ・・・VisualC++6.0 サンプル
¾ VB2005 フォルダ・・・VisualBasic2005 サンプル
¾ VC2005 フォルダ・・・VisualC++2005 サンプル

Page.3-7

第 3 章 設定ポート確認サンプルアプリケーション(3-4) ライブラリ関数の呼び出し
VC からの呼び出し
Visual C/C++のアプリケーションから、製品に添付された DLL(rsui.dll)のAPI を呼び出すには、以下の関数についての呼び出し宣言を行い、それらを参照する必要があります。(rsui.dll は REX-PE64 のドライバインストール時にsystem32 フォルダへコピーされます。)
CHAR GetComPort( PCHAR pComPort, CHAR ComPortSize )BOOL GetBoardIdCableNo( PCHAR pComPort, PCHAR pBoardId, PCHAR pCableNo )CHAR GetBoardId( PCHAR pBoardId, CHAR BoardIdSize )BOOL GetCableNo( CHAR BoardId, PCHAR pComPort, CHAR ComPortSize )VC6.0 / VC2005 サンプルでの呼び出し例 (SampleDlg.cpp より抜粋)// rsui.dll 関数呼び出し宣言
CHAR (__stdcall*fnGetComPort)( CHAR*, CHAR );BOOL (__stdcall*fnGetBoardIdCableNo)( CHAR*, CHAR*, CHAR* );CHAR (__stdcall*fnGetBoardId)( CHAR*, CHAR );BOOL (__stdcall*fnGetCableNo)( CHAR, CHAR*, CHAR );BOOL CSampleDlg::OnInitDialog(){// rsui.dll をロード
hRsui = LoadLibrary( "Rsui.DLL" );if( !hRsui ){index = GetLastError();MessageBox( "LoadLibrary ｴﾗｰ", "失敗", MB_OK );return FALSE;}// rsui.dll 内のエクスポート済み関数のアドレスを取得
fnGetComPort = ( CHAR (__stdcall*)( CHAR*, CHAR ) )GetProcAddress( hRsui, "GetComPort" );fnGetBoardIdCableNo = ( BOOL (__stdcall*)( CHAR*, CHAR*, CHAR* ) )GetProcAddress( hRsui,"GetBoardIdCableNo" );fnGetBoardId = ( CHAR (__stdcall*)( CHAR*, CHAR ) )GetProcAddress( hRsui, "GetBoardId" );fnGetCableNo = ( BOOL (__stdcall*)( CHAR, CHAR*, CHAR ) )GetProcAddress( hRsui,"GetCableNo" );第 3 章 設定ポート確認サンプルアプリケーション

Page.3-8

VB からの呼び出し
Visual Basic のアプリケーションから、製品に添付された DLL(rsui.dll)のAPI を呼び出すには、関数についての呼び出し宣言を行い、それらを参照する
必要があります。
VB6.0 サンプルでの宣言 (RSUI.bas)
Declare Function GetComPort Lib "rsui.dll" (ComPort As Any, ByVal ComPortSize As Byte) As Byte
Declare Function GetBoardIdCableNo Lib "rsui.dll" (ByVal ComPort As String, BoardId As Any,
CableNo As Any) As Boolean
Declare Function GetBoardId Lib "rsui.dll" (BoardId As Any, ByVal BoardIdSize As Byte) As Byte
Declare Function GetCableNo Lib "rsui.dll" (ByVal BoardId As Byte, ComPort As Any, ByVal
ComPortSize As Byte) As Boolean

VB2005 サンプルでの宣言 (rsui.vb)
Module rsui
Declare Function GetComPort Lib "rsui.dll" (ByVal ComPort As String , ByVal ComPortSize As Byte)
As ByteDeclare Function GetBoardIdCableNo Lib "rsui.dll" (ByVal ComPort As String, ByVal BoardId As
String, ByVal CableNo As String) As Boolean
Declare Function GetBoardId Lib "rsui.dll" (ByVal BoardId As String , ByVal BoardIdSize As Byte)
As ByteDeclare Function GetCableNo Lib "rsui.dll" (ByVal BoardId As Byte, ByVal ComPort As String, ByVal
ComPortSize As Byte) As Byte
End Module

Page.3-9

第 3 章 設定ポート確認サンプルアプリケーション(3-5) 設定ポート確認サンプルアプリケーションについて(COM ポート番号から情報取得)
GetComPort()を用いて REX-PE64 に割り当たっている COM ポート番号を全て列挙します。GetBoardIdCableNo()を用いてコンボボックスに列挙された
COM ポート番号を指定することで、ロータリスイッチの値とケーブル番号を呼び出します。
(ロータリスイッチから情報取得)
GetBoardId()を用いて REX-PE64 のロータリスイッチの値を全て列挙しま
す。GetCableNo()を用いてコンボボッ
クスに列挙されたロータリスイッチの値を指定することで、割り当てられているケーブル番号 Port1、Port2、Port3、Port4 の COM ポート番号を列挙
します。

(注意)
関数を機能させるためには、4 ポートすべてが有効になっている必要がありますので、デバイスマネージャ上で無効としないでください。

第 4 章 通信サンプルアプリケーション(4-1)

Page.4-1

通信サンプルアプリケーションの構成について

製品添付の CD-ROM の[CommSample]フォルダ内の構成は次のようになります。
¾ VB6 フォルダ・・・VisualBasic6.0 サンプル
¾ VC6 フォルダ・・・VisualC++6.0 サンプル
¾ VB2005 フォルダ・・・VisualBasic2005 サンプル
¾ VC2005 フォルダ・・・VisualC++2005 サンプル

(4-2)

通信サンプルアプリケーションについて

通信サンプルアプリケーションは ASCII 文字列を送受信する簡易プログラムです。
使用するポートを選択します。

入力した ASCII 文字列の送信、および接続先から送信されたデータの受信を行います。

Page.4-2

第 4 章 通信サンプルアプリケーション

通信サンプルプログラム抜粋(VC)(Visual Basic についてはサンプルソース内をご参照ください)
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam){
switch (uMessage){case WM_CREATE:// COM ﾎﾟｰﾄｵｰﾌﾟﾝ
hComPort = CreateFile( lpszComName,
GENERIC_READ|GENERIC_WRITE,0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,NULL);
if ( hComPort == INVALID_HANDLE_VALUE) {// ﾊﾝﾄﾞﾙｴﾗｰ
ShowError("COM Open Error.");return FALSE;}// DCB 設定
memset(&dcb,0,sizeof(dcb));dcb.DCBlength = sizeof(dcb);
dcb.BaudRate = 9600;
dcb.fBinary = 1;
dcb.fDtrControl = DTR_CONTROL_ENABLE;
dcb.fOutxCtsFlow = 1;
dcb.fRtsControl = DTR_CONTROL_HANDSHAKE;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.ByteSize = 8;// 新たに通信ﾊﾟﾗﾒｰﾀを設定する
if ( !SetCommState( hComPort, &dcb) )ShowError("Set COM parameter error.");break;
case WM_COMMAND:
switch (wParam){case IDB_TXDATA:// 送信ﾃﾞｰﾀ取得
memset( TxBuf, 0x00, sizeof( TxBuf ) );GetDlgItemText( hWnd, IDE_TXDATA, TxBuf, sizeof(TxBuf) );SetDlgItemText( hWnd, IDS_TXDATA, TxBuf );SetDlgItemText( hWnd, IDE_TXDATA, "" );nToWrite = strlen(TxBuf);// COM ﾎﾟｰﾄにﾃﾞｰﾀ送信
iRet = WriteFile ( hComPort, TxBuf, nToWrite, &dwBytesWrote, &ov);
if ( iRet == 0 ){WaitForSingleObject(ov.hEvent ,1000);}
break;/* 次ページに続く */第 4 章 通信サンプルアプリケーション

Page.4-3

case IDB_RXDATA:// 受信ｽﾚｯﾄﾞを作成します
hThread = CreateThread( NULL,
0,(LPTHREAD_START_ROUTINE)ReadThread,hWnd,
0,&ThreadId);
break;}
break;
case WM_DESTROY:
if(hThread != NULL){
CloseHandle( hThread );fReadThread = FALSE;}PostQuitMessage(0);break;
default:
return DefWindowProc(hWnd, uMessage, wParam, lParam);}return 0;}
DWORD WINAPI ReadThread( LPVOID lpParameter ){// ﾊﾞｲﾄ受信ｲﾍﾞﾝﾄを待って受信ﾃﾞｰﾀを取り出し格納
while( fReadThread ){// ｲﾍﾞﾝﾄを待つ
WaitCommEvent(hComPort,&dwEvent, &ov) ;if ( WaitForSingleObject(ov.hEvent,INFINITE) == WAIT_OBJECT_0){
do{memset(RxBuf,0,sizeof(RxBuf));if( !ReadFile( hComPort,RxBuf,sizeof(RxBuf),&dwBytesRead,&ov) ){if( (WinError = GetLastError()) == ERROR_IO_PENDING ){if( !GetOverlappedResult(hComPort,&ov,&dwBytesRead,TRUE) ){ShowError("GetOverlappedResult failed");break;}}else{
if(WinError != ERROR_INVALID_HANDLE){
ShowError("ReadFile failed");break;}}}
if ( dwBytesRead > 0 ){// 受信ﾃﾞｰﾀ表示
RxBuf[dwBytesRead] = 0x00;
SetDlgItemText( hWnd, IDS_RXDATA, RxBuf );}}while (dwBytesRead > 0 && fReadThread != FALSE);}}return 0L;}

REX-PE64 RS232C PCI Express Board
発行 ラトックシステム株式会社
2010 年 6 月 第 4.0 版
製品に対するお問い合わせ
REX-PE64 の技術的なご質問やご相談の窓口を用意していますのでご利用ください。

ラトックシステム株式会社
I&L サポートセンター〒556-0012
大阪市浪速区敷津東 1-6-14 朝日なんばビル
TEL.06-6633-6741
FAX.06-6633-8285<サポート受付時間>
月曜－金曜（祝祭日は除く）AM 10:00 - PM 1:00
PM 2:00 - PM 5:00
また、インターネットのホームページでも受け付けています。
HomePage Â http://www.ratocsystems.com

 ご注意 ;本書の内容については、将来予告なしに変更することがあります。
;本書の内容につきましては万全を期して作成しましたが、万一ご不審な点や誤りなどお気づきになられましたらご連絡願います。
;本製品および本製品添付のマニュアルに記載されている会社名および製品名は、各社の商品または登録商標です。
;運用の結果につきましては、責任を負いかねますので、予めご了承願います。

FAX：06-6633-8285

REX-PE64 質問用紙
●下記ユーザ情報をご記入願います。
法 人 登 録 会社名・学校名
の方のみ
所属部署
ご担当者
名
E-Mail
住所

〒

TEL

FAX

製品型番

シリアル№

ご 購 入 情 販売店名
報

ご購入日

●下記運用環境情報とお問い合わせ内容をご記入願います。
【パソコン/マザーボードのメーカ名と機種名】【ご利用の OS】
【接続機器】【お問合せ内容】【添付資料】

個人情報取り扱いについて
ご連絡いただいた氏名、住所、電話番号、メールアドレス、その他の個人情報は、お客様への回答など本件に関わる業務のみに利用し、他の目的では利用致しません。