出力ビットから複数ビット出力します。
Ret = DioOutMultiBit ( Id , BitNo , BitNum , Data )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
DioInitで取得したデバイスIDを指定します。
BitNo
[ VB.NET: Short ] [ C, C++: short * ] [ C#: out short ] [ Python: ctypes.POINTER(ctypes.c_short)
]
出力論理ビット番号を配列に入れて、その配列の先頭アドレスを指定します。
BitNum
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
BitNoで指定したビット数を指定します。ビット数の最大値は256です。
Data
[ VB.NET: Byte ] [ C, C++: BYTE * ] [ C#: out byte ] [ Python: ctypes.POINTER(ctypes.c_ubyte)
]
出力データを配列に入れて、その配列の先頭アドレスを指定します。出力データは0か1で指定します。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
スタンバイモードから復帰したため、DioResetDevice関数を実行してください |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバーを呼び出せません(デバイスI/Oコントロールに失敗)。 |
DIO_ERR_DLL_BUFF_ADDRESS |
10100 |
データバッファアドレスが不正です。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
DIO_ERR_SYS_BIT_NO |
20102 |
ビット番号が指定可能範囲を超えています。 |
DIO_ERR_SYS_BIT_NUM |
20103 |
ビット数が指定可能範囲を超えています。 |
DIO_ERR_SYS_BIT_DATA |
20104 |
ビットデータが0か1以外です。 |
その他のエラー(参照:エラーコード詳細)
出力データの初期値は、リセット後は0です。 (DIO-0808RN-USB は1となります)
出力ビットから複数ビット出力します。この関数を呼び出す前に、BitNoで指定する配列に、出力したい論理ビット番号を設定しておく必要があります。配列Dataには、BitNoで指定した論理ビットの順番に出力データを格納しておきます。
同一ビットに連続して出力したい場合、BitNoの配列に同一のビット番号を格納しておき、Data配列に、連続して出力したいデータを順次格納します。この場合の最大ビット数およびデータ数は256個です。絶縁型のデバイスの場合、出力してから実際にデータが出力されるまでにウェイトが必要になりますので、このような使用方法は、TTLレベルの出力デバイスでのみ有効です。
0ビットに1、1ビットに0を出力します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |
DioOutByte DioOutBit DioOutMultiByte