〜 シンプル通信PLC For OMRON (.NET)のリファレンス 〜

名前空間
using Aoyama.Rs232.Omron;

プロパティ
プロパティ名 意味 設定値 説明
Password
(PARAMで表記する場合は、"ライセンスキー")
ライセンスキー string ライセンスキー ベクターにて、送金すると、ライセンスキーが得られます。
このプロパティに、そのライセンスキーを設定すると、制限が解除されます。
Port シリアルポートの番号 int 1,2 その他、Windowsで対応するポートを設定できます。
Bps ボーレート BpsValue 1200,2400,4800,9600,19200,
38400,57600,115200
シリアルポートのボーレートを設定します。
Bit ビット BitValue 7,8 シリアルポートのビットを設定します。
Parity パリティ ParityValue 0(none:ノンパリティ)
1(odd:奇数パリティ)
2(even:偶数パリティ)
シリアルポートのパリティを設定します。
StopBit ストップビット StopBitValue 0(one:1ビット)
2(two:2ビット)
シリアルポートのストップビットを設定します。
MachineNo 号機No int 0〜99 号機Noを設定します。
ReadR、ReadDなどのメソッドを使って値を設定したり、取得する場合に、号機Noを指定できます。
Ready 送信可能 bool - コマンドを送信できる状態の場合、trueを返します。

(注)
同期モードのみ使用している場合、送信命令に対する返信を待ってアプリケーションに制御を返すため、必要ではありません。
非同期モードの場合、正常終了、または、エラーイベントにより、状態を把握することをお勧めします。具体的には、送信メソッド(ReadR、WriteRなど)を実行した後、イベントが発生するまでは、次の送信メソッドを受け取ることはできません。この間に、次のメソッドを送らないように、フラグを立てるなど、アプリケーションで管理してください。
Ver バージョン string - コントロールのバージョンを取得します。


メソッド
基本メソッド
メソッド名 説明
bool Open()
bool OpenS()
ポートを開く
OpenSは、Openの特別なものです。
void Close() ポートを閉じます
void Abort() 処理中の上位リンク機能を中断し、新しいコマンドを受け付け可能にする
ReadMS ステータス読み出し
WriteSC ステータス書き込み
ReadMF 故障情報読み出し
ReadMM 機種コード読み出し
PlcTS テスト送信
SendEx 任意のデータの送信(非同期)
SendExsyn 任意のデータの送信(同期)
同期と非同期の違い
同期タイプは、メソッドを実行すると、シーケンサからの返信が得られるまで、制御が返りません。つまり、シーケンサからの返信があるまで、次のメソッドを実行できません。
非同期タイプは、メソッドを実行すると、すぐに制御が返ります。シーケンサからの返信を待たないため、シーケンサへの命令が実行できたか把握する前に、次のメソッドが実行されることに注意が必要です。

データの読み込み用メソッド

 [ 非同期タイプのメソッド ]
Comイベントにより、値を取得します。
チャネル値やチャネル数などの引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
受信データエラーが発生した場合やタイムアウトが発生した場合には、Errorイベントが発生します。

 [ 同期タイプのメソッド ]
読み出した値を配列として得ることができます。エラーが発生した場合は、例外が発生します。
(例外)
・チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
・ポートが開かれていない場合、NotOpenExceptionが発生します。
・データを送信できない状態であった場合、StatusExceptionが発生します。
・受信データに異常がある場合、RecDataExceptionが発生します。

メソッド名 名称
非同期同期
ReadR ReadRs 入出力リレー/内部補助リレー/特殊補助リレーエリア読み出し
ReadL ReadLs LRリレーエリア読み出し
ReadH ReadHs HRリレーエリア読み出し
ReadC ReadCs タイマ/カウンタエリア読み出し
ReadG ReadGs タイマ/カウンタアップデータ読み出し
ReadD ReadDs DMエリア読み出し
ReadJ ReadJs ARエリア読み出し
ReadE ReadEs EMエリア読み出し
データの書き込み関数

 書き込むデータは、配列で指定します。配列の数を指定しない場合は、配列の全ての値が書き込まれます。

 [ 非同期タイプのメソッド ]
