第 4 章 リファレンス 28
4.3 戻り値一覧
正常終了した場合は、FBIDIO_ERROR_SUCCESS が返されます。
・FBIDIO_ERROR_SUCCESS
・FBIDIO_ERROR_NOT_DEVICE
・FBIDIO_ERROR_NOT_OPEN
・FBIDIO_ERROR_INVALID_DEVICE_NUMBER
・FBIDIO_ERROR_ALREADY_OPEN 使用例
int nRet;
int nDevice = 1;
nRet = DioOpen(nDevice, 0);
デバイス番号 1 のデジタル入出力デバイスをオープンします。
参照
3.2 制御手順
2. DioClose
デバイスのクローズを行い、デバイスアクセスのために使用されていた各種リソースの解放を行 い、以後のデバイスへのアクセスを禁止します。
int DioClose(
int nDevice // デバイス番号 );
パラメータ nDevice
クローズするデバイス番号を指定します。
戻り値
この関数では下記の戻り値が返されます。詳細は『4.3 戻り値一覧』をご参照ください。
正常終了した場合は、FBIDIO_ERROR_SUCCESS が返されます。
・FBIDIO_ERROR_SUCCESS
・FBIDIO_ERROR_NOT_OPEN
・FBIDIO_ERROR_NOT_DEVICE
・FBIDIO_ERROR_INVALID_DEVICE_NUMBER 使用例
int nRet;
int nDevice;
nRet = DioClose(nDevice);
デバイス番号 nDevice のデバイスをクローズします。
参照
3.2 制御手順
3. DioInputPoint
任意の点数の入力接点の状態を読み込みます。指定した開始接点番号から 1 接点ずつ int 型の変 数にデータが格納されます。
データ 1 ← 外部回路 ON 状態 データ 0 ← 外部回路 OFF 状態
int DioInputPoint(
int nDevice, // デバイス番号
int *pBuffer, // データを受け取るバッファアドレス unsigned long ulStartNum, // 入力開始接点番号
unsigned long ulNum // 入力接点数 );
パラメータ nDevice
DioOpen 関数で指定したデバイス番号を指定してください。
pBuffer
デバイスから読み取ったデータを受け取るバッファを指すポインタです。
ulStartNum
入力開始接点番号 1~64(デバイスが持つ接点数の最大値)を指定してください。デジタル入力 デバイスの場合は、ピン IN1 が 1 に対応します。デジタル入出力デバイス(双方向)の場合、
ピン I/O1 が 1 に対応します。
ulNum
入力接点数を指定してください。
PCI-2470 の場合、入力接点の指定と、その指定で入力されるデータは下記のように対応していま す。
IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT1~OUT8:出力状態を読み込みます。出力状態の確認に利用できます。
“1”:出力 ON
“0”:出力 OFF
IN16 IN15 IN14 IN13 IN12 IN11 IN10 IN9 SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1 SIG1~SIG8 は、それぞれ対応する OUT1~OUT8 の異常検出状況を表します。
“1”:異常
“0”:正常
SIG1~SIG8 は以下のように OUT1~OUT8 に対応しています。
SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1
IN24 IN23 IN22 IN21 IN20 IN19 IN18 IN17 SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1
SIG1~SIG8 は、それぞれ対応する OUT1~OUT8 の異常検出割り込みの要因選択(マスク)状態を読
“1”:割り込み有効
“0”:割り込み禁止
SIG1~SIG8 は以下のように OUT1~OUT8 に対応しています。
SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1
IN32 IN31 IN30 IN29 IN28 IN27 IN26 IN25
- - - -IN
-IN は汎用入力端子-IN の状態を読み込みます(+IN が電源です)。
“1”:ON
“0”:OFF
IN26 以降に対応する機能はありません。
戻り値
この関数では下記の戻り値が返されます。詳細は『4.3 戻り値一覧』をご参照ください。
正常終了した場合は、FBIDIO_ERROR_SUCCESS が返されます。
・FBIDIO_ERROR_SUCCESS
・FBIDIO_ERROR_NOT_OPEN
・FBIDIO_ERROR_INVALID_DEVICE_NUMBER
・FBIDIO_ERROR_NOT_SUPPORTED
・FBIDIO_ERROR_PARAMETER 使用例
int nRet;
int Buffer[8];
int nDevice;
nRet = DioInputPoint(nDevice, Buffer, 16, 8);
デバイス番号 nDevice のデジタル入出力デバイスの接点 16 番から接点 23 番までの接点状態を読 み込みます。
参照
3.2 制御手順
4. DioOutputPoint
任意の点数の出力接点の出力を制御します。指定した開始接点番号から 1 接点ずつ int 型の変数 に格納されたデータで接点を制御します。
データ 1 → 外部回路 ON 状態 データ 0 → 外部回路 OFF 状態
int DioOutputPoint(
int nDevice, // デバイス番号
int *pBuffer, // 書き込みデータのバッファアドレス unsigned long ulStartNum, // 出力開始接点番号
unsigned long ulNum // 出力接点数 );
パラメータ nDevice
DioOpen 関数で指定したデバイス番号を指定してください。
pBuffer
デバイスへ出力するデータを格納しているバッファを指すポインタです。
ulStartNum
出力開始接点番号 1~64(デバイスが持つ接点数の最大値)を指定してください。デジタル出力 デバイスの場合は、ピン OUT1 が 1 に対応します。デジタル入出力デバイス(双方向)の場合、
ピン I/O1 が 1 に対応します。
ulNum
出力接点数を指定してください。
※PCI-2470 の場合、出力接点の指定と、その指定で出力されるデータは下記のように対応してい ます。OUT9~OUT16、OUT25 以降に対応する機能はありません。
OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT1~OUT8 の出力を制御します。
“1”:出力 ON
“0”:出力 OFF
OUT24 OUT23 OUT22 OUT21 OUT20 OUT19 OUT18 OUT17 SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1 異常検出割り込みの要因選択(マスク)を設定します。
“1”:有効
“0”:無効
SIG1~SIG8 は以下のように OUT1~OUT8 に対応しています。
SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1
※PCI-2758A, PCI-2758AM, PCI-2758AL の場合、出力接点の指定と、その指定で出力されるデー タは以下のように対応しています。
OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT1~OUT8 の出力を制御します。
“1”:出力 ON
“0”:出力 OFF
OUT16 OUT15 OUT14 OUT13 OUT12 OUT11 OUT10 OUT9 OUT8A
OUT8C
OUT7A OUT7C
OUT6A OUT6C
OUT5A OUT5C
OUT4A OUT4C
OUT3A OUT3C
OUT2A OUT2C
OUT1A OUT1C リードリレー接点 OUT1A,OUT1C~OUT8A,OUT8C の出力を制御します。
“1”: OUTxA と OUTxC が導通します。
“0”: OUTxA と OUTxC には導通がありません。
例:リードリレーOUT1A、OUT1C 間の導通を制御するには、出力接点 9 を指定して関数をコールし ます。
戻り値
この関数では下記の戻り値が返されます。詳細は『4.3 戻り値一覧』をご参照ください。
正常終了した場合は、FBIDIO_ERROR_SUCCESS が返されます。
・FBIDIO_ERROR_SUCCESS
・FBIDIO_ERROR_NOT_OPEN
・FBIDIO_ERROR_INVALID_DEVICE_NUMBER
・FBIDIO_ERROR_NOT_SUPPORTED
・FBIDIO_ERROR_PARAMETER 使用例
int nRet;
int Buffer[8];
int nDevice;
Buffer[0] = 1;
Buffer[1] = 0;
Buffer[2] = 0;
Buffer[3] = 1;
Buffer[4] = 0;
Buffer[5] = 1;
Buffer[6] = 1;
Buffer[7] = 0;
nRet = DioOutputPoint(nDevice, Buffer, 16, 8);
デバイス番号 nDevice のデジタル入出力デバイスの接点 16 番に 1、接点 17 番に 0、接点 18 番に 0、接点 19 番に 1、接点 20 番に 0、接点 21 番に 1、接点 22 番に 1、接点 23 番に 0 を出力します。
5. DioInputByte
デジタル入出力デバイスの接点 8 点分の状態を読み込み、1 バイト(8 ビット)の変数に格納しま す。
int DioInputByte(
int nDevice, // デバイス番号
int nNo, // 入力接点の指定
unsigned char *pbValue // データ格納用変数へのポインタ );
パラメータ nDevice
DioOpen 関数で指定したデバイス番号を指定してください。
nNo
読み込む接点を下記の識別子で指定します。
識別子 内容
FBIDIO_IN1_8 IN1~IN8 の 8 点分のデータを読み込みます。
FBIDIO_IN9_16 IN9~IN16 の 8 点分のデータを読み込みます。
FBIDIO_IN17_24 IN17~IN24 の 8 点分のデータを読み込みます。
FBIDIO_IN25_32 IN25~IN32 の 8 点分のデータを読み込みます。
FBIDIO_IN33_40 IN33~IN40 の 8 点分のデータを読み込みます。
FBIDIO_IN41_48 IN41~IN48 の 8 点分のデータを読み込みます。
FBIDIO_IN49_56 IN49~IN56 の 8 点分のデータを読み込みます。
FBIDIO_IN57_64 IN57~IN64 の 8 点分のデータを読み込みます。
pbValue
読み込まれたデータを格納する変数へのポインタを指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『4.3 戻り値一覧』をご参照ください。
正常終了した場合は、FBIDIO_ERROR_SUCCESS が返されます。
・FBIDIO_ERROR_SUCCESS
・FBIDIO_ERROR_NOT_OPEN
・FBIDIO_ERROR_INVALID_DEVICE_NUMBER
・FBIDIO_ERROR_NOT_SUPPORTED
・FBIDIO_ERROR_PARAMETER
備考
データフォーマット
取得したデータは以下のようにビットごとに接点と対応しています。
ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 FBIDIO_IN1_8 IN8 IN7 IN6 IN5 IN4 IN3 IN2 IN1 FBIDIO_IN9_16 IN16 IN15 IN14 IN13 IN12 IN11 IN10 IN9 FBIDIO_IN17_24 IN24 IN23 IN22 IN21 IN20 IN19 IN18 IN17 FBIDIO_IN25_32 IN32 IN31 IN30 IN29 IN28 IN27 IN26 IN25 FBIDIO_IN33_40 IN40 IN39 IN38 IN37 IN36 IN35 IN34 IN33 FBIDIO_IN41_48 IN48 IN47 IN46 IN45 IN44 IN43 IN42 IN41 FBIDIO_IN49_56 IN56 IN55 IN54 IN53 IN52 IN51 IN50 IN49 FBIDIO_IN57_64 IN64 IN63 IN62 IN61 IN60 IN59 IN58 IN57 データ 0 ← 外部回路 OFF 状態
データ 1 ← 外部回路 ON 状態
PCI-2470 の場合、入力接点の指定と、その指定で入力されるデータは下記のように対応していま す。
ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 FBIDIO_IN1_8 OUT8 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT1~OUT8:出力状態を読み込みます。出力状態の確認に利用できます。
”0” : 出力 OFF
”1” : 出力 ON
ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 FBIDIO_IN9_16 SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1 SIG1~SIG8 は下記のように、OUT1~OUT8 の異常検出状況を表します。
SIG1 ”0”:OUT1 正常
”1”:OUT1 異常 SIG2 ”0”:OUT2 正常
”1”:OUT2 異常 SIG3 ”0”:OUT3 正常
”1”:OUT3 異常 SIG4 ”0”:OUT4 正常
”1”:OUT4 異常 SIG5 ”0”:OUT5 正常
”1”:OUT5 異常 SIG6 ”0”:OUT6 正常
”1”:OUT6 異常 SIG7 ”0”:OUT7 正常
”1”:OUT7 異常 SIG8 ”0”:OUT8 正常
”1”:OUT8 異常
ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 FBIDIO_IN17_24 SIG8 SIG7 SIG6 SIG5 SIG4 SIG3 SIG2 SIG1 SIG1~SIG8:異常検出割込みの要因選択(マスク)状態を読み込みます。
SIG1~SIG8 は下記のように OUT1~OUT8 に対応しています。
対応するビットが”0”の場合、割込み禁止です。”1”の場合、割込み有効です。
SIG1 OUT1 SIG2 OUT2 SIG3 OUT3 SIG4 OUT4 SIG5 OUT5 SIG6 OUT6 SIG7 OUT7 SIG8 OUT8
ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 FBIDIO_IN25_32 - - - -IN -IN:汎用入力端子
-IN(+IN 端子が電源)の状態を読み込みます。
”0” : OFF
”1” : ON
ビット bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 FBIDIO_IN33_40
FBIDIO_IN41_48 FBIDIO_IN49_56 FBIDIO_IN57_64
未使用
使用例 int nRet;
unsigned char bValue;
int nDevice;
nRet = DioInputByte(nDevice, FBIDIO_IN1_8, &bValue);
デバイス番号 nDevice のデジタル入出力デバイスの IN1~IN8 の 1 バイトデータを変数 bValue に 取得します。
参照
3.2 制御手順
6. DioInputWord
デジタル入出力デバイスの接点 16 点分の状態を読み込み、1 ワード(16 ビット)の変数に格納しま す。
int DioInputWord(
int nDevice, // デバイス番号
int nNo, // 入力接点の指定
unsigned short *pwValue // データ格納用変数へのポインタ );
パラメータ nDevice
DioOpen 関数で指定したデバイス番号を指定してください。
nNo
読み込む接点を下記の識別子で指定します。
識別子 内容
FBIDIO_IN1_16 IN1~IN16 の 16 点分のデータを読み込みます。
FBIDIO_IN17_32 IN17~IN32 の 16 点分のデータを読み込みます。
FBIDIO_IN33_48 IN33~IN48 の 16 点分のデータを読み込みます。
FBIDIO_IN49_64 IN49~IN64 の 16 点分のデータを読み込みます。
pwValue
読み込まれたデータを格納する変数へのポインタを指定してください。
戻り値
この関数では下記の戻り値が返されます。詳細は『4.3 戻り値一覧』をご参照ください。
正常終了した場合は、FBIDIO_ERROR_SUCCESS が返されます。
・FBIDIO_ERROR_SUCCESS
・FBIDIO_ERROR_NOT_OPEN
・FBIDIO_ERROR_INVALID_DEVICE_NUMBER
・FBIDIO_ERROR_NOT_SUPPORTED
・FBIDIO_ERROR_PARAMETER 備考
データフォーマット
取得したデータは下記のようにビット毎に接点と対応しています。
ビット bit15 bit14 bit13 ・・・ bit2 bit1 bit0 FBIDIO_IN1_16 IN16 IN15 IN14 ・・・ IN3 IN2 IN1 FBIDIO_IN17_32 IN32 IN31 IN30 ・・・ IN19 IN18 IN17 FBIDIO_IN33_48 IN48 IN47 IN46 ・・・ IN35 IN34 IN33 FBIDIO_IN49_64 IN64 IN63 IN62 ・・・ IN51 IN50 IN49 データ 0 ← 外部回路 OFF 状態
データ 1 ← 外部回路 ON 状態