ID : 608
データ通信
データ通信とはPacScript上で外部機器とデータを通信をする機能です。
タスクと回線
データ通信ではタスクが回線をオープンし、その回線を使って通信します。
タスクが回線をオープンすると、そのタスクは回線の通信権を取得し、その回線は他のタスクからオープンできません。タスクは複数の回線をオープンできますが、回線は同時に複数のタスクからオープンできません。すでにオープンされている回線は他のタスクからはアクセスできません。*
コントローラはタスクの状態や運転モードに関わらず、回線番号とどのタスクがオープンしたかを電源がOffされるまで保持します。
データ通信機能で、唯一Comm.Closeメソッドで引数に"-1"を指定ときは自タスクがオープンしていない回線をクローズできます。これはタスクが回線をオープンしたままフリーズした場合などの対処として、強制的にすべての回線をクローズするためのものです。エラー処理ルーチンなどで使用し、通常のタスクでは使用しないでください。
通信方式の選択
データ通信にはEthernetとRS-232Cの二つの通信方式を選択できます。
回線番号毎に通信方式が割当てられています。
RS-232C
RS-232Cでの通信はハンドシェイクをとりませんので通信時は確実に回線をComm.Openでオープンしてください。
回線がオープンしているときには、送られてきたデータは通信バッファに蓄積されます。蓄積されたデータをComm.Inputで取得します。
RS-232Cの回線番号は1、2、3、40、41です。
回線番号をどの物理ポートに対応させるかは"通信ポート設定"で設定することができます。設定画面参照
Ethernet
Ethernetの回線番号は4-15です。
Ethernetを使ってのデータ通信は回線を確実に確立してから、データを送受信します。
Ethernetでのデータ通信は"サーバ"の回線に対して"クライアント"の回線がつなぎに行くことで通信が確立します。"サーバ"と"クライアント"の一対で通信します。
Ethernetの通信回線の確立の仕方は次のとおりです。
- サーバ側の回線をオープンします。
- クライアント側の回線をオープンします。サーバの回線がオープンしていないとエラーです。
- データを送受信します。
データタイプの選択
通信するデータは以下の2種を選択できます。
- テキスト
- テキストデータを送受信します。
- バイナリ
- バイナリデータを送受信します。"バイナリモードでのデータ通信"参照
データ通信で使うコマンド
データ通信には以下のコマンドを使います。
コマンド名 | 機能 |
---|---|
Comm.Open | データ通信時に回線をオープンします。 |
Comm.Close | データ通信時に指定した回線をクローズします。 |
Comm.Output | データ通信機能でデータを送信します。 |
Comm.Input | データ通信機能でデータを受信します。 |
Comm.Clear | データ通信の受信バッファをクリアします。 |
Comm.Count | データ通信機能の受信バッファから読み取れるデータのバイト数を返します。 |
Comm.State | データ通信機能のポートの状態を返します。 |
ID : 608