シーケンサに書き込みコマンドを送信すると制御が戻ります。シーケンサとの通信に成功したわけではないことに注意してください。
シーケンサとの通信に成功した場合、Comイベントが発生します。
エラーが発生した場合、Errorイベントが発生します。

 [ 同期タイプのメソッド ]
シーケンサに書き込みコマンドを送り、シーケンサから正常に書き込まれたとの返信を受けてから制御が戻ります。
(例外)
・チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
・ポートが開かれていない場合、NotOpenExceptionが発生します。
・データを送信できない状態であった場合、StatusExceptionが発生します。
・受信データに異常がある場合、RecDataExceptionが発生します。

メソッド名 名称
非同期同期
WriteR WriteRs 入出力リレー/内部補助リレー/特殊補助リレーエリア書き込み
WriteL WriteLs LRリレーエリア書き込み
WriteH WriteHs HRリレーエリア書き込み
WriteC WriteCs タイマ/カウンタエリア書き込み
WriteG WriteGs タイマ/カウンタアップデータ書き込み
WriteD WriteDs DMエリア書き込み
WriteJ WriteJs ARエリア書き込み
WriteE WriteEs EMエリア書き込み

イベント
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
また、RecEventArgsのSendCmdには、送信コマンド(RR,WRなど)が入ります。
このイベントは、SendEx以外の非同期タイプのメソッドを実行し、正常に処理できたときに発生します。
ComEx 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecExEventArgsのRecValueに、文字列として入ります。

このイベントは、SendExを実行し、正常に処理できたときに発生します。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。

データの一括読み出し関数

この関数は、C#のライブラリとして提供しています。利用する場合は、mdlOmron.csファイルをコピーして、ご利用ください。

関数名 名称
WriteQQ 複合コマンド 読み出し登録
ReadQQ 複合コマンド 一括読み出し

メソッドの詳細
bool Open()
ポートを開き、通信を開始します。
OpenSは、Openの特別なものです。ライセンスキー(Password)が設定されていない場合、Openを実行すると、シェアウェアの確認ダイアログが表示されますが、OpenSでは、この表示はありません。
しかし、ライセンスキーが設定されていない場合、使用期限が過ぎると使用できなくなるのは共通です。
OpenSは、試用期間中に、ダイアログ表示を行いたくない場合や、ASPでの利用の場合に、使います。
戻り値
 関数の実行に成功した場合、trueを返す。失敗した場合、falseを返す。
void Close()
ポートを閉じます
void ReadR(long ch, long dataNum)
入出力リレー/内部補助リレー/特殊補助リレーエリア読み出し (非同期)
リレー読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
例:
private void button3_Click(object sender, System.EventArgs e)
{
    try
    {
        // リレーの101チャネルから、1ch分を取得
        omron1.ReadR(101, 1);
    }
    catch(Exception ex)
    {
        labelErr.Text = ex.Message;
    }
}

// イベントにより、データを受信
private void omron1_Com(object sender, Aoyama.Rs232.Omron.RecEventArgs e)
{
    if(e.SendCmd.Equals("RR"))   // 受信データが、RRコマンドへの返信の場合
    {
        long[] data = e.RecValue;  // 受信データ

        // 受信データの表示
        AddMessage add;
        string s;
        add = new AddMessage(ShowMessage);
        s = data[0].ToString();
        labelMsg.BeginInvoke(add, new Object[] {s});
    }
}

// エラーイベントが発生
private void omron1_Error(object sender, Aoyama.Rs232.Omron.ComErrEventArgs e)
{
    string msg = e.ErrMsg;  //エラーメッセージ

    // エラーメッセージの表示
    AddErrMessage err = new AddErrMessage(ShowErrMessage);
    labelErr.BeginInvoke(err, new Object[] {msg});
}

public delegate void AddMessage(string message);
public delegate void AddErrMessage(string message);

private void ShowErrMessage(string str)
{
    labelErr.Text = str;
}

private void ShowMessage(string str)
{
    labelMsg.Text = str;
}

