PC-MODULE / PC-HELPER API-PAC(W32) SIO編 リファレンスマニュアル API-PAC(W32)RM/SIO 解説書 サポートのご案内 当社製品をより良く、より快適にご使用いただくために、次のサポートを行っております。 ◆ホームページ 日本語 英語 中国語 http://www.contec.co.jp/ http://www.contec.com/ http://www.contec.com.cn/ ■最新製品情報 製品の最新情報を提供しています。 また、PDFファイル形式の製品マニュアル、各種技術資料なども提供しています。 ■無償ダウンロード 最新のドライバソフトウェア、差分ファイルをダウンロードできます。 また、各種言語のサンプルプログラムもダウンロードできます。 ■資料請求 カタログの請求が行えます。 ■製品貸出サービス 製品貸出の依頼が行えます。 ■イベント情報 当社主催/参加のセミナーおよび展示会の紹介を行っています。 ◆総合インフォメーション (お問い合わせ窓口) ■技術的なお問い合わせ 当社製品に関する技術的なお問い合わせは、総合インフォメーションで受け付けています。 E-mail(tsc@contec.co.jp)またはFAXでお問い合わせください。専門のスタッフが対応します。 E-mailの場合は、製品添付のQuestion用紙と同様の内容をお送りください。 FAXの場合は、製品添付のQuestion用紙に必要事項を記入の上、お送りください。 ※FAX番号はQuestion用紙に記載されています。 ■その他の製品情報のお問い合わせ 製品の価格・納期・見積もり依頼などのお問い合わせは、販売店または当社各支社・営業所ま でお問い合わせください。 API-PAC(W32)RM/SIO i ◆修理窓口 修理の依頼は、お買い求めの販売店経由で受け付けています。 保証書に記載の条件のもとで、保証期間中に製品自体に不具合が認められた場合は、その製品 を無償で修理または交換いたします。 保証期間終了後、または保証条件外での修理は、有償修理となりますのであらかじめご了承く ださい。 なお、対象は製品のハードウェア部分の修理に限らせていただきます。 ◆製品貸出サービス 製品を評価・理解していただくため、製品の貸出サービスを行っております。 詳細は、当社ホームページをご覧ください。 ◆各種セミナー 新製品の紹介・活用方法、システム構築のための技術習得など、各種セミナーを行っております。 出張プライベートセミナーも承ります。詳細は、当社ホームページをご覧ください。 ◆FA/LA無料相談コーナー 「FA/LA無料相談コーナー」は、お客様がシステムを構築する際に当社製品の選定の相談をお 受けする窓口です。面談によるシステム相談を専門スタッフが担当いたします。 お問い合わせは、当社各支社・営業所までご連絡ください。 ◆システム受託開発、OEM受託 ソフトウェア/ハードウェアの導入方法やシステム構築のご相談、お客様オリジナル・デザイ ンのシステムを製品化し供給するODMやOEMのご提案を行います。 詳しくは、E-mail(sales@contec.co.jp)または当社各支社・営業所までお問い合わせください。 ii API-PAC(W32)RM/SIO 安全にご使用いただくために 次の内容をご理解の上、本製品を安全にご使用ください。 ◆安全情報の表記 本書では、人身事故や機器の破壊をさけるため、次のシンボルで安全に関する情報を提供して います。内容をよく理解し、安全に機器を操作してください。 危険 この表示を無視して、誤った取り扱いをすると、人が死亡または重傷を負う 危険が差し迫って生じることが想定される内容を示しています。 警告 この表示を無視して、誤った取り扱いをすると、人が死亡または重傷を負う 可能性が想定される内容を示しています。 注意 この表示を無視して、誤った取り扱いをすると、人が損害を負う可能性が想 定される内容および物的損害のみの発生が想定される内容を示しています。 ◆ご注意 (1) 本書の内容の全部、または一部を無断で転載することは禁止されています。 (2) 本書の内容に関しては将来予告なしに変更することがあります。 (3) 本書の内容については万全を期しておりますが、万一ご不審な点や記載もれなどお気づき のことがありましたら、お買い求めの販売店へご連絡ください。 (4) 本製品の運用を理由とする損失、逸失利益などの請求につきましては、前項にかかわらず、 いかなる責任も負いかねますのであらかじめご了承ください。 (5) MS、Microsoft、Windows、Windows NT、MS-DOSは、米国Microsoft Corporationの各国に おける登録商標または商標です。 その他、本書中に使用している会社名および製品名は、一般に各社の商標または登録商標 です。 API-PAC(W32)RM/SIO iii 目次 サポートのご案内...................................................................................................................................... i ◆ホームページ................................................................................................................................... i ◆総合インフォメーション(お問い合わせ窓口) ......................................................................... i ◆修理窓口 .......................................................................................................................................... ii ◆製品貸出サービス ......................................................................................................................... ii ◆各種セミナー.................................................................................................................................. ii ◆FA/LA無料相談コーナー ............................................................................................................. ii ◆システム受託開発、OEM受託 ................................................................................................... ii 安全にご使用いただくために............................................................................................................... iii ◆安全情報の表記 ............................................................................................................................ iii ◆ご注意 ............................................................................................................................................. iii 目次 ............................................................................................................................................................. iv 第1章 はじめに 1 概要 .............................................................................................................................................................. 1 商品の特長 ................................................................................................................................................. 1 ◆ノンインテリジェントボード .................................................................................................... 1 ◆インテリジェントボード............................................................................................................. 2 解説書とヘルプファイルの内容............................................................................................................ 3 仕様 .............................................................................................................................................................. 4 VisualBasic.NET、VisualC++.NETでご使用の際の注意点............................................................... 7 ◆VisualBasic.NET ............................................................................................................................. 7 ◆VisualC++.NET ............................................................................................................................... 8 Borland Delphiでご使用の際の注意点 .................................................................................................. 9 ◆Borland Delphi................................................................................................................................. 9 第2章 関数のリファレンス 11 関数一覧.................................................................................................................................................... 11 SioOpen...................................................................................................................................................... 12 SIOOPN構造体......................................................................................................................................... 13 SioClose ..................................................................................................................................................... 18 SioRead ...................................................................................................................................................... 19 SioWrite ..................................................................................................................................................... 21 SioWriteEx................................................................................................................................................. 23 SioStatus..................................................................................................................................................... 25 SIOSTA構造体 ......................................................................................................................................... 26 iv API-PAC(W32)RM/SIO SioStatusEx ................................................................................................................................................ 29 SIOSTAEX構造体.................................................................................................................................... 30 SioControl .................................................................................................................................................. 32 SIOCTL構造体 ......................................................................................................................................... 33 SioReset...................................................................................................................................................... 34 SioSetBaudrate .......................................................................................................................................... 35 SioSetEvent................................................................................................................................................ 37 SioWaitEvent ............................................................................................................................................. 39 戻り値一覧................................................................................................................................................ 40 第3章 用語説明 API-PAC(W32)RM/SIO 43 v vi API-PAC(W32)RM/SIO 第1章 はじめに 第1章 はじめに 概要 このたびは、シリアル通信シリーズ用ドライバをご購入いただきまして、ありがとうございます。 API-SIO(98/PC)W95は、Microsoft Windows Me/98/95対応のドライバ(VXD, DLL)です。 Windows Me/98/95上で当社製シリアル通信シリーズボードを制御し、シリアル通信を行うための ソフトウェアです。 API-SIO(98/PC)NTは、Microsoft Windows XP/2000/NT対応のドライバ(SYS, DLL)です。 Windows XP/2000/NT上で当社製シリアル通信シリーズボードを制御し、シリアル通信を行うた めのソフトウェアです。 商品の特長 ◆ノンインテリジェントボード ・ 本ドライバは、Win32 API関数の形式で供給されています。 ・ 最大チャネル数は、“256”まで設定可能です。*1 *1) 各PCIボードの最大使用可能枚数は、16枚(ただしCOM-4(PCI)は8枚) となっていますので、実際に使用できるチャネル数はこれに左右される場合があります。 API-SIO(98/PC)W95使用時、チャネルNo.は“1”から設定してください。 ・ インテリジェントボードと組み合わせての使用も可能です。ただしインテリジェントボー ドにアクセスしているときは、ノンインテリジェントボードでの受信はできません。 ・ 送信完了、受信完了のタイマ監視を行うことができます。 ・ 受信バッファのサイズは各チャネル個別に設定できます(256 ∼ 65535バイト)。 ・ XON/XOFFのフロー制御が行えます。 受信用バッファの空き領域が少なくなると、XOFFコードを相手側に送信して、送信を 一時停止するように要求します。 また、一度XOFFコードを送信した後データの取り込みが進み、空き領域が増えるとXON コードを送信し、相手側からの送信再開を要求します。 API-PAC(W32)RM/SIO 1 第1章 はじめに ・ XON/XOFFと同様に、コントロールライン(RTSまたはDTR)のフロー制御が行えます。 ◆インテリジェントボード ・ 本ドライバは、Win32 API関数の形式で供給されています。 ・ 最大4枚のボードが同時使用が可能です。例えばCOM-2S(PC)を4枚使用した場合で最大8 チャネルまで、SIO-4S(98)Vを4枚使用した場合で、最大16チャネルまで使用できます。ま た、ノンインテリジェントボードと組み合わせての使用も可能です。ただしインテリジェ ントボードにアクセスしているときは、ノンインテリジェントボードでの受信はできませ ん。 ・ 送信完了、受信完了のタイマ監視を行うことができます。 ・ 受信バッファのサイズは1280バイト固定です。 ・ XON/XOFFのフロー制御が行えます。 受信用バッファの空き領域が少なくなると、XOFFコードを相手側に送信して、送信を 一時停止するように要求します。 また、一度XOFFコードを送信した後データの取り込みが進み、空き領域が増えるとXON コードを送信し、相手側からの送信再開を要求します。 ・ XON/XOFFと同様に、コントロールライン(RTSまたはDTR)のフロー制御が行えます。 2 API-PAC(W32)RM/SIO 第1章 はじめに 解説書とヘルプファイルの内容 この解説書は、API-TOOLを使用する上で必要な情報である、「概要」、「仕様」、「関数の リファレンス」、「用語説明」などを説明しています。「インストール方法」などの説明は、 API-PAC(W32)の解説書をご覧ください。 本書で説明されていない情報については、このAPI-TOOLをインストールしたあとのヘルプ ファイルを参照してください。 ヘルプファイル名 “SIO5TD.HLP” ・・・・・ API-SIOのヘルプ “HWINSTJ.HLP” ・・・・ ハードウェアの登録方法ヘルプ ヘルプファイルでは「関数のリファレンス」のほか、「サンプルプログラム」、「Q&A」な どの情報を提供しています。 なお、この解説書中の下線付きの語句は、第3章「用語説明」のところでアルファベット順お よび五十音順に説明されています。必要に応じて参照してください。 API-PAC(W32)RM/SIO 3 第1章 はじめに 仕様 項目 仕様 Microsoft Windows Me Microsoft Windows 95 適応OS Microsoft Windows XP Professional Microsoft Windows XP Professional *1 *1 Microsoft Windows XP Home Edition *1 Microsoft Windows 2000 Professional *1 Microsoft Windows NT Workstation Ver.3.51、Ver.4.0 Microsoft Windows NT Server Ver.3.51、Ver.4.0 (実行のみ) 適応言語 Visual C++ .NET 2002、2003 Visual C++ Ver.2.0、Ver.4.x、Ver.5.0、Ver.6.0 *2 Visual Basic .NET 2002、2003 Visual Basic (32bit) Ver.4.0、Ver.5.0、Ver.6.0 Borland C++ Builder Ver1.0、Ver. 5.0、Ver.6.0 Borland C++ Ver.4.5x、Ver.5.0 Borland Delphi *2 Ver3.0、Ver.4.0 、Ver.6.0 最大チャネル数 256チャネル *4 割り込み 1レベル選択 *5 適応機種 IBM PC/AT互換機、DOS/V機 *3 *3 NEC PC98-NXシリーズ NEC PC-9800シリーズ 対象ボード *6 <ノンインテリジェントボード> PCIバスボード COM-2(PCI)H、COM-4(PCI)H、COM-8(PCI)H、 COM-2PD(PCI)H、COM-4PD(PCI)H、 COM-2P(PCI)H、COM4P(PCI)H、 COM-1(LPCI)H、COM-2(LPCI)H、COM-4(LPCI)H、 COM-2(PCI)、COM-4(PCI)、COM-8(PCI)、COM-2PD(PCI) PCカード *7 *8 *9*10 COM-1(PM)、COM-1D(PM)、COM-2(PM)、COM-4(CB)H ISAバスボード COM-2(PC)F、COM-4M(PC)、COM-2PD(PC)H 98(C)バスボード SIO-2(98)N、SIO-2(98)H、SIO-2C(98)H、SIO-2D(98)、 SIO-2PD(98)、SIO-2/24(98)、SIO-2D/24(98)、SIO-4(98)H パソコン本体のRS-232Cポート COM1∼COM4 対象ボード ISAバスボード <インテリジェントボード> COM-2S(PC) 98(C)バスボード SIO-2S(98)V、SIO-4S(98)V、SIO-2BS(98)(無手順のみ) 4 API-PAC(W32)RM/SIO 第1章 はじめに *1) Windows XP/2000環境で下記ボードは使用できません。 ・ ボード添付のFDから“Com_pca1.INF”を指定して、コンパチブルモード設定したISA バスボード。ただし、API-PAC(W32)内の“Sio_pca1.INF”を指定して、エンハンスト モードで使用可能です。 ・ パソコン本体のRS-232Cポート(COM1~COM4) ・ ボード添付のFDから“Com_pm1.INF”または“Com_pm2.INF”を指定して標準COM としてOSに登録したPCカード ・ SIO-2(98)N、パソコン本体のRS-232CポートCOM1(25ピン)、COM2(9ピン) *2) 詳細については、HELP内「VisualBasic.NET、VisualC++.NETでご使用の際の注意点」を参 照してください。 *3) 詳細については、HELP内C言語およびサンプルのHeader(>PAS,h)を参照してください。 *4) 実際に使用できるチャネル数は、パソコンの空いている割り込みレベルの数に左右される 場合があります。 API-SIO(98/PC)W95使用時、API-TOOLコンフィグレーション(CONFIG.EXE)設定はチャネ ル“1”から登録してください。 *5) ノンインテリジェントボード使用時は、受信処理で割り込みを使用します。 1ボードにつき1レベルの割り込み使用 ・ PCIバスボード、COM-2(PM)、SIO-4(98)H ISAバスボードをエンハンストモードで使用時、上記ボード以外は、1チャネルにつき 1レベルの割り込み使用 インテリジェントボード使用時は、イベント処理で割り込みを使用します。 (イベント機能未使用時は、割り込み未使用での動作可) 1ボードにつき1レベルの割り込み使用 *6) Windows NT環境で下記ボード使用時は、OSに標準添付しているSerialドライバを切り離す 必要があります。 ISAバスボード(COM-2S(PC)をのぞく) (コンパチブルモードで使用時のみ必要)、PCカード パソコン本体のRS-232Cポート(COM1∼COM4) SIO-2(98)N、パソコン本体のRS-232CポートCOM1(25ピン)、COM2(9ピン) 切り離す手順 ① [コントロールパネル] の [デバイス] を実行 ② Serialデバイスを選択してから [スタートアップ] をクリックし、[手動] を 選択してから [OK] をクリック ③ [終了] をクリック後、システムを再起動 なお、この操作により標準添付のSerialドライバは、使用不可になります。 *7) Windows NTでは、バージョンがVer.4.0で使用可能です。 API-PAC(W32)RM/SIO 5 第1章 はじめに *8) PCカードを複数枚同時使用する場合、組み合わせによって使用できないことがあります。 Windows XP/2000/NT COM-2(PM) COM-1(PC) COM-1D(PM) Windows Me/98/95 COM-2(PM) COM-1(PM) COM-1D(PM) COM-2(PM) 不可 可能 可能 不可 可能 可能 COM-1(PM) 可能 不可* 不可* 可能 可能 可能 COM-1D(PM) 可能 不可* 不可* 可能 可能 可能 * PCカードインストール時に割り付けられた標準COMとして、API-TOOLコンフィグレ ーション(CONFIG.EXE)に登録し、使用する場合は可能。 ex. COM-1(PM)を2枚使用していてそれぞれCOM2、COM3として割り当てられていた とき、API-TOOLコンフィグレーションにCOM-1(PM)としてではなく、COM2、 COM3として登録してください。 ex. COM-1(PM)とCOM-1D(PM)を使用していてそれぞれCOM2、COM3として割り当て られていたとき、API-TOOLコンフィグレーションにCOM-1(PM)、COM-1D(PM)と してではなく、COM2、COM3として登録してください。 ただし、Windows XP/2000で標準COMを使用できないため上記設定は不可。 *9) PCカードをWindows XP/2000でご使用の際は、ハードウェア登録時のファイル指定に、 API-PAC(W32)内の“Sio_pm1.INF”または“Sio_pm2.INF”を指定してください。 *10) COM-4(CB)Hのインストール時には¥INF¥WIN**¥SIO¥PCIを指定してください。 COM-4(CB)Hは1枚のみ使用可能です。複数枚の同時使用はできません。 6 API-PAC(W32)RM/SIO 第1章 はじめに VisualBasic.NET、VisualC++.NETで ご使用の際の注意点 ◆VisualBasic.NET ■関数仕様 従来と同じWIN32API形式の関数が使えます。VisualBasic.NET専用の関数はありません。 ■関数引数、戻り値 関数引数、戻り値の内容はご使用になる開発言語に依存せず共通になります。 詳細は[関数のリファレンス]を参照ください。 ■関数リファレンスの書式について 書式欄の「VB」はVisual Basic 4、5、6の書式を表します。 Visual Basic.NETからは以前のバージョンとは型宣言が大きく変わりました。 その為、書式の引数の型は、サンプルプログラムにある関数宣言を参照してください。 ¥Program Files¥CONTEC¥API-PAC(W32)¥XXX¥Samples¥Inc¥APIXXX.VB (XXXはSIO/DIO/AIO/GPIB/CNT/SMC等) 型宣言の変更例 16Bit 32Bit 64Bit VisualBasic4, 5, 6 Integer → Long → なし → Any → VisualBasic.NET Short Integer Long 固有のデータ型 ■サンプルプログラム ¥Program Files¥CONTEC¥API-PAC(W32)¥XXX¥Samples¥VbNet (XXXはSIO/DIO/AIO/GPIB/CNT/SMC等)以下にあるサンプルをご使用ください。 ■以前のバージョンのVisual Basic を使われていた方 Visual Basic 6.0以前のお客様で開発されたプログラムおよびCD-ROM収録サンプルプログラム (¥VB6)は「Visual Basic アップグレードウィザード」で変換できます。 但し自動的に変換されない個所がありますので、Visual Basic.NETのヘルプを参照して手動で 変更してください。なお、Visual Basic 4、5からは変換することはできません。 ■MsgEcho.ocxを使われていた方 MsgEcho.ocxではメッセージを取得できなくなりました。代わりにCMessage.ocxコントロール をご利用ください。(既にCMessage.ocxコントロールを使用しているサンプルは変更の必要は ありません) API-PAC(W32)RM/SIO 7 第1章 はじめに ◆VisualC++.NET ■関数仕様 従来と同じWIN32API形式の関数が使えます。VisualC++.NET専用の関数はありません。 ■関数引数、戻り値 関数引数、戻り値の内容はご使用になる開発言語に依存せず共通になります。 詳細は[関数のリファレンス]を参照ください。 ■関数リファレンスの書式について 書式欄の「C言語用」と同じ書式となります。 ■サンプルプログラム ¥Program Files¥CONTEC¥API-PAC(W32)¥XXX¥Samples¥VcNet (XXXはSIO/DIO/AIO/GPIB/CNT/SMC等)以下にあるサンプルをご使用ください。 ※Visual C++.NETではMFCアプリケーション用のサンプルを提供しています。ManagedC++用 ではありません。 ■以前のバージョンのViasualC++ を使われていた方 VisualC++6.0以前のお客様で開発されたプログラムおよびCD-ROM収録サンプルプログラム (¥VC2CPP,¥VC6CPP)をコンパイル/実行する場合修正する必要があります。 変更に際してはVisualC++.NETヘルプにて確認の上行ってください。 以下のコードがあると、うまくプログラムが起動しないことがありますので削除してください。 CWinAppのInitInstanceに以下のコードがある場合は削除 //Enable3dControls(); //LoadStdProfileSettings(0); // 標準 INI ファイルをロードします。(MRU を含む) なお、変換されたプロジェクトはMFCアプリケーションです。新規にプロジェクトを作成さ れる場合は、[Visual C++プロジェクト] - [MFCアプリケーション]を選択してください。 8 API-PAC(W32)RM/SIO 第1章 はじめに Borland Delphiでご使用の際の注意点 ◆Borland Delphi ■関数仕様 WIN32API形式の関数として使えます。 ■関数引数、戻り値 関数引数、戻り値の内容はご使用になる開発言語に依存せず共通になります。 詳細は[関数のリファレンス]を参照ください。 ■関数リファレンスの書式について 書式の引数の型は、サンプルプログラムにある関数宣言を参照してください。 ¥apiXXX.pas API-PAC(W32)RM/SIO (XXXはSIO/DIO/AIO/GPIB/CNT/SMC等) 9 第1章 はじめに 10 API-PAC(W32)RM/SIO 第2章 関数のリファレンス 第2章 関数のリファレンス 関数一覧 サポートしている関数は以下のとおりです。 関数名 SioOpen SioClose SioRead SioWrite SioWriteEx SioStatus SioStatusEx SioControl SioReset SioSetBaudrate SioSetEvent SioWaitEvent 機能 初期化処理 終了処理 受信したデータの読み取り データの送信 割り込みを使用したデータの送信 *1 ステータス情報読み取り 送信状態を含むステータス情報読み取り *1 各種状態のコントロール リセット *2 ボーレートの変更 *1 イベント条件の設定 *2 *3 設定したイベント条件の発生待ち *2 *3 関数実行にあたり... ・ 関数の実行順序としては、最初に初期化処理を行わなければなりません。初期化処理を行 って、初めて他の関数が使用できるようになります。 ・ プログラムの終了には、終了処理を実行してください。終了処理を実行せずにプログラム を終了した場合、その後のプログラムが正常に動作しないことがあります。 ・ 一度初期化処理を実行した後に再度初期化処理を行いたいときは、一度終了処理を行って から初期化処理を実行するようにしてください。 (初期化処理と終了処理は、対で存在しなければなりません。) *1) 98(C)バスボード、インテリジェントボード、PC-9800シリーズのCOM1ではこれら関数は 使用不可。使用できないボードの一覧は、第1章「はじめに - 仕様」を参考にしてくださ い。 *2) 98(C)バスボード、インテリジェントボード、PC-9800シリーズのCOM1では一部使用でき ない機能があります。使用できないボードの一覧は、第1章「はじめに - 仕様」を参考に してください。 *3) Visual Basicでの使用不可。 Windows Me/98/95環境では複数チャネルでの同時使用不可。 (Windows XP/2000/NT環境では同時使用可) API-PAC(W32)RM/SIO 11 第2章 関数のリファレンス SioOpen ■使用可能ボード サポート対象ボード全て ■機能 指定したチャネルの通信用LSIの初期設定をします。 指定したチャネルの内部ワーキングエリアの初期設定をします。 ■書式 (C言語用) HANDLE hDevice; DWORD dwPortCh; SIOOPN lpOpen; hDevice = SioOpen(dwPortCh, &lpOpen); (Visual Basic用) Dim hDevice As Long Dim dwPortCh As Long Dim lpOpen As SIOOPN hDevice = SioOpen(dwPortCh, lpOpen) ■引数 dwPortCh : チャネル番号を指定してください。 lpOpen : 通信の設定状態を格納するSIOOPN構造体をポインタで指 定してください。 hDevice : 関数が正常に終了した場合は、指定したチャネルのデバイ スハンドルを返します。他のSioXxxx関数を実行する時に は、このデバイスハンドルを指定します。関数が異常終了 した場合は、FALSEを返します。(詳細は「戻り値一覧」 参照) 指定可能な範囲 : 1 ∼ 256 12 API-PAC(W32)RM/SIO 第2章 関数のリファレンス SIOOPN構造体 ■書式 (C言語用) typedef struct _SIOOPN{ DWORD dwBaudrate; DWORD dwDataBits; DWORD dwStopBits; DWORD dwParity; DWORD dwXonXoffFlow; DWORD dwXonCode; DWORD dwXoffCode; DWORD dwHardFlow; DWORD dwDuplex; DWORD dwRcvSize; }SIOOPN, *LPSIOOPN; (Visual Basic用) Type SIOOPN dwBaudrate As Long dwDataBits As Long dwStopBits As Long dwParity As Long dwXonXoffFlow As Long dwXonCode As Long dwXoffCode As Long dwHardFlow As Long dwDuplex As Long dwRcvSize As Long End Type ■メンバ dwBaudrate : ボーレートを指定してください。ただし通信ボード上にジ ャンパ、スィッチなどでボーレートの設定がある場合、そ ちらが優先されます。 指定可能な範囲 : 50 ∼ 921600 dwDataBits : データ長を指定してください。 SIO_DATABIT_5 : 5データビット SIO_DATABIT_6 : 6データビット SIO_DATABIT_7 : 7データビット SIO_DATABIT_8 : 8データビット dwStopBits : ストップビット長を指定してください。 SIO_STOPBIT_1 : 1ストップビット SIO_STOPBIT_15 : 1.5ストップビット SIO_STOPBIT_2 : 2ストップビット dwParity パリティの有無を指定してください。 SIO_PARITY_NONE : パリティなし SIO_PARITY_ODD : 奇数パリティ SIO_PARITY_EVEN 偶数パリティ SIO_PARITY_MARK : パリティビットは常に1 SIO_PARITY_SPACE : パリティビットは常に0 API-PAC(W32)RM/SIO : 13 第2章 関数のリファレンス dwXonXoffFlow : XonXoffのフロー制御を指定してください。 SIO_FLOW_OFF : フロー制御なし SIO_FLOW_ON : フロー制御あり dwXonCode : Xonのコードを指定してください。通常は11Hを指定しま す。 dwXoffCode : Xoffのコードを指定してください。通常は13Hを指定しま す。 DwHardFlow : ハードウェアフロー制御を指定してください。 SIO_HDFLOW_OFF : ハードウェアフロー制御なし SIO_HDFLOW_CTS : CTSフロー制御あり SIO_HDFLOW_DSR : DSRフロー制御あり SIO_HDFLOW_RTS : RTSフロー制御あり SIO_HDFLOW_DTR : DTRフロー制御あり dwDuplex : 全二重/半二重を指定してください。 SIO_DUPLEX : 全二重 SIO_HALFDUPLEX : 半二重 dwRcvSize : 受信バッファのサイズをバイト単位で指定してください。 指定可能な範囲 : 256 ∼ 65535 ■補足 14 各メンバの設定範囲は使用するボードにより異なります。 API-PAC(W32)RM/SIO 第2章 関数のリファレンス ノンインテリジェントボードの場合 <PCIバスボード/PCカード/ISAバスボード対応> <パソコン本体のRS-232C ポート(PC-9800シリーズのCOM1 は除く)対 応> dwBaudrateの設定範囲 50bps ∼ 921600bps ただし、ボード上のクロック周波数で割り切れるボーレートのみ設定可能。 COM-1(LPCI)H、COM-2(LPCI)H、COM-4(LPCI)H、COM-2P(PCI)H、 COM-4P(PCI)H、COM-4(CB)H、COM-2PD(PCI)H、COM-4PD(PCI)H、 COM-2(PCI)H、COM-4(PCI)H、COM-8(PCI)H、COM-2PD(PCI)、 COM-2PD(PC)H<エンハンストモードで使用時>、Max. 921600bpsまで有効 COM-2(PCI)、COM-4(PCI)、COM-8(PCI)使用時、Max. 230400bpsまで有効 COM-4M(PC)使用時、Max. 38400bpsまで有効 その他のボード、カードはMax. 115200bpsまで有効 (例) COM-2(PCI)Hを使用し、ボーレート9600bpsに変更したい場合 (14.7456×1000000)÷(9600×16)=921600÷9600=96 で設定可能です。 詳細は、SioSetBaudrateのボーレートの設定例をご覧ください。 dwDataBitsの設定範囲 パラメータすべて有効 dwStopBitsの設定範囲 SIO_STOPBIT_1 SIO_STOPBIT_15 SIO_STOPBIT_2 有効 データ長がSIO_DATABIT_5のとき有効 データ長がSIO_DATABIT_6、SIO_DATABIT_7、 SIO_DATABIT_8のとき有効 dwParityの設定範囲 パラメータすべて有効 dwXonXoffFlowの設定範囲 パラメータすべて有効 dwXonCodeの設定範囲 パラメータすべて有効 dwXoffCodeの設定範囲 パラメータすべて有効 dwHardFlowの設定範囲 パラメータすべて有効 dwDuplexの設定範囲 SIO_DUPLEX SIO_HALFDUPLEX 有効 COM-2PD(PCI)H、COM-4PD(PCI)H、COM-2PD(PCI)、 COM-2PD(PC)H、COM-1D(PM)使用時のみ有効 dwRcvSizeの設定範囲 パラメータすべて有効 API-PAC(W32)RM/SIO 15 第2章 関数のリファレンス <98(C)バスボード対応> <パソコン本体のRS-232C ポート(PC-9800シリーズのCOM1 のみ)対応> dwBaudrateの設定範囲 ボードのJP, SW設定値に依存(パソコンのCOM1以外) ・パソコン(5MHz系)のCOM1(25ピン) 75bps ∼ 38400bps (75, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400) ・パソコン(8MHz系)のCOM1(25ピン) 75bps ∼ 9600bps (75, 150, 300, 600, 1200, 2400, 4800, 9600) dwDataBitsの設定範囲 パラメータすべて有効 dwStopBitsの設定範囲 パラメータすべて有効 dwParityの設定範囲 SIO_PARITY_NONE 有効 SIO_PARITY_ODD 有効 SIO_PARITY_EVEN 有効 他は無効 dwXonXoffFlowの設定範囲 パラメータすべて有効 dwXonCodeの設定範囲 パラメータすべて有効 dwXoffCodeの設定範囲 パラメータすべて有効 dwHardFlowの設定範囲 SIO_HDFLOW_CTS 固定 他のパラメータは有効 dwDuplexの設定範囲 SIO_DUPLEX SIO_HALFDUPLEX 有効 SIO-2D(98)、SIO-2PD(98)、SIO-2D/24(98)のRS-422/485 ポート使用時のみ有効 dwRcvSizeの設定範囲 パラメータすべて有効 16 API-PAC(W32)RM/SIO 第2章 関数のリファレンス インテリジェントボードの場合 dwBaudrateの設定範囲 300bps ∼ 19200bps (300, 600, 1200, 2400, 4800, 9600, 19200) dwDataBitsの設定範囲 SIO_DATABIT_7 SIO_DATABIT_8 他は無効 有効 有効 dwStopBitsの設定範囲 SIO_STOPBIT_1 SIO_STOPBIT_2 他は無効 有効 有効 dwParityの設定範囲 SIO_PARITY_NONE 有効 SIO_PARITY_ODD 有効 SIO_PARITY_EVEN 有効 他は無効 dwXonXoffFlowの設定範囲 パラメータすべて有効 dwXonCodeの設定範囲 パラメータすべて有効 dwXoffCodeの設定範囲 パラメータすべて有効 dwHardFlowの設定範囲 パラメータすべて無効 SIO_HDFLOW_CTS 固定 SIO_HDFLOW_DSR 固定 他の設定はボード上のSW、JPで設定 dwDuplexの設定範囲 SIO_DUPLEX 固定 dwRcvSizeの設定範囲 「1280バイト」 固定 API-PAC(W32)RM/SIO 17 第2章 関数のリファレンス SioClose ■使用可能ボード サポート対象ボード全て ■機能 指定したチャネルの通信用LSIのDTRとRTSをOFFにします。 指定したチャネルの通信を停止します。 ■書式 (C言語用) HANDLE hDevice; DWORD dwRet; dwRet = SioClose(hDevice); (Visual Basic用) Dim hDevice As Long Dim dwRet As Long dwRet = SioClose(hDevice) ■引数 18 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioRead ■使用可能ボード サポート対象ボード全て ■機能 指定したチャネルの受信バッファからデータを読み込みます。 ■書式 (C言語用) HANDLE hDevice; DWORD dwRDelim, dwRLen, dwRTime, dwRet; char *szRBuf; dwRet = SioRead(hDevice, dwRDelim, dwRLen, dwRTime, szRBuf); (Visual Basic用) <通信データに通常データ(コード0x00∼0x7f)使用> Dim hDevice As Long Dim dwRDelim As Long, dwRLen As Long, dwRTime As Long, dwRet As Long Dim szRBuf As String * xxxx '(xxxxは受信データ数のMAX値を指定) dwRet = SioRead(hDevice, dwRDelim, dwRLen, dwRTime, szRBuf) (Visual Basic用) <通信データにバイナリデータ(コード0x00∼0xff)使用> Dim hDevice As Long Dim dwRDelim As Long, dwRLen As Long, dwRTime As Long, dwRet As Long Dim szRBuf(xxxx) As Byte '(xxxxは受信データ数のMAX値を指定) dwRet = SioRead(hDevice, dwRDelim, dwRLen, dwRTime, szRBuf(0)) ■引数 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 dwRDelim : 固定長で読み込むか、デリミタ指定で読み込むかを指定し てください。デリミタ指定の場合は、デリミタコードも指 定してください。 SIO_LENGTH : 固定長で読み込み SIO_DELIMITER : デリミタ指定で読み込み 下位1バイト 0 ∼ 255(FFH) : デリミタコードを指定してください。 dwRLen : 受信するデータ数をバイト単位で指定してください。 ノンインテリジェントボード 指定可能な範囲 : 1 ∼ 65535(FFFFH) インテリジェントボード 指定可能な範囲 : 1 ∼ 1024(400H) dwRTime : 時間監視の時間を指定してください。 指定可能な範囲 : 0 ∼ 65535(FFFFH) ただし、このdwRTimeで指定した値と実際に監視する時間 は、次のような関係になっています。 指定した値(dwRTime)×100[msec] = 実際の監視時間 また、0を指定したときは時間監視を行いません。 szRBuf : 受信バッファから読み込んだデータを格納するバッファを、 ポインタ渡しで指定してください dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) API-PAC(W32)RM/SIO 19 第2章 関数のリファレンス ■補足 ① フロー制御を指定していると、XON, XOFFの文字を自動挿入・自動削 除するので、バイナリデータ通信には適しません。 ② dwRDelimで固定長/デリミタ指定の違いにより、動作は次のように異 なります。 固定長 : dwRLenで指定したデータ数分のデータを読み込みま す。受信バッファにdwRLenで指定したデータ数分のデ ータが格納されていない場合、データ数分格納される まで待ちます。 デリミタ指定 : dwRLenで指定したデータ数分のデータを読み込む前に デリミタと同じデータを検出すると、デリミタまでの データ(デリミタ含む)を読み込みます。デリミタが検 出されなければ、固定長と同じ動作をします。 ③ dwRTimeで指定した時間までにデータの読み込みが終了しなければ、 デバイスタイムアウトエラーとなりその時点で関数の実行は打ち切ら れます。 ④ szRBufの領域よりもdwRLenの値が大きくならないように注意してくだ さい。 ⑤ SioOpenのlpOpen.dwRcvSizeよりもdwRLenの値が大きくならないよう に注意してください。 ⑥ Visual Basic使用時、szRBufの変数宣言は通信するデータにより異なり ます。 通常データ(コード0x00∼0x7fの通信データ)の場合 : String型で変数宣言 バイナリデータ(コード0x00∼0xffの通信データ)の場合 : Byte型で変数宣言 20 API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioWrite ■使用可能ボード サポート対象ボード全て ■機能 指定したチャネルから指定したバッファのデータを送信します。 ■書式 (C言語用) HANDLE hDevice; DWORD dwWDelim, dwWLen, dwWTime, dwRet; char *szWBuf; dwRet = SioWrite(hDevice, dwWDelim, dwWLen, dwWTime, szWBuf); (Visual Basic用) <通信データに通常データ(コード0x00∼0x7f)使用> Dim hDevice As Long Dim dwWDelim As Long, dwWLen As Long, dwWTime As Long, dwRet As Long Dim szWBuf As String * xxxx '(xxxxは送信データ数のMAX値を指定) dwRet = SioWrite(hDevice, dwWDelim, dwWLen, dwWTime, szWBuf) (Visual Basic用) <通信データにバイナリデータ(コード0x00∼0xff)使用> Dim hDevice As Long Dim dwWDelim As Long, dwWLen As Long, dwWTime As Long, dwRet As Long Dim szWBuf(xxxx) As Byte '(xxxxは送信データ数のMAX値を指定) dwRet = SioWrite(hDevice, dwWDelim, dwWLen, dwWTime, szWBuf(0)) ■引数 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 dwWDelim : 固定長で送信するか、デリミタ指定で送信するかを指定し てください。デリミタ指定の場合は、デリミタコードも指 定してください。 SIO_LENGTH : 固定長で送信 SIO_DELIMITER : デリミタ指定で送信 下位1バイト0∼255(FFH) : デリミタコードを指定してください。 dwWLen 送信するデータ数をバイト単位で指定してください。 : ノンインテリジェントボード 指定可能な範囲 : 1 ∼ 65535(FFFFH) インテリジェントボード 指定可能な範囲 : 1 ∼ 1024(400H) API-PAC(W32)RM/SIO 21 第2章 関数のリファレンス dwWTime : 時間監視の時間を指定してください。 指定可能な範囲 : 0 ∼ 65535(FFFFH) ただし、このdwWTimeで指定した値と実際に監視する時 間は、次のような関係になっています。 指定した値(dwWTime)×100[msec] = 実際の監視時間 また、0を指定したときは時間監視を行いません。 ■補足 szWBuf : 送信データを格納しているバッファを、ポインタ渡しで指 定してください dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) ① フロー制御を指定していると、XON, XOFFの文字を自動挿入・自動削 除するので、バイナリデータ通信には適しません。 ② dwWDelimで固定長/デリミタ指定の違いにより、動作は次のように 異なります。 固定長 : dwWLenで指定したデータ数分のデータを送信します。 デリミタ指定 : dwWLenで指定したデータ数分のデータを送信する前 にデリミタと同じデータを検出すると、デリミタを送 信した後に送信を終了します。デリミタが検出されな ければ、固定長と同じ動作をします。 ③ dwWTimeで指定した時間までに送信が終了しなければ、デバイスタイ ムアウトエラーとなりその時点で関数の実行は打ち切られます。 ④ Visual Basic使用時、szWBufの変数宣言は通信するデータにより異なり ます。 通常データ(コード0x00∼0x7fの通信データ)の場合: String型で変数宣言 バイナリデータ(コード0x00∼0xffの通信データ)の場合: Byte型で変数宣言 22 API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioWriteEx ■使用可能ボード PCIバスボード、PCカード、ISAバスボード(COM-2S(PC)を除く)、パソコ ン本体のRS-232Cポート(COM1∼COM4) (ただし、PC-9800シリーズの COM1を除く。) ■機能 指定したチャネルから指定したバッファのデータを割り込みを使用して送 信します。送信データがドライバに転送されると、ドライバ内で送信完了 を待たずに処理が返ってきます。 ■書式 (C言語用) HANDLE hDevice; DWORD dwWDelim, dwWLen, dwWTime, dwRet; char *szWBuf; dwRet = SioWriteEx(hDevice, dwWDelim, dwWLen, dwWTime, szWBuf); (Visual Basic用) <通信データに通常データ(コード0x00∼0x7f)使用> Dim hDevice As Long Dim dwWDelim As Long, dwWLen As Long, dwWTime As Long, dwRet As Long Dim szWBuf As String * xxxx '(xxxxは送信データ数のMAX値を指定) dwRet = SioWriteEx(hDevice, dwWDelim, dwWLen, dwWTime, szWBuf) (Visual Basic用) <通信データにバイナリデータ(コード0x00∼0xff)使用> Dim hDevice As Long Dim dwWDelim As Long, dwWLen As Long, dwWTime As Long, dwRet As Long Dim szWBuf(xxxx) As Byte '(xxxxは送信データ数のMAX値を指定) dwRet = SioWriteEx(hDevice, dwWDelim, dwWLen, dwWTime, szWBuf(0)) ■引数 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 dwWDelim : 固定長で送信するか、デリミタ指定で送信するかを指定し てください。デリミタ指定の場合は、デリミタコードも指 定してください。 SIO_LENGTH : 固定長で送信 SIO_DELIMITER : デリミタ指定で送信 下位1バイト0∼255(FFH) : デリミタコードを指定してください。 dwWLen : 送信するデータ数をバイト単位で指定してください。 dwWTime : 指定可能な範囲 : 1 ∼ 65535(FFFFH) 時間監視の時間を指定してください。 指定可能な範囲 : 0 ∼ 65535(FFFFH) ただし、このdwWTimeで指定した値と実際に監視する時 間は、次のような関係になっています。 指定した値(dwWTime)×100[msec] = 実際の監視時間 また、0を指定したときは時間監視を行いません。 szWBuf : 送信データを格納しているバッファを、ポインタ渡しで指 定してください dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) API-PAC(W32)RM/SIO 23 第2章 関数のリファレンス ■補足 ① フロー制御を指定していると、XON, XOFFの文字を自動挿入・自動削 除するので、バイナリデータ通信には適しません。 ② dwWDelimで固定長/デリミタ指定の違いにより、動作は次のように 異なります。 固定長 : dwWLenで指定したデータ数分のデータを送信します。 デリミタ指定 : dwWLenで指定したデータ数分のデータを送信する前 にデリミタと同じデータを検出すると、デリミタを送 信した後に送信を終了します。デリミタが検出されな ければ、固定長と同じ動作をします。 ③ 送信完了は、割り込みサービスルーチンで最後の1バイトを送信し、送 信タイマの停止を含む送信完了処理が終了したとことで完了とします。 dwWTimeで指定した時間までに送信が終了しなければ、デバイスタイ ムアウトエラーとなりその時点でドライバ内での送信処理は打ち切ら れます。ただし、デバイスタイムアウトエラーが発生したかどうかは、 SioStatusExで確認するか、またはSioSetEvent引数DwEventMaskに SIO_EV_WRITEERRORをセットし、SioWaitEventの引数DwEventStatus にSIO_EV_WRITEERRORがセットされていることで確認してください。 デバイスタイムアウトエラーをSioWriteExの戻り値で判別することは できません。 ④ Visual Basic使用時、szWBufの変数宣言は通信するデータにより異なり ます。 通常データ(コード0x00∼0x7fの通信データ)の場合: String型で変数宣言 バイナリデータ(コード0x00∼0xffの通信データ)の場合: Byte型で変数宣言 24 API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioStatus ■使用可能ボード サポート対象ボード全て ■機能 指定したチャネルの通信状態を取得します。 ■書式 (C言語用) HANDLE hDevice; DWORD dwRet; SIOSTA lpStatus; dwRet = SioStatus(hDeivce, &lpStatus); (Visual Basic用) Dim hDevice As Long Dim dwRet As Long Dim lpStatus As SIOSTA dwRet = SioStatus(hDeivce, lpStatus) ■引数 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 lpStatus : 通信状態を格納するSIOSTA構造体をポインタで指定して ください。 dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) API-PAC(W32)RM/SIO 25 第2章 関数のリファレンス SIOSTA構造体 ■書式 (C言語用) typedef struct _SIOSTA{ DWORD dwModemStatus; DWORD dwLineStatus; DWORD dwFlowStatus; DWORD dwReceiveLength; DWORD dwDelimiterCode; DWORD dwDelimiterLength; }SIOSTA, *LPSIOSTA; (Visual Basic用) Type SIOSTA dwModemStatus As Long dwLineStatus As Long dwFlowStatus As Long dwReceiveLength As Long dwDelimiterCode As Long dwDelimiterLength As Long End Type ■メンバ 26 dwModemStatus : モデムステータスの内容が格納されます。 SIO_DCTS_ON : DCTS ON SIO_DDSR_ON : DDSR ON SIO_TERI_ON : TERI ON SIO_DDCD_ON : DDCD ON SIO_CTS_ON : CTS ON SIO_DSR_ON : DSR ON SIO_RI_ON : RI ON SIO_DCD_ON : DCD ON dwLineStatus : ラインステータスの内容が格納されます。 SIO_DR_ON : DR ON SIO_OE_ON : OE ON SIO_PE_ON : PE ON SIO_FE_ON : FE ON SIO_BI_ON : BI ON SIO_THRE_ON : THRE ON SIO_TEMT_ON : TEMT ON SIO_RBOF_ON : RBOF ON dwFlowStatus : Xon/Xoffフロー制御の内容が格納されます。 SIO_XOFF_RECEIVE : XOFFコード受信中 SIO_XOFF_SEND : XOFFコード送信中 dwReceiveLength : 受信データ数が格納されます。 API-PAC(W32)RM/SIO 第2章 関数のリファレンス ■補足 dwDelimiterCode : 受信バッファのデリミタコードの存在を、調べる かどうかを指定してください。デリミタコードを 調べる場合はデリミタコードも指定してください。 SIO_LENGTH : デリミタチェックなし SIO_DELIMITER : デリミタチェックあり 下位1バイト0 ∼ 255(FFH) : デリミタコードを指定してください。 dwDelimiterLength : dwDelimiterCode = SIO_DELIMITERのとき、デリミ タコードが格納されているところまでの受信デー タ数が格納されます。 各メンバの有効範囲は使用するボードにより異なります。 ノンインテリジェントボードの場合 <PCIバスボード/PCカード/ISAバスボード対応> <パソコン本体のRS-232C ポート(PC-9800シリーズのCOM1 は除く)対 応> dwModemStatusの有効範囲 すべて有効 dwLineStatusの有効範囲 すべて有効 dwFlowStatusの有効範囲 すべて有効 dwReceiveLengthの有効範囲 すべて有効 dwDelimiterCodeの有効範囲 すべて有効 dwDelimiterLengthの有効範囲 すべて有効 <98(C)バスボード対応> <パソコン本体のRS-232C ポート(PC-9800シリーズのCOM1 のみ)対応> dwModemStatusの有効範囲 SIO_DSR_ON有効 他は無効(0固定) dwLineStatusの有効範囲 すべて有効 dwFlowStatusの有効範囲 すべて有効 dwReceiveLengthの有効範囲 すべて有効 dwDelimiterCodeの有効範囲 すべて有効 dwDelimiterLengthの有効範囲 すべて有効 API-PAC(W32)RM/SIO 27 第2章 関数のリファレンス インテリジェントボードの場合 dwModemStatusの有効範囲 SIO_CTS_ON 有効 SIO_DSR_ON 有効 他は無効(0固定) dwLineStatusの有効範囲 SIO_OE_ON SIO_PE_ON SIO_FE_ON SIO_RBOF_ON 他は無効(0固定) 有効 有効 有効 有効 dwFlowStatusの有効範囲 すべて無効(0固定) dwReceiveLengthの有効範囲 すべて有効 dwDelimiterCodeの有効範囲 すべて無効(SIO_LENGTH固定) dwDelimiterLengthの有効範囲 すべて無効(0固定) 28 API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioStatusEx ■使用可能ボード PCIバスボード、PCカード、ISAバスボード(COM-2S(PC)を除く)、パソコ ン本体のRS-232Cポート(COM1∼COM4) (ただし、PC-9800シリーズの COM1を除く。) ■機能 指定したチャネルの通信状態を取得します。 ■書式 (C言語用) HANDLE hDevice; DWORD dwRet; SIOSTAEX lpStatusEx; dwRet = SioStatusEx(hDeivce, &lpStatusEx); (Visual Basic用) Dim hDevice As Long Dim dwRet As Long Dim lpStatusEx As SIOSTAEX dwRet = SioStatusEx(hDeivce, lpStatusEx) ■引数 ■補足 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 lpStatusEx : 通信状態を格納するSIOSTAEX構造体をポインタで指定し てください。 dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) ① SIOSTAEX構造体のメンバ変数dwWriteStatusがSIO_WRITING(送信中) であるとき、SioWriteExは実行できません。 ② SioStatusとの相違点は、SioWriteExを使用時に送信の実行状態を取得 することができます。 API-PAC(W32)RM/SIO 29 第2章 関数のリファレンス SIOSTAEX構造体 ■書式 (C言語用) typedef struct _SIOSTAEX{ DWORD dwModemStatus; DWORD dwLineStatus; DWORD dwFlowStatus; DWORD dwReceiveLength; DWORD dwDelimiterCode; DWORD dwDelimiterLength; DWORD dwWriteStatus }SIOSTAEX, *LPSIOSTAEX; (Visual Basic用) Type SIOSTAEX dwModemStatus As Long dwLineStatus As Long dwFlowStatus As Long dwReceiveLength As Long dwDelimiterCode As Long dwDelimiterLength As Long dwWriteStatus As Long End Type ■メンバ 30 dwModemStatus : モデムステータスの内容が格納されます。 SIO_DCTS_ON : DCTS ON SIO_DDSR_ON : DDSR ON SIO_TERI_ON : TERI ON SIO_DDCD_ON : DDCD ON SIO_CTS_ON : CTS ON SIO_DSR_ON : DSR ON SIO_RI_ON : RI ON SIO_DCD_ON : DCD ON dwLineStatus : ラインステータスの内容が格納されます。 SIO_DR_ON : DR ON SIO_OE_ON : OE ON SIO_PE_ON : PE ON SIO_FE_ON : FE ON SIO_BI_ON : BI ON SIO_THRE_ON : THRE ON SIO_TEMT_ON : TEMT ON SIO_RBOF_ON : RBOF ON dwFlowStatus : Xon/Xoffフロー制御の内容が格納されます。 SIO_XOFF_RECEIVE : XOFFコード受信中 SIO_XOFF_SEND : XOFFコード送信中 dwReceiveLength : 受信データ数が格納されます。 API-PAC(W32)RM/SIO 第2章 関数のリファレンス ■補足 dwDelimiterCode : 受信バッファのデリミタコードの存在を、調べる かどうかを指定してください。デリミタコードを 調べる場合はデリミタコードも指定してください。 SIO_LENGTH : デリミタチェックなし SIO_DELIMITER : デリミタチェックあり 下位1バイト0 ∼ 255(FFH) : デリミタコードを指定してください。 dwDelimiterLength : dwDelimiterCode = SIO_DELIMITERのとき、デリミ タコードが格納されているところまでの受信デー タ数が格納されます。 dwWriteStatus : SioWriteEx使用時の送信の実行状態が格納されます。 SIO_WRITE_END : 送信完了 SIO_WRITING : 送信中 SIO_WRITE_TIMEOUT : 送信タイムアウト 各メンバの有効範囲は使用するボードにより異なります。 <PCIバスボード/PCカード/ISAバスボード(COM-2S(PC) を除く) 対応> <パソコン本体のRS-232C ポート(PC-9800シリーズのCOM1 は除く)対 応> dwModemStatusの有効範囲 すべて有効 dwLineStatusの有効範囲 すべて有効 dwFlowStatusの有効範囲 すべて有効 dwReceiveLengthの有効範囲 すべて有効 dwDelimiterCodeの有効範囲 すべて有効 dwDelimiterLengthの有効範囲 すべて有効 dwWriteStatusの有効範囲 すべて有効 API-PAC(W32)RM/SIO 31 第2章 関数のリファレンス SioControl ■使用可能ボード サポート対象ボード全て ■機能 指定したチャネルの通信状態をコントロールします。 ■書式 (C言語用) HANDLE hDevice; DWORD dwRet; SIOCTL lpControl; dwRet = SioControl(hDevice, &lpControl); (Visual Basic用) Dim hDevice As Long Dim dwRet As Long Dim lpControl As SIOCTL dwRet = SioControl(hDevice, lpControl) ■引数 32 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 lpControl : コントロール状態を格納するSIOCTL構造体をポインタで 指定してください。 dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) API-PAC(W32)RM/SIO 第2章 関数のリファレンス SIOCTL構造体 ■書式 (C言語用) typedef struct _SIOCTL{ DWORD dwRtsLine; DWORD dwDtrLine; DWORD dwBreakSignal; }SIOCTL, *LPSIOCTL; (Visual Basic用) Type SIOCTL dwRtsLine As Long dwDtrLine As Long dwBreakSignal As Long End Type ■メンバ dwRtsLine : RTS(Request To Send)の出力を指定します。 SIO_RTS_OFF : RTS OFF(High) SIO_RTS_ON : RTS ON(Low) dwDtrLine : DTR(Data Terminal Ready)の出力を指定します。 SIO_DTR_OFF : DTR OFF(High) SIO_DTR_ON : DTR ON(Low) dwBreakSignal : ■補足 ブレーク信号の出力を指定します。 SIO_BREAK_OFF : ブレーク信号OFF SIO_BREAK_ON : ブレーク信号ON (スペース状態) 各メンバの設定範囲は使用するボードにより異なります。 ノンインテリジェントボードの場合 dwRtsLineの有効範囲 パラメータ有効 dwDtrLineの有効範囲 パラメータ有効 dwBreakSignalの有効範囲 パラメータ有効 インテリジェントボードの場合 dwRtsLineの有効範囲 パラメータ有効 dwDtrLineの有効範囲 パラメータ有効 dwBreakSignalの有効範囲 SIO_BREAK_OFF固定 API-PAC(W32)RM/SIO 33 第2章 関数のリファレンス SioReset ■使用可能ボード サポート対象ボード全て ■機能 指定したチャネルをリセットします。 ■書式 (C言語用) HANDLE hDevice; DWORD dwResType, dwRet; dwRet = SioReset(hDevice, dwResType); (Visual Basic用) Dim hDevice As Long Dim dwResType As Long, dwRet As Long dwRet = SioReset(hDevice, dwResType) ■引数 ■補足 hDevice : チャネルを識別するデバイスハンドルを指定してください。 このデバイスハンドルはSioOpenで取得します。 dwResType : リセットのタイプを指定してください。 SIO_RESET_COMM : 通信エラーのリセット SIO_RESET_RBUFF : 受信バッファのクリア SIO_RESET_WBUFF : 送信バッファのクリア SIO_RESET_WTIMEOUT : 送信タイムアウトエラーの リセット dwRet 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) : ① dwResType = SIO_RESET_COMMを指定した場合、リセットを行う通 信エラーはSioStatusまたはSioStatusExで返されるエラーです。 dwResType = SIO_RESET_WBUFFを指定した場合、SioStatusExで送信 中であれば送信も中止されます。 ② インテリジェントボード、98(C)バスボード、PC-9800シリーズのCOM1 ではdwResTypeにSIO_RESET_WBUFF, SIO_RESET_TIMEOUTを指定で きません。 34 API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioSetBaudrate ■使用可能ボード PCIバスボード、PCカード、ISAバスボード(COM-2S(PC)を除く)、パソコ ン本体のRS-232Cポート(COM1∼COM4)(ただし、PC-9800シリーズのCOM1 を除く。) ■機能 指定したチャネルのボーレートを変更します。 ■書式 (C言語用) HANDLE hDevice; DWORD dwBaudrate,dwRet; dwRet = SioSetBaudrate (hDeivce, dwBaudrateSet); (Visual Basic用) Dim hDevice As Long Dim dwRet As Long,dwBaudrate As Long dwRet = SioSetBaudrate (hDeivce, dwBaudrateSet) ■引数 ■補足 hDevice : チャネルを識別するデバイスハンドルを指定してくださ い。このデバイスハンドルはSioOpenで取得します。 dwBaudrateSet : 設定したいボーレートの分周値を指定してください。 dwRet : 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) ボード上のクロック周波数で割り切れないボーレートを設定したいとき (SioOponではエラーではじかれる)、SioOpenで指定可能なボーレートを指 定し、その後上記関数を使用しボーレートの変更を行います。ただし、ボ ードによって設定可能なボーレートが異なります。また、設定誤差が大き いボーレートを設定した場合、文字化け等の通信異常の原因となります。 dwBaudrateSetの設定範囲はご使用になるボードにより異なります。 (1) COM-1(LPCI)H、COM-2(LPCI)H、COM-4(LPCI)H、COM-2P(PCI)H、 COM-4P(PCI)H、COM-4(CB)H、COM-2PD(PCI)H、COM-4PD(PCI)H、 COM-2(PCI)H、COM-4(PCI)H、COM-8(PCI)H、COM-2PD(PCI)、 COM-2PD(PC)H<エンハンストモードで使用時> Max. 921600bpsまで有効、クロック周波数:14.7456MHz (2) COM-2(PCI)、COM-4(PCI)、COM-8(PCI)使用時、 Max. 230400bpsまで有効、クロック周波数:3.6864MHz (3) COM-4M(PC)使用時、 Max. 38400bpsまで有効、クロック周波数:1.8432MHz (4) その他のボード、カード Max. 115200bpsまで有効、クロック周波数:1.8432MHz dwBaudrateSetの計算方法: dwBaudrateSet =クロックの周波数÷(使用したいボーレート×16) (例) COM-2(PCI)Hを使用しボーレート9600bpsに変更したい場合 (14.7456×1000000)÷(9600×16) = 921600÷9600=96 dwBaudrateSet=96となります。 ボーレートの設定例は次の表を参照してください。 API-PAC(W32)RM/SIO 35 第2章 関数のリファレンス ■ボーレートの設定例 設定する ボーレート クロックの周波数1.8432MHz クロックの周波数3.6864 MHz クロックの周波数14.7456MHz 分周レジスタ 分周レジスタ 分周レジスタ 設定誤差(%) に設定する値 設定誤差(%) に設定する値 50 2304 - 4608 - 18432 75 1536 - 3072 - 12288 - 110 1047 0.026 2094 0.026 8378 0.0022 134.5 857 0.058 1713 0.0006 6852 0.0006 150 768 - 1536 - 6144 - 300 384 - 768 - 3072 - - 600 192 - 384 - 1536 - 1200 96 - 192 - 768 - 1800 64 - 128 - 512 - 2000 58 0.68 115 0.17 461 0.04 2400 48 - 96 - 384 - 3600 32 - 64 - 256 - 4800 24 - 48 - 192 - 7200 16 - 32 - 128 - 9600 12 - 24 - 96 - 14400 8 16 - 64 - 19200 6 12 - 48 - 28800 4 8 - 32 - 38400 3 - 6 - 24 - 57600 2 - 4 - 16 - 115200 1 - 2 - 8 - 1 - 4 - 460800 2 - 921600 1 - 230400 36 設定誤差(%) に設定する値 - API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioSetEvent ■使用可能ボード サポート対象ボード全て ■機能 イベントが発生するための条件を設定します。 ■書式 (C言語用) HANDLE hDevice; DWORD dwEventMask, dwParam1, dwParam2, dwRet; dwRet = SioSetEvent(hDevice, dwEventMask, dwParam1, dwParam2); (Visual Basic用) Visual Basicでの使用不可 ■引数 hDevice : チャネルを識別するデバイスハンドルを指定してくださ い。このデバイスハンドルはSioOpenで取得します。 dwEventMask : イベント発生の条件を指定してください。 SIO_EV_NONE : イベント条件なし SIO_EV_READ : 受信完了イベント有効 SIO_EV_READERROR : 受信エラーイベント有効 SIO_EV_WRITE : 送信完了イベント有効 SIO_EV_WRITEERROR : 送信エラーイベント有効 dwParam1 : dwEventMaskでSIO_EV_READを指定した場合、受信完 了の条件として固定長または、デリミタを指定してくだ さい。デリミタ指定の場合は、デリミタコードも指定し てください。 SIO_LENGTH : 固定長指定 SIO_DELIMITER : デリミタ指定 下位1バイト 0 ∼ 255(FFH) : デリミタコードを指定してください。 dwParam2 : dwEventMaskでSIO_EV_READを指定した場合、受信完了の 条件として受信データ数をバイト単位で指定してください。 dwRet : 指定可能な範囲 : API-PAC(W32)RM/SIO 1 ∼ 65535(FFFFH) 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) 37 第2章 関数のリファレンス ■補足 ① SIO_EV_READERRORを有効にするには、同時にSIO_EV_READも有 効にする必要があります。 ② dwParam1で固定長/デリミタ指定の違いにより、動作は次のように異 なります。 固定長 : dwParam2で指定したデータ数分のデータを格納すると イベントを発生します。受信バッファにdwParam2で指 定したデータ数分のデータが格納されていない場合、 データ数分格納されるまで待ちます。 デリミタ指定 : dwParam2で指定したデータ数分のデータを格納する前 にデリミタと同じデータを検出すると、イベントを発 生します。デリミタが検出されなければ、固定長と同 じ動作をします。 ③ SioSetEventはWindows 98/95環境では複数チャネルでの同時使用はでき ません。 ④ インテリジェントボード、98(C)バスボード、PC-9800シリーズのCOM1 ではdwEventMaskにSIO_EV_WRITE, SIO_EV_WRITEERRORを指定で きません。 ⑤ SioWaitEvent実行中にSioCloseを行いますと、動作異常の原因となりま すので、必ず、dwEventMask値をSIO_EV_NONEとしてSioSetEventを実 行してからSioCloseを行ってください。 38 API-PAC(W32)RM/SIO 第2章 関数のリファレンス SioWaitEvent ■使用可能ボード サポート対象ボード全て ■機能 発生したイベントの内容を取得します。 ■書式 (C言語用) HANDLE hDevice; DWORD dwEventStatus, dwRet; dwRet = SioWaitEvent(hDevice, &dwEventStatus); (Visual Basic用) Visual Basicでの使用不可 ■引数 ■補足 hDevice : チャネルを識別するデバイスハンドルを指定してくださ い。このデバイスハンドルはSioOpenで取得します。 dwEventStatus : イベントの事象が格納されます。 SIO_EV_NONE : イベント発生なし SIO_EV_READ : 受信完了イベント発生 SIO_EV_READERROR : 受信エラーイベント発生 SIO_EV_WRITE : 送信完了イベント発生 SIO_EV_WRITEERROR : 送信エラーイベント発生 dwRet 終了情報(戻り値) TRUE : 正常終了 FALSE : エラー(詳細は「戻り値一覧」参照) : ① SioWaitEventを実行するとイベントの事象がクリアされます。 ② SioWaitEventはWindows 98/95環境では複数チャネルでの同時使用はで きません。 ③ インテリジェントボード、98(C)バスボード、PC-9800シリーズのCOM1 ではdwEventStatusにSIO_EV_NONE, SIO_EV_READ, SIO_EV_READERRORのみが指定可能です。 ④ SioWaitEvent実行中にSioCloseを行いますと、動作異常の原因となりま すので、必ず、dwEventMask値をSIO_EV_NONEとしてSioSetEventを実 行してからSioCloseを行ってください。 API-PAC(W32)RM/SIO 39 第2章 関数のリファレンス 戻り値一覧 戻り値がTRUEのときは関数は正常に実行されています。戻り値がFALSEのときはエラーが発 生したことを示し、関数の処理は中断されます。 GetLastError関数を実行することによりエラ ー内容の詳細を取得することができます。 ex) if( hDevice = SioOpen(PortCh, lpOpen) == FALSE){ char szBuffer[256]; wsprintf(szBuffer, "SioOpen Error = %x", GetLastError()); MessageBox(hWnd, szBuffer, "エラー情報", MB_ICONEXCLAMATION); } ノンインテリジェントボード使 用 時 の 戻 り 値 一 覧 2C000001H APITOOL_ERROR_OPEN ① 指定したチャネルNo.がレジストリに登録されていません。 ② 初期化処理がすでに実行されているチャネルNo.に、再度初期化処理を 実行しようとしたことを示します。 (実行済みの状態を解除するには終了処理を行います。) ・ Windows XP/2000/NTでドライバをインストールする場合、Administrator でログインしてから、インストールを行ってください。 2C000002H APITOOL_ERROR_PARAMETER 関数に渡された引数の値が指定範囲外であることを示します。たとえば、 プログラム中の引数の型と関数内の引数の型が合わなかったり、引数の個 数が間違っている場合に発生します。 2C010001H SIO_ERROR_TIMEOUT 指定した時間内(0を除く)に、送信または受信データの読込みが終了しなか ったことを示します。 2C010002H SIO_ERROR_RCVBUFFER 初期化時、受信バッファの確保ができなかったことを示します。 2C010005H SIO_ERROR_WRITING データ送信中に、SioWriteExを実行したことを示します。 40 API-PAC(W32)RM/SIO 第2章 関数のリファレンス イ ン テ リ ジ ェ ン ト ボ ー ド使用時の戻り値一覧 2C000001H APITOOL_ERROR_OPEN ① 指定したチャネルNo.がレジストリに登録されていません。 ② 初期化処理がすでに実行されているチャネルNo.に、再度初期化処理を 実行しようとしたことを示します。 (実行済みの状態を解除するには終了処理を行います。) ・ Windows XP/2000/NTでドライバをインストールする場合、Administrator でログインしてから、インストールを行ってください。 2C000002H APITOOL_ERROR_PARAMETER 関数に渡された引数の値が指定範囲外であることを示します。たとえば、 プログラム中の引数の型と関数内の引数の型が合わなかったり、引数の個 数が間違っている場合に発生します。 2C010001H SIO_ERROR_TIMEOUT 指定した時間内(0を除く)に、送信または受信データの読込みが終了しなか ったことを示します。 2C010003H SIO_ERROR_BOARD ボードが実装されていないことを示します。またはボードに設定している I/Oアドレスと、レジストリで設定しているI/Oアドレスが合っていないこ とを示します。 2C010004H SIO_ERROR_COMMUNICATION 受信データの読み取り時に、通信エラーが発生したことを示します。詳細 はステータス情報読み取りで確認してください。 API-PAC(W32)RM/SIO 41 第2章 関数のリファレンス 42 API-PAC(W32)RM/SIO 第3章 用語説明 第3章 用語説明 SIO_BI_ON 0x10 BI(Break Interrupt) ON(Low) SIO_BREAK_OFF 0 ブレーク信号OFF SIO_BREAK_ON 1 ブレーク信号ON(スペース状態) SIO_CTS_ON 0x10 CTS(Clear To Send) ON(Low) SIO_DATABIT_5 5 5 データビット SIO_DATABIT_6 6 6 データビット SIO_DATABIT_7 7 7 データビット SIO_DATABIT_8 8 8 データビット SIO_DCD_ON 0x80 DCD(Data Carrier Detect) ON(Low) SIO_DCTS_ON 0x01 DCTS(Delta Clear To Send) ON(Low) SIO_DDCD_ON 0x08 DDCD(Delta Data Carrier Detect) ON(Low) SIO_DDSR_ON 0x02 DDSR(Delta Data Set Ready) ON(Low) SIO_DELIMITER 0x0100 デリミタ指定で読み込みします。 SIO_DR_ON 0x01 DR(Data Ready) ON(Low) API-PAC(W32)RM/SIO 43 第3章 用語説明 SIO_DSR_ON 0x20 DSR(Data Set Ready) ON(Low) SIO_DTR_OFF 0 DTR(Data Terminal Ready) OFF(High) SIO_DTR_ON 1 DTR(Data Terminal Ready) ON(Low) SIO_DUPLEX 0 全二重 SIO_EV_NONE 0x00 イベントなし SIO_EV_READ 0x01 受信完了イベント SIO_EV_READERROR 0x02 受信エラーイベント SIO_EV_WRITE 0x04 送信完了イベント SIO_EV_WRITEERROR 0x08 送信エラーイベント SIO_FE_ON 0x08 FE(Framing Error) ON(Low) SIO_FLOW_OFF 0 フロー制御なし SIO_FLOW_ON 1 フロー制御あり SIO_HALFDUPLEX 1 半二重 SIO_HDFLOW_CTS 0x01 CTSフロー制御あり CTSがOFFのとき送信を停止します SIO_HDFLOW_DSR 0x02 DSRフロー制御あり DSRがOFFのとき送信を停止します SIO_HDFLOW_DTR 0x08 DTRフロー制御あり 受信バッファが限界点に達したとき、DTRをOFFにします 44 API-PAC(W32)RM/SIO 第3章 用語説明 SIO_HDFLOW_OFF 0x00 ハードウェアフロー制御なし SIO_HDFLOW_RTS 0x04 RTSフロー制御あり 受信バッファが限界点に達したとき、RTSをOFFにします SIO_LENGTH 0x0000 固定長で読み込みます。 SIO_OE_ON 0x02 OE(Overrun Error) ON(Low) SIO_PARITY_EVEN 2 偶数パリティ SIO_PARITY_MARK 3 パリティビットは常に1 SIO_PARITY_NONE 0 パリティなし SIO_PARITY_ODD 1 奇数パリティ SIO_PARITY_SPACE 4 パリティビットは常に0 SIO_PE_ON 0x04 PE(Parity Error) ON(Low) SIO_RBOF_ON 0x80 RBOF(Receive Buffer Over Flow) ON(Low) SIO_RESET_COMM 0x01 通信エラーのリセット SIO_RESET_RBUFF 0x02 受信バッファのクリア SIO_RESET_WBUFF 0x04 送信バッファのクリア SIO_RESET_WTIMEOUT 0x08 送信タイムアウトのリセット SIO_RI_ON 0x40 RI(Ring Indicator) ON(Low) SIO_RTS_OFF 0 RTS(Request To Send) OFF(High) API-PAC(W32)RM/SIO 45 第3章 用語説明 SIO_RTS_ON 1 RTS(Request To Send) ON(Low) SIO_STOPBIT_1 0 1 ストップビット SIO_STOPBIT_15 1 1.5 ストップビット SIO_STOPBIT_2 2 2 ストップビット SIO_TEMT_ON 0x40 TEMT(Transmitter Empty) ON(Low) SIO_TERI_ON 0x04 TERI(Trailing Edge Ring Indicator) ON(Low) SIO_THRE_ON 0x20 THRE(Transmitter Holding Register) ON(Low) SIO_WRITE_END 0x00 送信完了 SIO_WRITE_TIMEOUT 0x02 送信タイムアウト SIO_WRITING 0x01 送信中 SIO_XOFF_RECEIVE 0x10 XOFFコード受信中 SIO_XOFF_SEND 0x20 XOFFコード送信中 46 API-PAC(W32)RM/SIO 第3章 用語説明 イベント機能 「受信完了」、または「受信エラー」発生時に、イベントを発生させることが できます。 インテリジェントボード <ISAバスボード> COM-2S(PC) <98(C)バスボード> SIO-2S(98)V、SIO-4S(98)V、SIO-2BS(98)(無手順のみ) ノンインテリジェントボード <PCIバスボード> COM-2(PCI)H、COM-4(PCI)H、COM-8(PCI)H、COM-2PD(PCI)H、 COM-4PD(PCI)H、COM-2P(PCI)H、COM-4P(PCI)H、COM-1(LPCI)H、 COM-2(LPCI)H、COM-4(LPCI)H、COM-2(PCI)、COM-4(PCI)、COM-8(PCI)、 COM-2PD(PCI) <PCカード> COM-1(PM)、COM-1D(PM)、COM-2(PM)、COM-4(CB)H <ISAバスボード> COM-2(PC)F、COM-4M(PC)、COM-2PD(PC)H <98(C)バスボード> SIO-2(98)N、SIO-2(98)H、SIO-2C(98)H、 SIO-2D(98)、SIO-2PD(98)、SIO-2/24(98)、 SIO-2D/24(98)、SIO-4(98)H <パソコン本体のRS-232Cポート> COM1∼COM4 API-PAC(W32)RM/SIO 47 API-PAC(W32)RM/SIO 解説書 発行 株式会社コンテック 日本語 英語 中国語 大阪市西淀川区姫里3-9-31 http://www.contec.co.jp/ http://www.contec.com/ http://www.contec.com.cn/ 2003年10月改訂 〒555-0025 本製品および本書は著作権法によって保護されていますので無断で複写、複製、転載、改変す ることは禁じられています。 [06011998] [10232003_rev8] 分類番号 コード番号 A-41-920 LZF8291
© Copyright 2024 Paperzz