long[] ReadRs(long ch, long dataNum)
入出力リレー/内部補助リレー/特殊補助リレーエリア読み出し (同期)
リレーの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
例:
try
{
    // リレーの101チャネルから、1ch分を取得
    long[] data = omron1.ReadRs(101, 1);

    // データの表示
    labelMsg.Text = data[0].ToString();
}
catch(Exception ex)
{
    // エラーメッセージの表示
    labelErr.Text = ex.Message;
}
void ReadL (long ch, long dataNum)
LRリレーエリア読み出し (非同期)
LRリレー読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
long[] ReadLs(long ch, long dataNum)
LRリレーエリア読み出し (同期)
LRリレーの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void ReadH(long ch, long dataNum)
HRリレーエリア読み出し (非同期)
HRリレー読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
long[] ReadHs(long ch, long dataNum)
HRリレーエリア読み出し (同期)
HRリレーの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void ReadC(long ch, long dataNum)
タイマ/カウンタエリア読み出し (非同期)
タイマ/カウンタエリア読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
long[] ReadCs(long ch, long dataNum)
タイマ/カウンタエリア読み出し (同期)
タイマ/カウンタエリアの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void ReadG(long ch, long dataNum)
タイマ/カウンタアップデータ読み出し (非同期)
タイマ/カウンタアップデータ読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
long[] ReadGs(long ch, long dataNum)
タイマ/カウンタアップデータ読み出し (同期)
タイマ/カウンタアップデータの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void ReadD(long ch, long dataNum)
DMエリア読み出し (非同期)
DMエリア読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
long[] ReadDs(long ch, long dataNum)
DMエリア読み出し (同期)
DMエリアの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void ReadJ(long ch, long dataNum)
ARエリア読み出し (非同期)
ARエリア読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
long[] ReadJs(long ch, long dataNum)
ARエリア読み出し (同期)
ARエリアの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void ReadE(int bk, long ch, long dataNum)
EMエリア読み出し (非同期)
使用できない機種があります
EMエリア読み出しコマンドを送信します。
正常にデータが受信できた場合、Comイベントが発生し、RecEventArgsのRecValueに、配列データとして、値が入ります。
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
bk バンク -1:カレントバンク
0〜15:指定のバンク(16進数の00〜0Fに対応します)
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecEventArgsのRecValueに、long型の配列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
long[] ReadEs(int bk, long ch, long dataNum)
EMエリア読み出し (同期)
使用できない機種があります
EMエリアの値を取得します。
データが取得できた場合、配列データとして返します。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
bk バンク -1:カレントバンク
0〜15:指定のバンク(16進数の00〜0Fに対応します)
ch 読出開始チャネル 読み出し開始チャネルを整数で指定します
dataNum 読出チャネル数 チャネル数を整数で指定します。
戻り値説明
チャネルデータ 関数の実行に成功した場合、long型データの入った配列を返す。
失敗した場合、例外が発生する。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void WriteR(long ch, long[] val [, int dataNum])
入出力リレー/内部補助リレー/特殊補助リレーエリア書き込み (非同期)
リレー書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
例:
private void button3_Click(object sender, System.EventArgs e)
{
    try
    {
        // リレーの101チャネルに、2を設定
        long[] data = new long[] {2};
        omron1.WriteR(101, data);
    }
    catch(Exception ex)
    {
        labelErr.Text = ex.Message;
    }
}

// イベントにより、データを受信
private void omron1_Com(object sender, Aoyama.Rs232.Omron.RecEventArgs e)
{
    if(e.SendCmd.Equals("WR"))   // 受信データが、WRコマンドへの返信の場合
    {
        // 正常完了の表示
        AddMessage add;
        string s;
        add = new AddMessage(ShowMessage);
        s = "正常完了";
        labelMsg.BeginInvoke(add, new Object[] {s});
    }
}

// エラーイベントが発生
private void omron1_Error(object sender, Aoyama.Rs232.Omron.ComErrEventArgs e)
{
    string msg = e.ErrMsg;  //エラーメッセージ

    // エラーメッセージの表示
    AddErrMessage err = new AddErrMessage(ShowErrMessage);
    labelErr.BeginInvoke(err, new Object[] {msg});
}

public delegate void AddMessage(string message);
public delegate void AddErrMessage(string message);

private void ShowErrMessage(string str)
{
    labelErr.Text = str;
}

private void ShowMessage(string str)
{
    labelMsg.Text = str;
}
void WriteRs(long ch, long[] val [, int dataNum])
入出力リレー/内部補助リレー/特殊補助リレーエリア書き込み (同期)
リレーに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
例:
try
{
    // リレーの101チャネルに、3を設定
    long[] data = new long[] {3};
    omron1.WriteRs(101, data);
}
catch(Exception ex)
{
    // エラーメッセージの表示
    labelErr.Text = ex.Message;
}
void WriteL(long ch, long[] val [, int dataNum])
LRリレーエリア書き込み (非同期)
LRリレーエリア書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum 書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
void WriteLs(long ch, long[] val [, int dataNum])
LRリレーエリア書き込み (同期)
LRリレーエリアに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void WriteH(long ch, long[] val [, int dataNum])
HRリレーエリア書き込み (非同期)
HRリレーエリア書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum 書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
void WriteHs(long ch, long[] val [, int dataNum])
HRリレーエリア書き込み (同期)
HRリレーエリアに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void WriteC(long ch, long[] val [, int dataNum])
タイマ/カウンタエリア書き込み (非同期)
タイマ/カウンタエリア書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum 書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
void WriteCs(long ch, long[] val [, int dataNum])
タイマ/カウンタエリア書き込み (同期)
タイマ/カウンタエリアに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void WriteG(long ch, long[] val [, int dataNum])
タイマ/カウンタアップデータ書き込み (非同期)
タイマ/カウンタアップデータ書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum 書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
void WriteGs(long ch, long[] val [, int dataNum])
タイマ/カウンタアップデータ書き込み (同期)
タイマ/カウンタアップデータに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void WriteD(long ch, long[] val [, int dataNum])
DMエリア書き込み (非同期)
DMエリア書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum 書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
void WriteDs(long ch, long[] val [, int dataNum])
DMエリア書き込み (同期)
DMエリアに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void WriteJ(long ch, long[] val [, int dataNum])
ARエリア書き込み (非同期)
ARエリア書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum 書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
void WriteJs(long ch, long[] val [, int dataNum])
ARエリア書き込み (同期)
ARエリアに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void WriteE(int bk, long ch, long[] val [, int dataNum])
EMエリア書き込み (非同期)
使用できない機種があります
EMエリア書き込みコマンドを送信します。
正常にデータが書き込めた場合、Comイベントが発生します。(RecEventArgsのRecValueに、1つ配列データとして、値0が入りますが意味はありません)
引数に問題がある場合や、ポートが開かれていない場合には、例外が発生します。
タイムアウトや、受信データに異常がある場合には、Errorイベントが発生します。
引数意味説明
bk バンク -1:カレントバンク
0〜15:指定のバンク(16進数の00〜0Fに対応します)
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum 書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
イベント説明
Com 正常にデータが受信できた場合、イベントが発生します。
RecEventArgsのRecValue[0]に、0が入りますが、意味はありません。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
void WriteEs(int bk, long ch, long[] val [, int dataNum])
EMエリア書き込み (同期)
使用できない機種があります
EMエリアに値を書き込みます。
引数に問題がある場合やポートが開かれていない場合、タイムアウトなどが発生した場合には、例外が発生します。
引数意味説明
bk バンク -1:カレントバンク
0〜15:指定のバンク(16進数の00〜0Fに対応します)
ch 書込開始チャネル 読み出し開始チャネルを整数で指定します
val 書込データ 書き込むデータを整数の配列で指定します
dataNum
(省略可)
書込チャネル数 チャネル数を整数で指定します。
この指定がない場合、配列の全てのデータを書き込みます。
例外説明
ParamException チャネルの値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void Abort()
アボート関数
処理中の上位リンク機能を中断し、新しいコマンドを受け付け可能にします。
ポートが開かれていない場合、例外が発生します。
例外説明
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
string ReadMS(out string stData, out string stMsg)
ステータス読み出し
シーケンサのステータス情報を取得します。
引数意味説明
stData ステータスデータ 16進数4桁の文字列が返ります
stMsg ステータスメッセージ ステータスに関するメッセージ(文字列)が返ります
戻り値説明
終了コード 関数の実行に成功した場合、終了コードを返します。正常終了は、"00"です。
例外説明
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
string WriteSC(string stData)
ステータス書き込み
シーケンサのステータスを設定します。
引数意味説明
stData ステータスデータ 16進数2桁の文字列)を指定します
例:CQM1では、
 00:プログラムモード
 02:モニタモード
 03:運転モード
のみ有効です。
戻り値説明
終了コード 関数の実行に成功した場合、終了コードを返します。正常終了は、"00"です。
例外説明
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
string ReadMF(int onOff, out string stData1, out string stData2)
故障情報読み出し
シーケンサの故障情報を取得します。
引数意味説明
onOff 異常解除 情報の読み出しと共に、異常を解除する場合、1を指定します。しない場合、0を指定します。
stData1 故障情報 1 16進数4桁の文字列が返ります
stData2 故障情報 2 16進数4桁の文字列が返ります
戻り値説明
終了コード 関数の実行に成功した場合、終了コードを返します。正常終了は、"00"です。
例外説明
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
string ReadMM(out string plcCode)
機種コード読み出し
機種コード読み出しを取得します。
引数意味説明
plcCode 機種コード 16進数2桁の文字列が返ります
戻り値説明
終了コード 関数の実行に成功した場合、終了コードを返します。正常終了は、"00"です。
例外説明
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
string PlcTS(string sendData)
テスト関数
データを送信し、同じデータが返ってくるかを確認するために使用します。
引数意味説明
sendData 送信データ 任意の送信データ(文字列)を指定します。
戻り値説明
受信データ 関数の実行に成功した場合、受信データが返ります。
例外説明
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。
void SendEx(string val, int type)
任意のデータの送信(非同期)
任意のデータを送信します。
コントロールは、FCSとターミネータを自動的に付けて送信しますので、FCS以降の文字列をメソッドに与える必要はありません。
シーケンサのデータは、ComExイベントを使って受け取ります。
引数意味説明
val 送信データ 文字列を指定します
type 送信のタイプ
(0,1,2のいずれかを指定)
0:文字列に、FCSとターミネータを付けて送信します。
1:文字列に、FCSとデリミタを付けて送信します。
2:文字列のみを送信します。
通常は、0を指定します。

132文字以上のコマンドを送信する場合、一度に送信することができませんので、分割して、送信することになります。この場合、最後の文字列と、途中の文字列を区別するために途中の文字列は、デリミタを付加した文字列となります。
例えば、300文字を送信する場合、3分割して、送信しますが、1、2番目の分については、デリミタを、最後の分についてターミネータを付加する必要があります。
イベント説明
ComEx 正常にデータが受信できた場合、イベントが発生します。
受信データは、RecExEventArgsのRecValueに、文字列として入ります。
Error 受信データに異常がある場合や、タイムアウトが発生した場合、イベントが発生します。
例外説明
ParamException 指定の値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
string SendExsyn(string val, int type)
任意のデータの送信(同期)
任意のデータを送信し、返信を受け取ります。
コントロールは、FCSとターミネータを自動的に付けて送信しますので、FCS以降の文字列をメソッドに与える必要はありません。
引数意味説明
val 送信データ 文字列を指定します
type 送信のタイプ
(0,1,2のいずれかを指定)
0:文字列に、FCSとターミネータを付けて送信します。
1:文字列に、FCSとデリミタを付けて送信します。
2:文字列のみを送信します。
通常は、0を指定します。

132文字以上のコマンドを送信する場合、一度に送信することができませんので、分割して、送信することになります。この場合、最後の文字列と、途中の文字列を区別するために途中の文字列は、デリミタを付加した文字列となります。
例えば、300文字を送信する場合、3分割して、送信しますが、1、2番目の分については、デリミタを、最後の分についてターミネータを付加する必要があります。
戻り値説明
受信データ 関数の実行に成功した場合、受信データを返します。
例外説明
ParamException 指定の値が指定できる範囲を超えている場合、ParamExceptionが発生します。
NotOpenException ポートが開かれていない場合、NotOpenExceptionが発生します。
StatusException データを送信できない状態であった場合、StatusExceptionが発生します。
RecDataException 受信データに異常がある場合、RecDataExceptionが発生します。