STEPPING ＆ SERVO MOTOR CONTROLLER'S OPTION

MPL-29/ALPCIWXP
取扱説明書(デバイスドライバ AL MCC06 ユニット編)
CB-09
C-772
C-772A

本製品を使用する前に、この取扱説明書を良く読んで十分に理解してください。
この取扱説明書は、いつでも取り出して読めるように保管してください。

MN0044-1

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

目次
1. 概要 …………………………………………………………………………………………………………………………………… 4
2. 取扱説明書の構成 ……………………………………………………………………………………………………………… 4
3. ご使用になる前に ……………………………………………………………………………………………………………… 5
3-1. DLL の使用上の注意 …………………………………………………………………………………………………………… 5
3-2. この取扱説明書の見方 ………………………………………………………………………………………………………… 6
3-3. AL 通信上の通信エラー ……………………………………………………………………………………………………… 6

4. AL マスターボード対応 DLL ……………………………………………………………………………………………… 7
4-1. 環境設定 ………………………………………………………………………………………………………………………… 7
4-2. 構造体と関数 …………………………………………………………………………………………………………………… 7
RESULT 構造体 …………………………………………………………………………………………………………… 8
環境設定ツール情報構造体 …………………………………………………………………………………………… 10
スレーブ情報構造体 …………………………………………………………………………………………………… 11
環境設定ツール関数 …………………………………………………………………………………………………… 12
環境設定直接関数 ……………………………………………………………………………………………………… 12
環境設定ツール情報読み出し関数 …………………………………………………………………………………… 13
関数環境設定問い合わせ関数 ………………………………………………………………………………………… 13
AL 通信エラー累計回数読み出し関数 ……………………………………………………………………………… 14
AL 通信エラー累計回数クリア関数 ………………………………………………………………………………… 14
スレーブ情報読み出し関数 …………………………………………………………………………………………… 15
汎用 I/O PORT 読み出し関数 ………………………………………………………………………………………… 16
汎用 I/O PORT書き込み 関数 ………………………………………………………………………………………… 17

5. AL MCC06 ユニット対応 DLL …………………………………………………………………………………………… 18
5-1. デバイスの制御 ……………………………………………………………………………………………………………… 18
5-2. 汎用 I/O PORT の制御 ……………………………………………………………………………………………………… 18
5-3. モータ制御用 I/O の制御 …………………………………………………………………………………………………… 19
5-4. 構造体と関数 ………………………………………………………………………………………………………………… 20
RESULT 構造体 ………………………………………………………………………………………………………… 22
データ構造体 …………………………………………………………………………………………………………… 24
デバイスオープン関数 ………………………………………………………………………………………………… 25
デバイスクローズ関数 ………………………………………………………………………………………………… 26
スレーブパラメータ PORT 書き込み関数 ………………………………………………………………………… 26
スレーブパラメータ PORT 読み出し関数 ………………………………………………………………………… 27
DRIVE COMMAND 一括書き込み関数 ……………………………………………………………………………… 27
DRIVE DATA PORT 一括書き込み関数 ……………………………………………………………………………… 28
DRIVE COMMAND PORT 書き込み関数 …………………………………………………………………………… 28
DRIVE DATA1 PORT 書き込み関数 ………………………………………………………………………………… 29
DRIVE DATA2 PORT 書き込み関数 ………………………………………………………………………………… 29
DRIVE DATA3 PORT 書き込み関数 ………………………………………………………………………………… 30
STATUS1 PORT 読み出し関数 ……………………………………………………………………………………… 30
STATUS2 PORT 読み出し関数 ……………………………………………………………………………………… 31
STATUS3 PORT 読み出し関数 ……………………………………………………………………………………… 31
STATUS4 PORT 読み出し関数 ……………………………………………………………………………………… 32
STATUS5 PORT 読み出し関数 ……………………………………………………………………………………… 32
DRIVE DATA PORT 一括読み出し関数 ……………………………………………………………………………… 33
DRIVE DATA1 PORT 読み出し関数 ………………………………………………………………………………… 33
DRIVE DATA2 PORT 読み出し関数 ………………………………………………………………………………… 34
DRIVE DATA3 PORT 読み出し関数 ………………………………………………………………………………… 34
READY WAIT 関数 ……………………………………………………………………………………………………… 35
READY WAIT 状態読み出し関数 …………………………………………………………………………………… 35
READY WAIT 中止関数 ………………………………………………………………………………………………… 36
COUNTER COMMAND 一括書き込み関数 ………………………………………………………………………… 36
COUNTER COMMAND PORT 書き込み関数 ……………………………………………………………………… 37
COUNTER DATA1 PORT 書き込み関数 …………………………………………………………………………… 37-2-

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

COUNTER DATA2 PORT 書き込み関数 …………………………………………………………………………… 38
COUNTER DATA3 PORT 書き込み関数 …………………………………………………………………………… 38
AXIS COMMAND 一括書き込み関数 ………………………………………………………………………………… 39
AXIS COMMAND PORT 書き込み関数 ……………………………………………………………………………… 39
AXIS DATA1 PORT 書き込み関数 …………………………………………………………………………………… 40
AXIS DATA2 PORT 書き込み関数 …………………………………………………………………………………… 40
AXIS STATUS1 PORT 読み出し関数 ………………………………………………………………………………… 41
AXIS DATA PORT 一括読み出し関数 ……………………………………………………………………………… 41
AXIS DATA1 PORT 読み出し関数 …………………………………………………………………………………… 42
AXIS DATA2 PORT 読み出し関数 …………………………………………………………………………………… 42
AXIS DATA3 PORT 読み出し関数 …………………………………………………………………………………… 43
汎用 I/O PORT オープン関数 ………………………………………………………………………………………… 44
汎用 I/O PORT クローズ関数 ………………………………………………………………………………………… 45
汎用 I/O PORT 一括読み出し関数 …………………………………………………………………………………… 45
汎用 I/O PORT 指定信号読み出し関数 ……………………………………………………………………………… 46
汎用 I/O PORT 一括書き込み関数 …………………………………………………………………………………… 47
汎用 I/O PORT 指定信号 LOW レベル書き込み関数 ……………………………………………………………… 48
汎用 I/O PORT 指定信号 HIGH レベル書き込み関数 ……………………………………………………………… 49
制御信号オープン関数 ………………………………………………………………………………………………… 50
制御信号クローズ関数 ………………………………………………………………………………………………… 51
制御信号読み出し関数 ………………………………………………………………………………………………… 51
制御信号指定ビット読み出し関数 …………………………………………………………………………………… 52
制御信号書き込み関数 ………………………………………………………………………………………………… 53
制御信号指定ビット ON 書き込み関数 ……………………………………………………………………………… 54
制御信号指定ビット OFF 書き込み関数 …………………………………………………………………………… 55
データセット 1 関数 …………………………………………………………………………………………………… 56
データセット 2 関数 …………………………………………………………………………………………………… 57
データセット 3 関数 …………………………………………………………………………………………………… 58
データゲット関数 ……………………………………………………………………………………………………… 59

6. ソフト開発に必要なファイル …………………………………………………………………………………………… 60
7. サンプルプログラム ………………………………………………………………………………………………………… 61
7-1. 概要 …………………………………………………………………………………………………………………………… 61
7-2. ご使用になる前に …………………………………………………………………………………………………………… 61
7-3. 仕様 …………………………………………………………………………………………………………………………… 62

8. トラブルシューティング ………………………………………………………………………………………………… 63
本版で改訂された主な箇所-3-

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

1.

概要

R1

MPL 29/ALPCIWXPは、DOS/VパソコンのWindows上でCB-09（ALシリーズ対応マスターボード）を使用し、ALシリーズ(弊社オリジナルステッピング＆サーボモータコントローラシステム）上のスレーブユニットを動作させるためのDLLベースのドライバ関数です。
各関数は、次に示すスレーブユニット上のPORTのアクセス(読み出し/書き込み)を行う為のものです。スレーブユニット
上のPORTについては、各スレーブユニットの取扱説明書を御覧ください。
◎C-770AL◎CB-08◎CDB-5420-AL770◎CAD-5410-AL770◎C-771◎CD-773/ADB5331A◎C-772◎C-772A◎CB-34/IO
以降、MPL-29/ALPCIWXPは、MPL-29と称します。

2.

取扱説明書の構成
MPL-29は、次に示すようにユニットまたはボードのタイプで分類された取扱説明書が用意されていますので、ご使用になるユニットまたはボードに該当する取扱説明書をご覧ください。
ユニットまたは
ボードのタイプマスターボード
MCC05ユニット

MCC06ユニット
I/Oユニット

ユニットまたはボード

取扱説明書

パソコン-スレーブユニット間のインタフェースボード
CB-09
パルスジェネレータMCC05を搭載したスレーブユニット
C-770AL
CDB-5420-AL770
CAD-5410-AL770
C-771
CD-773/ADB5331A
パルスジェネレータMCC06を搭載したスレーブユニット
C-772
C-772A
汎用I/Oポートを持つスレーブユニット
CB-08
CB-34/IO

注.
AL MCC05ユニット編

AL MCC06ユニット編(当取扱説明書)
AL I/Oユニット編

注.AL MCC05ユニット編、AL MCC06ユニット編、AL I/Oユニット編いずれでも示しています。

-4-

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

3.

ご使用になる前に

3-1.

DLL の使用上の注意

R1

MPL-29は、次に示すようにユニットまたはボードのタイプで分類された4つのDLLで構成されています。
ユーザアプリケーションは、使用するユニットまたはボードに該当するDLLの関数を呼び出して、モータコントロール
及び、汎用I/O PORTへのアクセスを行います。よってユーザアプリケーションは、最低でも2つのDLLが必要になります。
例.C-772使用の場合
AlPciA.dll、Ac06A.dllが必要になります。
これによりヘッダーファイル(モジュール定義ファイル)、ライブラリーファイルも複数必要になります。
ユニットまたは
ボードのタイプマスターボード
MCC05ユニット

MCC06ユニット
I/Oユニット

ユニットまたはボード

DLL

パソコン-スレーブユニット間のインタフェースボード
CB-09
パルスジェネレータMCC05を搭載したスレーブユニット
C-770AL
CDB-5420-AL770
CAD-5410-AL770
C-771
CD-773/ADB5331A
パルスジェネレータMCC06を搭載したスレーブユニット
C-772
C-772A
汎用I/Oポートを持つスレーブユニット
CB-08
CB-34/IO

AlPciA.dll-5-

Ac05A.dll

Ac06A.dll
AcIoA.dll

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

3-2.

この取扱説明書の見方( 1 ) 各種 DLL の関数と構造体
この取扱説明書の、各種DLLの構造体、または関数は、次の形式で解説します。

○○○○構造体 ← 構造体の名称○○○○

構造体が使用される関数が存在する DLL の名称 → ○○○○ DLL← 構造体が使用される関数が対応するマスターボードまたはスレーブユニットの名称

説 明・・・・・・・・・・・・・・・・・・・・・・・・→ 構造体の説明

書 式
C 言語 ････････････････････････････････････････→ Ｃ言語で、構造体を使用するときの定義

VB→ Visual Basic で、構造体を使用するときの定義････････････････････････････････････････

VB.NET ････････････････････････････････････････→ Visual Basic.NET で、構造体を使用するときの定義

Delphi→ Delphi で、構造体を使用するときの定義････････････････････････････････････････

メンバ
・・・・・・・・・・・・・・・・・・・・・・・・→ 構造体のメンバに格納される値の説明○○○○関数 ← 関数の名称○○○○関数が存在する DLL の名称 → ○○○○ DLL← 関数が対応するマスターボードまたはスレーブユニットの名称

機 能・・・・・・・・・・・・・・・・・・・・・・・・→ 関数の機能の説明

書 式
C 言語 ････････････････････････････････････････→ Ｃ言語で、関数を使用するときの定義

VB→ Visual Basic で、関数を使用するときの定義････････････････････････････････････････

VB.NET ････････････････････････････････････････→ Visual Basic.NET で、関数を使用するときの定義

Delphi→ Delphi で、関数を使用するときの定義････････････････････････････････････････

引 数
・・・・・・・・・・・・・・・・・・・・・・・・→ 関数の各引数に指定する値の説明

戻り値・・・・・・・・・・・・・・・・・・・・・・・・→ 関数の戻り値の説明

3-3.

AL 通信上の通信エラー

AL通信上の通信エラーが発生した場合、環境設定ツール関数または環境設定直接関数を実行しない限り、エラーはクリアされません。AL通信上の通信エラーが発生した場合、再度、環境設定ツール関数または環境設定直接関数を実行してください。
※ AL通信エラーについては、CB-09の取扱説明書をご覧ください。

-6-

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

4.

AL マスターボード対応 DLL

4-1.

環境設定

ALマスターボード対応DLLでは、リトライ回数、AL通信ボーレートを内部に記憶しています。これらの情報のことを環境設定情報と称します。MPL-29の各種ライブラリ関数を実行することによるALシリーズ通信は、環境設定情報をもとに行われるため、ユーザアプリケーションは、次のいずれかの方法により、環境設定情報を設定しなければなりません。
この章では、ALマスターボード対応DLLを、単にマスターボードDLLと称します。

( 1 ) 環境設定ツールによる設定
環境設定ツールは、画面上から手動操作により環境設定情報を設定するためのツールです。環境設定ツールを使用した
場合、環境設定情報に変更があっても、ユーザアプリケーションの修正と再コンパイルが不要になります。環境設定ツールで設定した環境設定情報は、環境設定ツール関数
でマスターボードDLL内部に取り込まれます。この情報をもとに、マスターボードの初期化が実行されるため、環境設
定ツール関数は、ユーザアプリケーションの先頭で実行してください。

( 2 ) ユーザアプリケーションによる直接設定
ユーザアプリケーションから環境設定直接関数を実行して、環境設定情報を指定します。環境設定直接関数が実行されると、指定された環境設定情報は、マスターボードDLL内部に取り込まれます。この情報をもとに、マスタ
ーボードの初期化が実行されるため、環境設定直接関数は、ユーザアプリケーションの先頭で実行してください。

4-2.

構造体と関数● 構造体一覧
構造体名

説明

RESULT 構造体

関数を実行した結果を格納

環境設定ツール情報構造体

環境設定情報を格納

スレーブ情報構造体

全スレーブのスレーブタイプを格納

関数名

機能

環境設定ツール関数

環境設定ツールで設定した情報で環境設定

環境設定直接関数

設定値を直接指定して環境設定● 関数一覧

環境設定ツール情報読み出し関数

環境設定ツールで設定された情報の読み出し

関数環境設定問い合わせ関数

すでに環境設定が行われているかの問い合わせ

AL 通信エラー累計回数読み出し関数

AL 通信上で発生したエラーの累計回数の読み出し

AL 通信エラー累計回数クリア関数

AL 通信上で発生したエラーの累計回数のクリア

スレーブ情報読み出し関数

全スレーブのスレーブタイプの読み出し

汎用 I/O PORT 読み出し関数

マスターボードの汎用 I/O PORT の状態を読み出し

汎用 I/O PORT書き込み 関数

マスターボードの汎用 I/O PORT に書き込み-7-

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

RESULT 構造体

AL マスターボード対応 DLL

CB-09

説 明
マスターボードDLLの関数を実行した結果が格納されます。
書 式
C 言語 typedef struct ALK_TAG_S_RESULT {WORD ALK_Result[4];} ALK_S_RESULT;VBType ALK_S_RESULTALK_Result(1 To 4) As Integer
End Type

VB.NET Structure ALK_S_RESULT<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public ALK_Result() As Short
Public Sub Initialize()
ReDim ALK_Result(4)End Sub
End Structure
Delphi

ALK_S_RESULT = record
ALK_Result: array[1..4] of WORD;
end;

メンバ
次に示すメンバは、C言語で表記しています。C言語のALK_Result[0]～ALK_Result[3]は、Visual Basicでは
ALK_Result(1)～ALK_Result(4)、Visual Basic.NETではALK_Result(0)～ALK_Result(3)、Delphiでは
ALK_Result[1]～ALK_Result[4]に対応します。
ALK_Result[0]
値
1
2
100
101
102
103

･･･ 実行された関数を示します。このメンバに格納される値は、次のいずれかです。
実行された関数
環境設定ツール関数
環境設定直接関数
環境設定ツール情報読み出し関数
スレーブ情報読み出し関数
AL通信エラー累計回数読み出し関数
AL通信エラー累計回数クリア関数

値
150
151

実行された関数汎用 I/O PORT 読み出し関数
汎用 I/O PORT書き込み 関数

値は10進表記です。

ALK_Result[1]･･･ 実行結果を示します。このメンバに格納される値は、次のいずれかです。

値
0
1
2
3
4
5
8
19
20
21
22
28
31

実行結果
関数の実行が正常に終了しました
DLL内部でAPIエラーが発生しました
NULLポインタが指定されています
カーネルドライバがロードされていません。またはカーネルドライバでエラーが発生しました
指定したパラメータが設定範囲を超えています
マスターボードにRESETが入力されました
環境設定されていません
マスターボードが検出できません
マスターボードから不正なデータを受信しました
マスターボードが4枚以上検出されました
指定されたボード番号に該当するボードがありません
ボード番号が重複しています
DLLが複数のプロセスから同時に使用されました
値は10進表記です。

-8-

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

ALK_Result[2]
値
0
1～127
128
129
130

･･･ マスターボード、スレーブユニット上で発生したエラーを示します。
このメンバに格納される値は、次のいずれかです。
(H'00)(H'01～H'7F)(H'80h)(H'81h)(H'82h)

実行結果
エラーは発生しませんでした
スレーブユニット固有のエラーです。各スレーブの取扱説明書をご覧ください
初期化エラー（スレーブユニットが不正に電源OFFまたはRESETされました）
シリアルエラー（スレーブユニットからの受信時にエラーが発生しました）
タイムアウトエラー（スレーブユニットへの送信時にエラーが発生しました）
値は10進表記です。()内は、16進表記です。

ALK_Result[3]･･･ 将来の拡張用です。

-9-

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

環境設定ツール情報構造体

AL マスターボード対応 DLL

CB-09

説 明
環境設定情報が格納されます。
書 式
C 言語 typedef struct ALK_TAG_S_ENVIRONMENT_INFO {WORD ALK_Ch1;
WORD ALK_Ch2;
WORD ALK_Ch3;
WORD ALK_Retry;
WORD ALK_RsBaudRate;
WORD ALK_AlBaudRate;} ALK_S_ENVIRONMENT_INFO;VBType ALK_S_ENVIRONMENT_INFO
ALK_Ch1 As Integer
ALK_Ch2 As Integer
ALK_Ch3 As Integer
ALK_Retry As Integer
ALK_RsBaudRate As Integer
ALK_AlBaudRate As Integer
End Type

VB.NET Structure ALK_S_ENVIRONMENT_INFO
Dim ALK_Ch1 As Short
Dim ALK_Ch2 As Short
Dim ALK_Ch3 As Short
Dim ALK_Retry As Short
Dim ALK_RsBaudRate As Short
Dim ALK_AlBaudRate As ShortEnd Structure
Delphi

ALK_S_ENVIRONMENT_INFO = record
ALK_Ch1: WORD;
ALK_Ch2: WORD;
ALK_Ch3: WORD;
ALK_Retry: WORD;
ALK_RsBaudRate: WORD;
ALK_AlBaudRate: WORD;
end;

メンバ
ALK_Ch1
ALK_Ch2
ALK_Ch3
Retry
RsBaudRate
AlBaudRate･･･ 1番目に認識されているマスターボードのボード番号が格納されます。
0～9のいずれかになります。
･･･ 2番目に認識されているマスターボードのボード番号が格納されます。
0～9のいずれかになります。認識されているボードがない場合、H'FFが格納されます。
･･･ 3番目に認識されているマスターボードのボード番号が格納されます。
0～9のいずれかになります。認識されているボードがない場合、H'FFが格納されます。
･･･ 環境設定ツールで設定したリトライ回数が格納されます。0～3のいずれかになります。
･･･ 0が格納されます。
･･･ 環境設定ツールで設定したAL通信ボーレートが格納されます。
このメンバに格納される値は、次のいずれかです。

値（識別子）
ALK_RATE_9765
ALK_RATE_39062
ALK_RATE_156250
ALK_RATE_625000

値（数値）
0
1
2
3

AL通信ボーレート
9765bps
39062bps
156250bps
625000bps
値（数値）は、10進表記です。

- 10 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

スレーブ情報構造体

AL マスターボード対応 DLL

CB-09

説 明
全スレーブのスレーブタイプを格納します。
書 式
C 言語 typedef struct ALK_TAG_S_SLAVE_INFO {WORD ALK_SlaveType[31];} ALK_S_SLAVE_INFO;VBType ALK_S_SLAVE_INFO
ALK_SlaveType(1 To 31) As Integer
End Type

VB.NET Structure ALK_S_SLAVE_INFO<MarshalAs(UnmanagedType.ByValArray, SizeConst:=31)> Public ALK_SlaveType() As Short
Public Sub Initialize()
ReDim ALK_SlaveType(31)End Sub
End Structure
Delphi

ALK_S_SLAVE_INFO = record
ALK_SlaveType : array[1..31] of WORD;
end;

メンバ
次に示すメンバは、C言語で表記しています。C言語のALK_SlaveType[0]～ALK_SlaveType[30]は、Visual
BasicではALK_SlaveType(1)～ALK_SlaveType(31)、Visual
Basic.NETではALK_SlaveType(0)～ALK_SlaveType(30)、DelphiではALK_SlaveType[1]～ALK_SlaveType[31]に対応します。
ALK_SlaveType[0]･･･
ALK_SlaveType[30]･･･ スレーブアドレスH'01に接続されているスレーブのスレーブタイプが格納されます。
･･･ スレーブアドレスH'1Fに接続されているスレーブのスレーブタイプが格納されます。
スレーブが接続されていない場合、これらのメンバにはH'FFが格納されます。
スレーブが接続されている場合、これらのメンバに格納される値は、次のいずれかです。

値（識別子）
ALK_SLAVE_C770
ALK_SLAVE_CB08
ALK_SLAVE_CDB770
ALK_SLAVE_CAD770
ALK_SLAVE_C771
ALK_SLAVE_C772
ALK_SLAVE_CD773
ALK_SLAVE_CB34

値（数値）
H'00
H'10
H'20
H'21
H'01
H'02
H'22
H'11

スレーブタイプ
C-770AL
CB-08
CDB-5420-AL770
CAD-5410-AL770
C-771
C-772, C-772A
CD-773/ADB5331A
CB-34- 11 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

環境設定ツール関数

AL マスターボード対応 DLL

CB-09

機 能
環境設定ツールで設定した情報で環境設定を行います。
書 式
C 言語 BOOL ALK_EnvironmentInfo_Tool(ALK_S_RESULT FAR *psResult);
VB

Function ALK_EnvironmentInfo_Tool(psResult As ALK_S_RESULT) As Boolean

VB.NET Function ALK_EnvironmentInfo_Tool(ByRef psResult As ALK_S_RESULT) As Boolean
Delphifunction ALK_EnvironmentInfo_Tool(var psResult: ALK_S_RESULT): Boolean;

引 数
psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

環境設定直接関数

AL マスターボード対応 DLL

CB-09

機 能
リトライ回数、AL通信ボーレートを直接指定して環境設定を行います。
書 式
C 言語 BOOL ALK_Environment_Direct(WORD Retry, WORD RsBaudRate, WORD AlBaudRate, ALK_S_RESULT FAR*psResult);
VB

Function ALK_Environment_Direct(ByVal Retry As Integer, ByVal RsBaudRate As Integer, ByVal AlBaudRate As
Integer, psResult As ALK_S_RESULT) As Boolean

VB.NET Function ALK_Environment_Direct(ByVal Retry As Short, ByVal RsBaudRate As Short, ByVal AlBaudRate As Short,
ByRef psResult As ALK_S_RESULT) As Boolean
Delphifunction ALK_Environment_Direct(Retry: WORD; RsBaudRate: WORD; AlBaudRate: WORD; var psResult:
ALK_S_RESULT): Boolean;

引 数
Retry
RsBaudRate
AlBaudRate･･･ リトライ回数を指定します。0～3のいずれかになります。
･･･ 0を指定します。
･･･ AL通信ボーレートを指定します。

引数AlBaudRateの値
ALK_RATE_9765
ALK_RATE_39062
ALK_RATE_156250
ALK_RATE_625000

psResult

AL通信ボーレート
9765bps
39062bps
156250bps
625000bps･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 12 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

環境設定ツール情報読み出し関数

AL マスターボード対応 DLL

CB-09

機 能
環境設定ツールで設定された情報を読み出します。
書 式
C 言語 BOOL ALK_EnvironmentInfo_Read(ALK_S_ENVIRONMENT_INFO FAR *psEnvInfo, ALK_S_RESULT FAR*psResult);
VB

Function ALK_EnvironmentInfo_Read(psEnvInfo As ALK_S_ENVIRONMENT_INFO, psResult As
ALK_S_RESULT)As Boolean

VB.NET Function ALK_EnvironmentInfo_Read(ByRef psEnvInfo As ALK_S_ENVIRONMENT_INFO, ByRef psResult As
ALK_S_RESULT)As Boolean
Delphi

引 数
psEnvInfopsResultfunction ALK_EnvironmentInfo_Read(var psEnvInfo: ALK_S_ENVIRONMENT_INFO; var psResult:
ALK_S_RESULT): Boolean;･･･ 環境設定ツールで設定された情報が格納される環境設定ツール情報構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

関数環境設定問い合わせ関数

AL マスターボード対応 DLL

CB-09

機 能
すでに環境設定が行われているかを問い合わせます。
書 式
C 言語 BOOL ALK_Environment_Inquiry(VOID);VBFunction ALK_Environment_Inquiry() As Boolean

VB.NET Function ALK_Environment_Inquiry() As Boolean
Delphifunction ALK_Environment_Inquiry: Boolean;

引 数
この関数に、引数はありません。
戻り値
すでに環境設定が行われている場合はTRUE(1)、環境設定が行われていない場合はFALSE(0)を返します。

- 13 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

AL 通信エラー累計回数読み出し関数

AL マスターボード対応 DLL

CB-09

機 能
AL通信上で発生したエラーの累計回数を読み出します。
書 式
C 言語 BOOL ALK_Err_Count(WORD IfNo, WORD FAR *pCount, ALK_S_RESULT FAR *psResult);
VB

Function ALK_Err_Count(ByVal IfNo As Integer, pCount As Integer, psResult As ALK_S_RESULT)As Boolean

VB.NET Function ALK_Err_Count(ByVal IfNo As Short, ByRef pCount As Short, ByRef psResult As ALK_S_RESULT)As
BooleanDelphi引
IfNofunction ALK_Err_Count(IfNo: WORD, var pCount: WORD, var psResult: ALK_S_RESULT): Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）

pCountpsResult･･･ エラーの累計回数が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

AL 通信エラー累計回数クリア関数

AL マスターボード対応 DLL

CB-09

機 能
AL通信エラー累計回数を0にします。
書 式
C 言語 BOOL ALK_Err_Clear(WORD IfNo, ALK_S_RESULT FAR *psResult);
VB

Function ALK_Err_Clear(ByVal IfNo As Integer, psResult As ALK_S_RESULT) As Boolean

VB.NET Function ALK_Err_Clear(ByVal IfNo As Short, ByRef psResult As ALK_S_RESULT) As Boolean
Delphi引
IfNofunction ALK_Err_Clear(IfNo: WORD, var psResult: ALK_S_RESULT): Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）

psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 14 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

スレーブ情報読み出し関数

AL マスターボード対応 DLL

CB-09

機 能
スレーブアドレスH'01～H'1Fに接続されているスレーブのスレーブタイプを読み出します。
書 式
C 言語 BOOL ALK_SlaveInfo_Read(WORD IfNo, ALK_S_SLAVE_INFO FAR *psSlvInfo, ALK_S_RESULT FAR*psResult);
VB

Function ALK_SlaveInfo_Read(ByVal IfNo As Integer, psSlvInfo As ALK_S_SLAVE_INFO, psResult As
ALK_S_RESULT) As Boolean

VB.NET Function ALK_SlaveInfo_Read(ByVal IfNo As Short, ByRef psSlvInfo As ALK_S_SLAVE_INFO, ByRef psResult As
ALK_S_RESULT) As Boolean
Delphi引
IfNofunction ALK_SlaveInfo_Read(IfNo: WORD; var psSlvInfo: ALK_S_SLAVE_INFO; var psResult: ALK_S_RESULT):
Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）

psSlvInfopsResult･･･ スレーブ情報が格納されるスレーブ情報構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 15 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

汎用 I/O PORT 読み出し関数

AL マスターボード対応 DLL

CB-09

機 能
I/F番号を指定して、マスターボードの汎用I/O PORTの状態を読み出します。
書 式
C 言語 BOOL ALK_Inp(WORD IfNo, WORD FAR *pData, ALK_S_RESULT FAR *psResult);
VB

Function ALK_Inp(ByVal IfNo As Integer, pData As Integer, psResult As ALK_S_RESULT) As Boolean

VB.NET Function ALK_Inp(ByVal IfNo As Short, ByRef pData As Short, ByRef psResult As ALK_S_RESULT) As Boolean
Delphi引
IfNofunction ALK_Inp(IfNo: WORD; var pData: WORD; var psResult: ACIO_S_RESULT): Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）

pData･･･ 読み出した内容が格納される変数のポインタを指定します。
変数の内容は、次のようになります。
215

214

213

212

211

210

29

28

27

26

25

24

23

22

21

20

0

0

0

0

0

0

0

0

0

0

IN1

IN0

0

0

OUT1

OUT0

HIGH レベルのときに 0、 LOW レベルのときに 1 が読み出されます。

psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 16 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

汎用 I/O PORT 書き込み関数

AL マスターボード対応 DLL

CB-09

機 能
I/F番号を指定して、マスターボードの汎用I/O PORTにデータを書き込みます。
書 式
C 言語 BOOL ALK_Outp(WORD IfNo, WORD FAR *pData, ALK_S_RESULT FAR *psResult);
VB

Function ALK_Outp(ByVal IfNo As Integer, pData As Integer, psResult As ALK_S_RESULT) As Boolean

VB.NET Function ALK_Outp(ByVal IfNo As Short, ByRef pData As Short, ByRef psResult As ALK_S_RESULT) As Boolean
Delphi引
IfNofunction ALK_Outp(IfNo: WORD; var pData: WORD; var psResult: ACIO_S_RESULT): Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）

pData･･･ 書き込むデータが格納されている変数のポインタを指定します。
変数の内容は、次のようになります。
215

214

213

212

211

210

29

28

27

26

25

24

23

22

21

20

0

0

0

0

0

0

0

0

0

0

0

0

0

0

OUT1

OUT0

HIGH レベルにするときに 0、 LOW レベルにするときに 1 を書き込みます。

psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 17 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

5.

AL MCC06 ユニット対応 DLL

R1AL
MCC06ユニット対応DLLは、パルスジェネレータMCC06を搭載したスレーブユニット上の、MCC06、ステッピング脱調
検出部、汎用I/O PORT、モータ制御用I/Oを制御するための各種関数を備えています。
この章では、AL MCC06ユニット対応MCC06 DLLを、単にMCC06 DLLと称します。

5-1.

デバイスの制御

1軸分のMCC06とステッピング脱調検出部を組み合わせたものをデバイスと称します。
デバイスを制御するための説明をします。

( 1 ) デバイス上の PORT の説明
MCC06 DLLは、デバイス上のPORTを直接制御します。
スレーブ

デバイス上のPORT

ユニット

スレーブ設定をするPORT

MCC06上のPORT

ステッピング脱調検出部のPORT

C-772

スレーブパラメータPORT

DRIVE COMMAND PORT
DRIVE DATA1 PORT
DRIVE DATA2 PORT
DRIVE DATA3 PORTSTATUS1 PORTSTATUS2 PORTSTATUS3 PORTSTATUS4 PORTSTATUS5 PORTCOUNTER COMMAND PORTCOUNTER DATA1 PORTCOUNTER DATA2 PORTCOUNTER DATA3 PORTAXIS COMMAND PORTAXIS DATA1 PORTAXIS DATA2 PORTAXIS DATA3 PORTAXIS STATUS1 PORT

C-772A

スレーブパラメータPORT

DRIVE COMMAND PORT
DRIVE DATA1 PORT
DRIVE DATA2 PORT
DRIVE DATA3 PORTSTATUS1 PORTSTATUS2 PORTSTATUS3 PORTSTATUS4 PORTSTATUS5 PORTCOUNTER COMMAND PORTCOUNTER DATA1 PORTCOUNTER DATA2 PORTCOUNTER DATA3 PORTなし

( 2 ) デバイスのオープンとクローズデバイスを制御する前に、デバイスをオープンし、デバイスハンドルを取得します。以降、デバイスを制御する関数を実行する際に、このデバイスハンドルを指定します。
デバイスハンドルは、デバイスをクローズするまで有効です。ユーザアプリケーション終了時は、必ずデバイスをクローズしてください。クローズが行われていないと、以降正常に動作しません。

5-2.

汎用 I/O PORT の制御

スレーブユニット上の汎用I/O PORTを制御するための説明をします。

( 1 ) 汎用 I/O PORT の説明
MCC06 DLLは、汎用I/O PORTを直接制御します。
スレーブユニット
C-772
C-772A

汎用I/O PORTありあり

( 2 ) 汎用 I/O PORT のオープンとクローズ
汎用I/O PORTを制御する前に、汎用I/O PORTをオープンし、汎用I/O PORTハンドルを取得します。以降、汎用I/O
PORTを制御する関数を実行する際に、この汎用I/O PORTハンドルを指定します。
汎用I/O PORTハンドルは、汎用I/O PORTをクローズするまで有効です。ユーザアプリケーション終了時は、必ず汎用I/O
PORTをクローズしてください。クローズが行われていないと、以降正常に動作しません。
- 18 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

5-3.

モータ制御用 I/O の制御

R1

スレーブユニット上のモータ制御用I/Oを制御するための説明をします。

( 1 ) モータ制御用 I/O の説明
MCC06 DLLは、モータ制御用I/Oを直接制御します。
スレーブユニット
C-772
C-772A

モータ制御用I/O
制御I/O PORT
制御I/O PORT

( 2 ) 制御信号または制御 I/O PORT のオープンとクローズ
モータ制御用I/Oを制御する前に、制御信号または制御I/O
PORTをオープンし、制御信号ハンドルを取得します。以降、制御信号または制御I/O
PORTを制御する関数を実行する際に、この制御信号ハンドルを指定します。
制御信号ハンドルは、制御信号または制御I/O
PORTをクローズするまで有効です。ユーザアプリケーション終了時は、必ず制御信号または制御I/O
PORTをクローズしてください。クローズが行われていないと、以降正常に動作しません。

- 19 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

5-4.

構造体と関数● 構造体一覧
構造体名

説明

RESULT 構造体

関数を実行した結果を格納

データ構造体デバイスに一括でアクセスするためのデータを格納● 関数一覧
関数名

機能

デバイスオープン関数

デバイスのオープン

デバイスクローズ関数

デバイスのクローズ

スレーブパラメータ PORT 書き込み関数

スレーブパラメータ PORT に書き込み

スレーブパラメータ PORT 読み出し関数

スレーブパラメータ PORT の読み出し

DRIVE COMMAND 一括書き込み関数

DRIVE COMMAND, DATA1~3 PORT に一括書き込み

DRIVE DATA PORT 一括書き込み関数

DRIVE DATA1~3 PORT に一括書き込み

DRIVE COMMAND PORT 書き込み関数

DRIVE COMMAND PORT に書き込み

DRIVE DATA1 PORT 書き込み関数

DRIVE DATA1 PORT に書き込み

DRIVE DATA2 PORT 書き込み関数

DRIVE DATA2 PORT に書き込み

DRIVE DATA3 PORT 書き込み関数

DRIVE DATA3 PORT に書き込み

STATUS1 PORT 読み出し関数

STATUS1 PORT の読み出し

STATUS2 PORT 読み出し関数

STATUS2 PORT の読み出し

STATUS3 PORT 読み出し関数

STATUS3 PORT の読み出し

STATUS4 PORT 読み出し関数

STATUS4 PORT の読み出し

STATUS5 PORT 読み出し関数

STATUS5 PORT の読み出し

DRIVE DATA PORT 一括読み出し関数

DRIVE DATA1~3 PORT の一括読み出し

DRIVE DATA1 PORT 読み出し関数

DRIVE DATA1 PORT の読み出し

DRIVE DATA2 PORT 読み出し関数

DRIVE DATA2 PORT の読み出し

DRIVE DATA3 PORT 読み出し関数

DRIVE DATA3 PORT の読み出し

READY WAIT 関数

パルスジェネレータが READY になるまで待機

READY WAIT 状態読み出し関数

READY WAIT 関数 の状態の読み出し

READY WAIT 中止関数

READY WAIT 関数 の READY 待ちを中止

COUNTER COMMAND 一括書き込み関数

COUNTER COMMAND, DATA1~3 PORT に一括書き込み

COUNTER COMMAND PORT 書き込み関数

COUNTER COMMAND PORT に書き込み

COUNTER DATA1 PORT 書き込み関数

COUNTER DATA1 PORT に書き込み

COUNTER DATA2 PORT 書き込み関数

COUNTER DATA2 PORT に書き込み

COUNTER DATA3 PORT 書き込み関数

COUNTER DATA3 PORT に書き込み

AXIS COMMAND 一括書き込み関数

AXIS COMMAND, DATA1~2 PORT に一括書き込み

AXIS COMMAND PORT 書き込み関数

AXIS COMMAND PORT に書き込み

AXIS DATA1 PORT 書き込み関数

AXIS DATA1 PORT に書き込み

AXIS DATA2 PORT 書き込み関数

AXIS DATA2 PORT に書き込み

AXIS STATUS1 PORT 読み出し関数

AXIS STATUS1 PORT の読み出し

AXIS DATA PORT 一括読み出し関数

AXIS DATA1~3 PORT の一括読み出し

AXIS DATA1 PORT 読み出し関数

AXIS DATA1 PORT の読み出し

AXIS DATA2 PORT 読み出し関数

AXIS DATA2 PORT の読み出し

AXIS DATA3 PORT 読み出し関数

AXIS DATA3 PORT の読み出し

汎用 I/O PORT オープン関数

汎用 I/O PORT のオープン

汎用 I/O PORT クローズ関数

汎用 I/O PORT のクローズ

汎用 I/O PORT 一括読み出し関数

汎用 I/O PORT の状態を一括読み出し

汎用 I/O PORT 指定信号読み出し関数

汎用 I/O PORT の指定信号の状態の読み出し

汎用 I/O PORT 一括書き込み関数

汎用 I/O PORT に一括書き込み

汎用 I/O PORT 指定信号 LOW レベル書き込み関数

汎用 I/O PORT の指定信号に LOW レベルを書き込み

汎用 I/O PORT 指定信号 HIGH レベル書き込み関数

汎用 I/O PORT の指定信号に HIGH レベルを書き込み

制御信号オープン関数

制御信号のオープン

制御信号クローズ関数

制御信号のクローズ

制御信号読み出し関数

制御信号の状態を読み出し

制御信号指定ビット読み出し関数

制御信号の指定ビットの状態を読み出し

制御信号書き込み関数

制御信号に書き込み

制御信号指定ビット ON 書き込み関数

制御信号の指定ビットに ON を書き込み

制御信号指定ビット OFF 書き込み関数

制御信号の指定ビットに OFF を書き込み
次のページへ続く- 20 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

前のページからの続き
データセット 1 関数

32 ビットデータを データ構造体 に格納

データセット 2 関数

2 つの 24 ビットデータを データ構造体 に格納

データセット 3 関数

32 ビットデータを 2 つの データ構造体 に格納

データゲット関数

データ構造体 のデータを 32 ビットデータに変換- 21 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

RESULT 構造体
C-772

AL MCC06 ユニット対応 DLL

C-772A説 明
MCC06 DLLの関数を実行した結果が格納されます。
書 式
C 言語 typedef struct AC06_TAG_S_RESULT {WORD AC06_Result[4];} AC06_S_RESULT;VBType AC06_S_RESULT
AC06_Result(1 To 4) As Interger
End Type

VB.NET Structure AC06_S_RESULT<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public AC06_Result() As Short
Public Sub Initialize()
ReDim AC06_Result(4)End Sub
End Structure
DelphiAC06_S_RESULT = record
AC06_Result: array[1..4] of WORD;
end;

メンバ
次に示すメンバは、C言語で表記しています。C言語のAC06_Result[0]～AC06_Result[3]は、Visual Basicでは
AC06_Result(1)～AC06_Result(4)、Visual Basic.NETではAC06_Result(0)～AC06_Result(3)、Delphiでは
AC06_Result[1]～AC06_Result[4]に対応します。
AC06_Result[0]
値
10
11
20
21
22
23
30
31
32
33
41
42
43
44
45
51
52
53
60
61
62
63
64
67
68

･･･ 実行された関数を示します。このメンバに格納される値は、次のいずれかです。

実行された関数デバイスオープン関数
デバイスクローズ関数
DRIVE COMMAND PORT書き込み関数
DRIVE DATA1 PORT書き込み関数
DRIVE DATA2 PORT書き込み関数
DRIVE DATA3 PORT書き込み関数
COUNTER COMMAND PORT書き込み関数
COUNTER DATA1 PORT書き込み関数
COUNTER DATA2 PORT書き込み関数
COUNTER DATA3 PORT書き込み関数
STATUS1 PORT読み出し関数
STATUS2 PORT読み出し関数
STATUS3 PORT読み出し関数
STATUS4 PORT読み出し関数
STATUS5 PORT読み出し関数
DRIVE DATA1 PORT読み出し関数
DRIVE DATA2 PORT読み出し関数
DRIVE DATA3 PORT読み出し関数
汎用I/O PORTオープン関数
汎用I/O PORTクローズ関数
汎用I/O PORT一括読み出し関数
汎用I/O PORT指定信号読み出し関数
汎用I/O PORT一括書き込み関数
汎用I/O PORT指定信号LOWレベル書き込み関数
汎用I/O PORT指定信号HIGHレベル書き込み関数

値
70
71
72
73
74
75
76
80
81
82
90
91
92
93
110
111
120
121
122
123
124
125
126
127
128

実行された関数
制御信号オープン関数
制御信号クローズ関数
制御信号読み出し関数
制御信号書き込み関数
制御信号指定ビット読み出し関数
制御信号指定ビットON書き込み関数
制御信号指定ビットOFF書き込み関数
READY WAIT関数READY WAIT状態読み出し関数
READY WAIT中止関数
DRIVE COMMAND一括書き込み関数
DRIVE DATA PORT一括読み出し関数
COUNTER COMMAND一括書き込み関数
DRIVE DATA PORT一括書き込み関数
スレーブパラメータPORT書き込み関数
スレーブパラメータPORT読み出し関数
AXIS COMMAND一括書き込み関数
AXIS COMMAND PORT書き込み関数
AXIS DATA1 PORT書き込み関数
AXIS DATA2 PORT書き込み関数
AXIS DATA PORT一括読み出し関数
AXIS DATA1 PORT読み出し関数
AXIS DATA2 PORT読み出し関数
AXIS DATA3 PORT読み出し関数
AXIS STATUS1 PORT読み出し関数
値は10進表記です。

- 22 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

AC06_Result[1]
値
0
1
2
3
4
5
6
8
9
10
12
13
14
15
16
17
18
20
21
22
28
29
30

･･･ 実行結果を示します。このメンバに格納される値は、次のいずれかです。

実行結果
関数の実行が正常に終了しました
DLL内部でAPIエラーが発生しました
NULLポインタが指定されています
カーネルドライバがロードされていません。またはカーネルドライバでエラーが発生しました
指定したパラメータが設定範囲を超えています
マスターボードにRESETが入力されました
ハンドルの値が範囲外です
環境設定されていません
指定されたアドレスにスレーブが接続されていません
指定したスレーブタイプと実際に接続されているスレーブのタイプが異なります
指定されたデバイス、汎用I/O PORT、制御信号（制御I/O PORT）は、オープンされていません
指定されたデバイス、汎用I/O PORT、制御信号（制御I/O PORT）は、すでにオープンされています
READY WAIT関数がTIME OVERで終了しています
WM_QUITメッセージを受信しました
READY WAIT中にREADY WAIT中止関数が実行されました
同一デバイスのREADY WAIT関数が複数同時に実行されました
デバイス又は、I/O PORT数が最大値を越えています
マスターボードから不正なデータを受信しました
マスターボードが4枚以上検出されました
指定されたボード番号に該当するボードがありません
ボード番号が重複しています
現在のスレッドからは、操作出来ません
マスターボードDLLが見つかりません
値は10進表記です。

AC06_Result[2]
値
0
1～127
128
129
130

･･･ マスターボード、スレーブユニット上で発生したエラーを示します。
このメンバに格納される値は、次のいずれかです。

(H'00)(H'01～H'7F)(H'80h)(H'81h)(H'82h)

実行結果
エラーは発生しませんでした
スレーブユニット固有のエラーです。各スレーブの取扱説明書をご覧ください
初期化エラー（スレーブユニットが不正に電源OFFまたはRESETされました）
シリアルエラー（スレーブユニットからの受信時にエラーが発生しました）
タイムアウトエラー（スレーブユニットへの送信時にエラーが発生しました）
値は10進表記です。()内は、16進表記です。

AC06_Result[3]･･･ 将来の拡張用です。

- 23 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

データ構造体C-772

AL MCC06 ユニット対応 DLL

C-772A説 明
データを一括で読み書きするときに使用します。
● データを一括で読み書きするとき・DRIVE DATA1 PORT、DRIVE DATA2 PORT、DRIVE DATA3 PORTのデータを一括で書き込むとき・DRIVE DATA1 PORT、DRIVE DATA2 PORT、DRIVE DATA3 PORTのデータを一括で読み出すとき
・COUNTER DATA1 PORT、COUNTER DATA2 PORT、COUNTER DATA3 PORTのデータを一括で書き込むとき・AXIS DATA1 PORT、AXIS DATA2 PORTのデータを一括で書き込むとき・AXIS DATA1 PORT、AXIS DATA2 PORT、AXIS DATA3 PORTのデータを一括で読み出すとき

書 式
C 言語 typedef struct AC06_TAG_S_DATA {WORD AC06_Data[4];} AC06_S_DATA;VBType AC06_S_DATA
AC06_Data(1 To 4) As Integer
End Type

VB.NET Structure AC06_S_DATA<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public AC06_Data() As Short
Public Sub Initialize()
ReDim AC06_Data(4)End Sub
End Structure
DelphiAC06_S_DATA = record
AC06_Data: array[1..4] of WORD;
end;

メンバ
次に示すメンバは、C言語で表記しています。C言語のAC06_Data[0]～AC06_Data[3]は、Visual Basicでは
AC06_Data(1)～AC06_Data(4)、Visual Basic.NETではAC06_Data(0)～AC06_Data(3)、Delphiでは
AC06_Data[1]～AC06_Data[4]に対応します。
AC06_Data[0] ･･･ DRIVE DATA1 PORT、COUNTER DATA1 PORT、AXIS DATA1PORTのいずれかの内容を格納します。
AC06_Data[1] ･･･ DRIVE DATA2 PORT、COUNTER DATA2 PORT、AXIS DATA2PORTのいずれかの内容を格納します。
AC06_Data[2] ･･･ DRIVE DATA3 PORT、COUNTER DATA3 PORT、AXIS DATA3PORTのいずれかの内容を格納します。
AC06_Data[3] ･･･ 将来の拡張用です。

- 24 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

デバイスオープン関数
C-772

機

AL MCC06 ユニット対応 DLL

C-772A

能I/F番号、スレーブアドレス、軸、スレーブタイプを指定して、デバイスをオープンし、引数phDevで示される変数にデバ
イスハンドルを格納します。
書 式
C 言語 BOOL AC06_BOpen(WORD IfNo, WORD SlaveAddr, WORD Axis, WORD SlaveType, DWORD FAR *phDev,
AC06_S_RESULT FAR *psResult);
VB

Function AC06_BOpen(ByVal IfNo As Integer, ByVal SlaveAddr As Integer, ByVal Axis As Integer, ByVal SlaveType
As Integer, phDev As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BOpen(ByVal IfNo As Short, ByVal SlaveAddr As Short, ByVal Axis As Short, ByVal SlaveType As
Short, ByRef phDev As Integer, ByRef psResult As AC06_S_RESULT) As Boolean
Delphi引
IfNofunction AC06_BOpen(IfNo: WORD; SlaveAddr: WORD; Axis: WORD; SlaveType: WORD; var phDev: DWORD; var
psResult: AC06_S_RESULT): Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）
CB-23/USB
AC06_USB

SlaveAddr
Axis･･･ スレーブアドレスを指定します。H'01～H'1Fのいずれかになります。
･･･ 軸を指定します。

引数Axisの値
AC06_X
AC06_Y

SlaveType･･･ スレーブタイプを指定します。

値
AC06_SLAVE_C772

phDev
psResult

軸
X軸
Y軸

スレーブタイプ
C-772, C-772A･･･ デバイスハンドルが格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 25 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

デバイスクローズ関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスをクローズします。
書 式
C 言語 BOOL AC06_BClose(DWORD hDev, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BClose(ByVal hDev As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BClose(ByVal hDev As Integer, ByRef psResult As AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
psResultfunction AC06_BClose(hDev: DWORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

スレーブパラメータ PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのスレーブパラメータPORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWSlavePara(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWSlavePara(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BWSlavePara(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWSlavePara(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
書き込むデータが格納されている変数は、下位8ビットが有効です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 26 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

スレーブパラメータ PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのスレーブパラメータPORTを読み出します。
書 式
C 言語 BOOL AC06_BRSlavePara(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRSlavePara(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRSlavePara(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BRSlavePara(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
読み出した内容は、下位8ビットが有効です。上位8ビットには、0が読み出されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

DRIVE COMMAND 一括書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE COMMAND PORT、DRIVE DATA1 PORT、DRIVE DATA2 PORT、DRIVE DATA3PORTにコマンドコード、データを一括書き込みします。
書 式
C 言語 BOOL AC06_IWDrive(DWORD hDev, WORD Cmd, AC06_S_DATA FAR *psData, AC06_S_RESULT FAR*psResult);
VB

Function AC06_IWDrive(ByVal hDev As Long, ByVal Cmd As Integer, psData As AC06_S_DATA, psResult As
AC06_S_RESULT) As Boolean

VB.NET Function AC06_IWDrive(ByVal hDev As Integer, ByVal Cmd As Short, ByRef psData As AC06_S_DATA, ByRef
psResult As AC06_S_RESULT) As Boolean
Delphi

引 数
hDev
Cmd
psDatapsResultfunction AC06_IWDrive(hDev: DWORD; Cmd: WORD; var psData: AC06_S_DATA; var psResult:
AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードを指定します。
･･･ 書き込むデータが格納されているデータ構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 27 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

DRIVE DATA PORT 一括書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA1 PORT、DRIVE DATA2 PORT、DRIVE DATA3PORTにデータを一括書き込みします。
書 式
C 言語 BOOL AC06_IWData(DWORD hDev, AC06_S_DATA FAR *psData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_IWData(ByVal hDev As Long, psData As AC06_S_DATA, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_IWData(ByVal hDev As Integer, ByRef psData As AC06_S_DATA, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
psDatapsResultfunction AC06_IWData(hDev: DWORD; var psData: AC06_S_DATA; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されているデータ構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

DRIVE COMMAND PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE COMMAND PORTにコマンドコードを書き込みます。
書 式
C 言語 BOOL AC06_BWDriveCommand(DWORD hDev, WORD FAR *pCmd, AC06_S_RESULT FAR *psResult );VB

Function AC06_BWDriveCommand(ByVal hDev As Long, pCmd As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BWDriveCommand(ByVal hDev As Integer, ByRef pCmd As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pCmd
psResultfunction AC06_BWDriveCommand(hDev: DWORD; var pCmd: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 28 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

DRIVE DATA1 PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA1 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWDriveData1(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWDriveData1(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BWDriveData1(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWDriveData1(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

DRIVE DATA2 PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA2 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWDriveData2(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWDriveData2(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BWDriveData2(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWDriveData2(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 29 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

DRIVE DATA3 PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA3 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWDriveData3(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWDriveData3(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BWDriveData3(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWDriveData3(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

STATUS1 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのSTATUS1 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRStatus1(DWORD hDev, WORD FAR *pStatus, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRStatus1(ByVal hDev As Long, pStatus As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRStatus1(ByVal hDev As Integer, ByRef pStatus As Short, ByRef psResult As AC06_S_RESULT)As
BooleanDelphi
引 数
hDev
pStatus
psResultfunction AC06_BRStatus1(hDev: DWORD; var pStatus: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 30 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

STATUS2 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのSTATUS2 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRStatus2(DWORD hDev, WORD FAR *pStatus, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRStatus2(ByVal hDev As Long, pStatus As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRStatus2(ByVal hDev As Integer, ByRef pStatus As Short, ByRef psResult As AC06_S_RESULT)As
BooleanDelphi
引 数
hDev
pStatus
psResultfunction AC06_BRStatus2(hDev: DWORD; var pStatus: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

STATUS3 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのSTATUS3 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRStatus3(DWORD hDev, WORD FAR *pStatus, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRStatus3(ByVal hDev As Long, pStatus As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRStatus3(ByVal hDev As Integer, ByRef pStatus As Short, ByRef psResult As AC06_S_RESULT)As
BooleanDelphi
引 数
hDev
pStatus
psResultfunction AC06_BRStatus3(hDev: DWORD; var pStatus: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 31 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

STATUS4 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのSTATUS4 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRStatus4(DWORD hDev, WORD FAR *pStatus, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRStatus4(ByVal hDev As Long, pStatus As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRStatus4(ByVal hDev As Integer, ByRef pStatus As Short, ByRef psResult As AC06_S_RESULT)As
BooleanDelphi
引 数
hDev
pStatus
psResultfunction AC06_BRStatus4(hDev: DWORD; var pStatus: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

STATUS5 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのSTATUS5 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRStatus5(DWORD hDev, WORD FAR *pStatus, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRStatus5(ByVal hDev As Long, pStatus As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRStatus5(ByVal hDev As Integer, ByRef pStatus As Short, ByRef psResult As AC06_S_RESULT)As
BooleanDelphi
引 数
hDev
pStatus
psResultfunction AC06_BRStatus5(hDev: DWORD; var pStatus: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 32 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

DRIVE DATA PORT 一括読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA1 PORT、DRIVE DATA2 PORT、DRIVE DATA3 PORTを一括読み出しします。
書 式
C 言語 BOOL AC06_IRDrive(DWORD hDev, AC06_S_DATA FAR *psData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_IRDrive(ByVal hDev As Long, psData As AC06_S_DATA, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_IRDrive(ByVal hDev As Integer, ByRef psData As AC06_S_DATA, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
psDatapsResultfunction AC06_IRDrive(hDev: DWORD; var psData: AC06_S_DATA; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出したデータが格納されるデータ構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

DRIVE DATA1 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA1 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRDriveData1(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRDriveData1(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRDriveData1(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BRDriveData1(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 33 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

DRIVE DATA2 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA2 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRDriveData2(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRDriveData2(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRDriveData2(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BRDriveData2(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

DRIVE DATA3 PORT 読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのDRIVE DATA3 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRDriveData3(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRDriveData3(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRDriveData3(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BRDriveData3(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 34 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

READY WAIT 関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスがREADY（STATUS1 PORTのBUSY BIT =0）になるまで待機します。最大待ち時間を越えるとエラー終了します。
書 式
C 言語 BOOL AC06_BWaitDriveCommand(DWORD hDev, WORD WaitTime, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWaitDriveCommand(ByVal hDev As Long, ByVal WaitTime As Integer, psResult As
AC06_S_RESULT) As Boolean

VB.NET Function AC06_BWaitDriveCommand(ByVal hDev As Integer, ByVal WaitTime As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi

引 数
hDev
WaitTime
psResultfunction AC06_BWaitDriveCommand(hDev: DWORD; WaitTime: WORD; var psResult: AC06_S_RESULT):
Boolean;･･･ デバイスハンドルを指定します。
･･･ 最大待ち時間を1ms単位で設定します。0を指定するとREADYになるまで無限に待機します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

READY WAIT 状態読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのREADY WAIT関数の状態を返します。
書 式
C 言語 BOOL AC06_BIsWait(DWORD hDev, WORD FAR *pWaitSts, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BIsWait(ByVal hDev As Long, pWaitSts As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BIsWait(ByVal hDev As Integer, ByRef pWaitSts As Short, ByRef psResult As AC06_S_RESULT)As
BooleanDelphi
引 数
hDev
pWaitSts

function AC06_BIsWait(hDev: DWORD; var pWaitSts: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ READY WAIT関数の状態が格納される変数のポインタを指定します。

格納される値
01

psResult

READY WAIT関数の状態
READYになるまで待機していない状態
READYになるまで待機している状態･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 35 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

READY WAIT 中止関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのREADY WAIT関数のREADY待ちを中止します。
書 式
C 言語 BOOL AC06_BBreakWait(DWORD hDev, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BBreakWait(ByVal hDev As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BBreakWait(ByVal hDev As Integer, ByRef psResult As AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
psResultfunction AC06_BBreakWait(hDev: DWORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

COUNTER COMMAND 一括書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのCOUNTER COMMAND PORT、COUNTER DATA1 PORT、COUNTER DATA2 PORT、COUNTERDATA3 PORTにコマンドコード、データを一括書き込みします。
書 式
C 言語 BOOL AC06_IWCounter(DWORD hDev, WORD Cmd, AC06_S_DATA FAR *psData, AC06_S_RESULT FAR*psResult);
VB

Function AC06_IWCounter(ByVal hDev As Long, ByVal Cmd As Integer, psData As AC06_S_DATA, psResult As
AC06_S_RESULT) As Boolean

VB.NET Function AC06_IWCounter(ByVal hDev As Integer, ByVal Cmd As Short, ByRef psData As AC06_S_DATA, ByRef
psResult As AC06_S_RESULT) As Boolean
Delphi

引 数
hDev
Cmd
psDatapsResultfunction AC06_IWCounter(hDev: DWORD; Cmd: WORD; var psData: AC06_S_DATA; var psResult:
AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードを指定します。
･･･ 書き込むデータが格納されているデータ構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 36 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

COUNTER COMMAND PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのCOUNTER COMMAND PORTにコマンドを書き込みます。
書 式
C 言語 BOOL AC06_BWCounterCommand(DWORD hDev, WORD FAR *pCmd, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWCounterCommand(ByVal hDev As Long, pCmd As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BWCounterCommand(ByVal hDev As Integer, ByRef pCmd As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi

引 数
hDev
pCmd
psResultfunction AC06_BWCounterCommand(hDev: DWORD; var pCmd: WORD; var psResult: AC06_S_RESULT):
Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

COUNTER DATA1 PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのCOUNTER DATA1 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWCounterData1(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWCounterData1(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BWCounterData1(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWCounterData1(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 37 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

COUNTER DATA2 PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのCOUNTER DATA2 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWCounterData2(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWCounterData2(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BWCounterData2(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWCounterData2(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

COUNTER DATA3 PORT 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定されたデバイスのCOUNTER DATA3 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWCounterData3(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWCounterData3(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BWCounterData3(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWCounterData3(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 38 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

AXIS COMMAND 一括書き込み関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS COMMAND PORT、AXIS DATA1 PORT、AXIS DATA2PORTにコマンドコード、データを一括書き込みします。
書 式
C 言語 BOOL AC06_IWAxis(DWORD hDev, WORD Cmd, AC06_S_DATA FAR *psData, AC06_S_RESULT FAR*psResult);
VB

Function AC06_IWAxis(ByVal hDev As Long, ByVal Cmd As Integer, psData As AC06_S_DATA, psResult As
AC06_S_RESULT) As Boolean

VB.NET Function AC06_IWAxis(ByVal hDev As Integer, ByVal Cmd As Short, ByRef psData As AC06_S_DATA, ByRef
psResult As AC06_S_RESULT) As Boolean
Delphi

引 数
hDev
Cmd
psDatapsResultfunction AC06_IWAxis(hDev: DWORD; Cmd: WORD; var psData: AC06_S_DATA; var psResult:
AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードを指定します。下位8ビットが有効です。
･･･ 書き込むデータが格納されているデータ構造体のポインタを指定します。
データ構造体の各メンバは、下位8ビットが有効です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

AXIS COMMAND PORT 書き込み関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS COMMAND PORTにコマンドコードを書き込みます。
書 式
C 言語 BOOL AC06_BWAxisCommand(DWORD hDev, WORD FAR *pCmd, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWAxisCommand(ByVal hDev As Long, pCmd As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BWAxisCommand(ByVal hDev As Integer, ByRef pCmd As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pCmd
psResultfunction AC06_BWAxisCommand(hDev: DWORD; var pCmd: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードが格納されている変数のポインタを指定します。
書き込むコマンドコードが格納されている変数は、下位8ビットが有効です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 39 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

AXIS DATA1 PORT 書き込み関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS DATA1 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWAxisData1(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWAxisData1(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BWAxisData1(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWAxisData1(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
書き込むデータが格納されている変数は、下位8ビットが有効です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

AXIS DATA2 PORT 書き込み関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS DATA2 PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BWAxisData2(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BWAxisData2(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BWAxisData2(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BWAxisData2(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
書き込むデータが格納されている変数は、下位8ビットが有効です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 40 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

AXIS STATUS1 PORT 読み出し関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS STATUS1 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRAxisStatus1(DWORD hDev, WORD FAR *pStatus, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRAxisStatus1(ByVal hDev As Long, pStatus As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRAxisStatus1(ByVal hDev As Integer, ByRef pStatus As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
pStatus
psResultfunction AC06_BRAxisStatus1(hDev: DWORD; var pStatus: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
読み出した内容は、下位8ビットが有効です。上位8ビットには、0が読み出されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

AXIS DATA PORT 一括読み出し関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS DATA1 PORT、AXIS DATA2 PORT、AXIS DATA3 PORTを一括読み出しします。
書 式
C 言語 BOOL AC06_IRAxis(DWORD hDev, AC06_S_DATA FAR *psData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_IRAxis(ByVal hDev As Long, psData As AC06_S_DATA, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_IRAxis(ByVal hDev As Integer, ByRef psData As AC06_S_DATA, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hDev
psDatapsResultfunction AC06_IRAxis(hDev: DWORD; var psData: AC06_S_DATA; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出したデータが格納されるデータ構造体のポインタを指定します。
データ構造体の各メンバは、下位8ビットが有効です。上位8ビットには0が格納されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 41 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

AXIS DATA1 PORT 読み出し関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS DATA1 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRAxisData1(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRAxisData1(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRAxisData1(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BRAxisData1(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
読み出した内容は、下位8ビットが有効です。上位8ビットには、0が読み出されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

AXIS DATA2 PORT 読み出し関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS DATA2 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRAxisData2(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRAxisData2(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRAxisData2(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BRAxisData2(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
読み出した内容は、下位8ビットが有効です。上位8ビットには、0が読み出されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 42 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

AXIS DATA3 PORT 読み出し関数

AL MCC06 ユニット対応 DLL

C-772

機 能
指定されたデバイスのAXIS DATA3 PORTを読み出します。
書 式
C 言語 BOOL AC06_BRAxisData3(DWORD hDev, WORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BRAxisData3(ByVal hDev As Long, pData As Integer, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BRAxisData3(ByVal hDev As Integer, ByRef pData As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hDev
pData
psResultfunction AC06_BRAxisData3(hDev: DWORD; var pData: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
読み出した内容は、下位8ビットが有効です。上位8ビットには、0が読み出されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 43 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

汎用 I/O PORT オープン関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
I/F番号、スレーブアドレス、スレーブタイプを指定して、汎用I/O
PORTをオープンし、引数phPortで示される変数に汎用I/O PORTハンドルを格納します。
書 式
C 言語 BOOL AC06_BPortOpen(WORD IfNo, WORD SlaveAddr, WORD SlaveType, DWORD FAR *phPort,
AC06_S_RESULT FAR *psResult);
VB

Function AC06_BPortOpen(ByVal IfNo As Integer, ByVal SlaveAddr As Integer, ByVal SlaveType As Integer, phPort
As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BPortOpen(ByVal IfNo As Short, ByVal SlaveAddr As Short, ByVal SlaveType As Short, ByRef
phPort As Integer, ByRef psResult As AC06_S_RESULT) As Boolean
Delphi引
IfNofunction AC06_BPortOpen(IfNo: WORD; SlaveAddr: WORD; SlaveType: WORD; var phPort: DWORD; var psResult:
AC06_S_RESULT): Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）
CB-23/USB
AC06_USB

SlaveAddr
SlaveType･･･ スレーブアドレスを指定します。H'01～H'1Fのいずれかになります。
･･･ スレーブタイプを指定します。

引数SlaveTypeの値
AC06_SLAVE_C772

phPortpsResult

スレーブタイプ
C-772, C-772A･･･ 汎用I/O PORTハンドルが格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 44 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

汎用 I/O PORT クローズ関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定された汎用I/O PORTをクローズします。
書 式
C 言語 BOOL AC06_BPortClose(DWORD hPort, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BPortClose(ByVal hPort As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BPortClose(ByVal hPort As Integer, ByRef psResult As AC06_S_RESULT) As Boolean
Delphifunction AC06_BPortClose(hPort: DWORD; var psResult: AC06_S_RESULT): Boolean;

引 数
hPort
psResult･･･ 汎用I/O PORTハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

汎用 I/O PORT 一括読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
汎用I/O PORTの状態を一括読み出しします。
書 式
C 言語 BOOL AC06_BPortIn(DWORD hPort, DWORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BPortIn(ByVal hPort As Long, pData As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BPortIn(ByVal hPort As Integer, ByRef pData As Integer, ByRef psResult As AC06_S_RESULT) As
BooleanDelphifunction AC06_BPortIn(hPort: DWORD; var pData: DWORD; var psResult: AC06_S_RESULT): Boolean;

引 数
hPort
pData

･･･ 汎用I/O PORTハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
変数の内容は、次のようになります。

● C-772, C-772A の汎用 I/O PORT を読み出す場合
231

230

229

228

227

226

225

224

223

222

221

220

219

218

217

216

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

215

214

213

212

211

210

29

28

27

26

25

24

23

22

21

20

IN17

IN16

IN15

IN14

IN13

IN12

IN11

IN10

OUT17 OUT16 OUT15 OUT14 OUT13 OUT12 OUT11 OUT10HIGH レベルのときに 0、 LOW レベルのときに 1 が読み出されます。

psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 45 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

汎用 I/O PORT 指定信号読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
汎用I/O PORTの指定信号の状態を読み出します。
書 式
C 言語 BOOL AC06_BSigIn(DWORD hPort, WORD SigNo, WORD FAR *pStatus, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSigIn(ByVal hPort As Long, ByVal SigNo As Integer, pStatus As Integer, psResult As
AC06_S_RESULT) As Boolean

VB.NET Function AC06_BSigIn(ByVal hPort As Integer, ByVal SigNo As Short, ByRef pStatus As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi

引 数
hPort
SigNo

function AC06_BSigIn(hPort: DWORD; SigNo: WORD; var pStatus: WORD; var psResult: AC06_S_RESULT):
Boolean;･･･ 汎用I/O PORTハンドルを指定します。
･･･ 入力信号を指定します。

● C-772, C-772Aの汎用I/O PORTを読み出す場合
引数SigNoの値
AC06_C772_IN10
AC06_C772_IN11
AC06_C772_IN12
AC06_C772_IN13
AC06_C772_IN14
AC06_C772_IN15
AC06_C772_IN16
AC06_C772_IN17

pStatus

引数SigNoの値

IN10
IN11
IN12
IN13
IN14
IN15
IN16
IN17

AC06_C772_OUT10
AC06_C772_OUT11
AC06_C772_OUT12
AC06_C772_OUT13
AC06_C772_OUT14
AC06_C772_OUT15
AC06_C772_OUT16
AC06_C772_OUT17

指定信号
OUT10
OUT11
OUT12
OUT13
OUT14
OUT15
OUT16
OUT17

･･･ 指定信号の状態が格納される変数のポインタを指定します。

格納される値
AC06_LOW
AC06_HIGH

psResult

指定信号

指定信号の状態
LOWレベルHIGHレベル･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 46 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

汎用 I/O PORT 一括書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
汎用I/O PORTにデータを一括書き込みします。
書 式
C 言語 BOOL AC06_BPortOut(DWORD hPort, DWORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BPortOut(ByVal hPort As Long, pData As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BPortOut(ByVal hPort As Integer, ByRef pData As Integer, ByRef psResult As AC06_S_RESULT)As Boolean
Delphifunction AC06_BPortOut(hPort: DWORD; var pData: DWORD; var psResult: AC06_S_RESULT): Boolean;

引 数
hPort
pData

･･･ 汎用I/O PORTハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
変数の内容は、次のようになります。

● C-772, C-772A の汎用 I/O PORT に書き込む場合
231

230

229

228

227

226

225

224

223

222

221

220

219

218

217

216

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

215

214

213

212

211

210

29

28

27

26

25

24

23

22

21

20

0

0

0

0

0

0

0

0

OUT17 OUT16 OUT15 OUT14 OUT13 OUT12 OUT11 OUT10HIGH レベルにするときに 0、 LOW レベルにするときに 1 を書き込みます。

psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 47 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

汎用 I/O PORT 指定信号 LOW レベル書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
汎用I/O PORTの指定信号をLOWレベルにします。
書 式
C 言語 BOOL AC06_BSigLowOut(DWORD hPort, WORD SigNo, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSigLowOut(ByVal hPort As Long, ByVal SigNo As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BSigLowOut(ByVal hPort As Integer, ByVal SigNo As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hPort
SigNo

function AC06_BSigLowOut(hPort: DWORD; SigNo: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ 汎用I/O PORTハンドルを指定します。
･･･ 出力信号を指定します。

● C-772, C-772Aの汎用I/O PORTに書き込む場合
引数SigNoの値
AC06_C772_OUT10
AC06_C772_OUT11
AC06_C772_OUT12
AC06_C772_OUT13

psResult

指定信号

引数SigNoの値

OUT10
OUT11
OUT12
OUT13

AC06_C772_OUT14
AC06_C772_OUT15
AC06_C772_OUT16
AC06_C772_OUT17

指定信号
OUT14
OUT15
OUT16
OUT17

･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 48 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

汎用 I/O PORT 指定信号 HIGH レベル書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
汎用I/O PORTの指定信号をHIGHレベルにします。
書 式
C 言語 BOOL AC06_BSigHighOut(DWORD hPort, WORD SigNo, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSigHighOut(ByVal hPort As Long, ByVal SigNo As Integer, psResult As AC06_S_RESULT) As
Boolean

VB.NET Function AC06_BSigHighOut(ByVal hPort As Integer, ByVal SigNo As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hPort
SigNo

function AC06_BSigHighOut(hPort: DWORD; SigNo: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ 汎用I/O PORTハンドルを指定します。
･･･ 出力信号を指定します。

● C-772, C-772Aの汎用I/O PORTに書き込む場合
引数SigNoの値
AC06_C772_OUT10
AC06_C772_OUT11
AC06_C772_OUT12
AC06_C772_OUT13

psResult

指定信号

引数SigNoの値

OUT10
OUT11
OUT12
OUT13

AC06_C772_OUT14
AC06_C772_OUT15
AC06_C772_OUT16
AC06_C772_OUT17

指定信号
OUT14
OUT15
OUT16
OUT17

･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 49 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

制御信号オープン関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
I/F番号、スレーブアドレス、スレーブタイプを指定して、制御信号または制御I/O
PORTをオープンし、引数phSignalで示される変数に制御信号ハンドルを格納します。
書 式
C 言語 BOOL AC06_BSignalOpen(WORD IfNo, WORD SlaveAddr, WORD SlaveType, DWORD FAR *phSignal,
AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSignalOpen(ByVal IfNo As Integer, ByVal SlaveAddr As Integer, ByVal SlaveType As Integer,
phSignal As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BSignalOpen(ByVal IfNo As Short, ByVal SlaveAddr As Short, ByVal SlaveType As Short, ByRef
phSignal As Integer, ByRef psResult As AC06_S_RESULT) As Boolean
Delphi引
IfNofunction AC06_BSignalOpen(IfNo: WORD; SlaveAddr: WORD; SlaveType: WORD; var phSignal: DWORD; var
psResult: AC06_S_RESULT): Boolean;
数･･･ I/F番号を指定します。

マスターのボード／ユニット 引数IfNoの値
CB-09
ボード番号（0～9）
CB-23/USB
AC06_USB

SlaveAddr
SlaveType･･･ スレーブアドレスを指定します。H'01～H'1Fのいずれかになります。
･･･ スレーブタイプを指定します。

引数SlaveTypeの値
AC06_SLAVE_C772

phSignal
psResult

スレーブタイプ
C-772, C-772A･･･ 制御信号ハンドルが格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 50 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

制御信号クローズ関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定された制御信号または制御I/O PORTをクローズします。
書 式
C 言語 BOOL AC06_BSignalClose(DWORD hSignal, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSignalClose(ByVal hSignal As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BSignalClose(ByVal hSignal As Integer, ByRef psResult As AC06_S_RESULT) As Boolean
Delphifunction AC06_BSignalClose(hSignal: DWORD; var psResult: AC06_S_RESULT): Boolean;

引 数
hSignalpsResult･･･ 制御信号ハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

制御信号読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定された制御信号または制御I/O PORTの状態を読み出します。
書 式
C 言語 BOOL AC06_BSignalIn(DWORD hSignal, DWORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSignalIn(ByVal hSignal As Long, pData As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BSignalIn(ByVal hSignal As Integer, ByRef pData As Integer, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphifunction AC06_BSignalIn(hSignal: DWORD; var pData: DWORD; var psResult: AC06_S_RESULT): Boolean;

引 数
hSignalpData･･･ 制御信号ハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
変数の内容は、次のようになります。

● C-772, C-772A の制御 I/O PORT を読み出す場合
215

214

213

212

211

210

29

28

27

26

0

0

0

0

0

0

0

0

0

0

25

24

23

22

YDALM XDALM YOUT1 XOUT1

21

20

YOUT0 XOUT0
0

0

アクティブのときに 1、ノットアクティブのときに 0 が読み出されます。

psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 51 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

制御信号指定ビット読み出し関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定された制御信号または制御I/O PORTの指定ビットの状態を読み出します。
書 式
C 言語 BOOL AC06_BSignalBitIn(DWORD hSignal, WORD SigNo, WORD FAR *pData, AC06_S_RESULT FAR*psResult);
VB

Function AC06_BSignalBitIn(ByVal hSignal As Long, ByVal SigNo As Integer, pData As Integer, psResult As
AC06_S_RESULT) As Boolean

VB.NET Function AC06_BSignalBitIn(ByVal hSignal As Integer, ByVal SigNo As Short, ByRef pData As Short, ByRef
psResult As AC06_S_RESULT) As Boolean
Delphi

引 数
hSignalSigNofunction AC06_BSignalBitIn(hSignal: DWORD; SigNo: WORD; var pData: WORD; var psResult: AC06_S_RESULT):
Boolean;･･･ 制御信号ハンドルを指定します。
･･･ 制御信号のビットを指定します。

● C-772, C-772Aの制御I/O PORTを読み出す場合
引数SigNoの値
AC06_C772_XOUT0
AC06_C772_XOUT1
AC06_C772_XDALM

pData

引数SigNoの値

XOUT0
XOUT1
XDALM

ビット

AC06_C772_YOUT0
AC06_C772_YOUT1
AC06_C772_YDALM

YOUT0
YOUT1
YDALM

･･･ 読み出した内容が格納される変数のポインタを指定します。
変数には、次の値のいずれかが格納されます。

値
AC06_ON
AC06_OFF

psResult

ビット

ビットの状態ONOFF･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 52 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

制御信号書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
指定された制御信号または制御I/O PORTにデータを書き込みます。
書 式
C 言語 BOOL AC06_BSignalOut(DWORD hSignal, DWORD FAR *pData, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSignalOut(ByVal hSignal As Long, pData As Long, psResult As AC06_S_RESULT) As Boolean

VB.NET Function AC06_BSignalOut(ByVal hSignal As Integer, ByRef pData As Integer, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphifunction AC06_BSignalOut(hSignal: DWORD; var pData: DWORD; var psResult: AC06_S_RESULT): Boolean;

引 数
hSignalpData･･･ 制御信号ハンドルを指定します。
･･･ 書き込むデータが格納される変数のポインタを指定します。
変数の内容は、次のようになります。

● C-772, C-772A の制御 I/O PORT にデータを書き込む場合
215

214

213

212

211

210

29

28

27

26

25

24

0

0

0

0

0

0

0

0

0

0

0

0

23

22

YOUT1 XOUT1

21

20

YOUT0 XOUT000

1 を書き込むとアクティブ、 0 を書き込むとノットアクティブになります。

psResult･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 53 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

制御信号指定ビット ON 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A

機 能
制御信号または制御I/O PORTの指定されたビットをONにします。
書 式
C 言語 BOOL AC06_BSignalBitOnOut(DWORD hSignal, WORD SigNo, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSignalBitOnOut(ByVal hSignal As Long, ByVal SigNo As Integer, psResult As AC06_S_RESULT)As Boolean

VB.NET Function AC06_BSignalBitOnOut(ByVal hSignal As Integer, ByVal SigNo As Short, ByRef psResult As
AC06_S_RESULT) As Boolean
Delphi
引 数
hSignalSigNofunction AC06_BSignalBitOnOut(hSignal: DWORD; SigNo: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ 制御信号ハンドルを指定します。
･･･ 制御信号のビットを指定します。

● C-772, C-772Aの制御I/O PORTの指定ビットをONにする場合
引数SigNoの値
AC06_C772_XOUT0
AC06_C772_XOUT1

psResult

ビット

引数SigNoの値

XOUT0
XOUT1

AC06_C772_YOUT0
AC06_C772_YOUT1

ビット
YOUT0
YOUT1

･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 54 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

制御信号指定ビット OFF 書き込み関数
C-772

AL MCC06 ユニット対応 DLL

C-772A

機 能
制御信号または制御I/O PORTの指定されたビットをOFFにします。
書 式
C 言語 BOOL AC06_BSignalBitOffOut(DWORD hSignal, WORD SigNo, AC06_S_RESULT FAR *psResult);
VB

Function AC06_BSignalBitOffOut(ByVal hSignal As Long, ByVal SigNo As Integer, psResult As
AC06_S_RESULT)As Boolean

VB.NET Function AC06_BSignalBitOffOut(ByVal hSignal As Integer, ByVal SigNo As Short, ByRef psResult As
AC06_S_RESULT)As Boolean
Delphi
引 数
hSignalSigNofunction AC06_BSignalBitOffOut(hSignal: DWORD; SigNo: WORD; var psResult: AC06_S_RESULT): Boolean;･･･ 制御信号ハンドルを指定します。
･･･ 制御信号のビットを指定します。

● C-772, C-772Aの制御I/O PORTの指定ビットをOFFにする場合
引数SigNoの値
AC06_C772_XOUT0
AC06_C772_XOUT1

psResult

ビット

引数SigNoの値

XOUT0
XOUT1

AC06_C772_YOUT0
AC06_C772_YOUT1

ビット
YOUT0
YOUT1

･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。
NULLポインタまたは0が指定されると、実行結果が格納されません。

戻り値
この関数を実行した結果、正常終了したときはTRUE(1)、エラーが発生したときはFALSE(0)を返します。

- 55 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

データセット 1 関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
32ビットデータを、次の形式で、データ構造体に格納します。
引数 psData で示される データ構造体 のメンバ AC06_Data[1]（ C 言語表記）［各種 DATA2 PORT に対応］
215

214

213

212

211

231

210

29

28

27

26

25

24

23

22

21

引数 Data の上位 16 ビット（ 231 ～ 216）

20
216

引数 psData で示される データ構造体 のメンバ AC06_Data[2]（ C 言語表記）［各種 DATA3 PORT に対応］
215

214

213

212

211

215

210

29

28

27

26

25

24

引数 Data の下位 16 ビット（ 215 ～ 20）

書 式
C 言語 VOID AC06_SetData1(DWORD Data, AC06_S_DATA FAR *psData);
VB

Sub AC06_SetData1(ByVal Data As Long, psData As AC06_S_DATA)VB.NET Sub AC06_SetData1(ByVal Data As Integer, ByRef psData As AC06_S_DATA)
Delphiprocedure AC06_SetData1(Data: DWORD; var psData: AC06_S_DATA);

引 数
Data
･･･ 32ビットのデータを指定します。
psData ･･･ データ構造体のポインタを指定します。
戻り値
この関数に、戻り値はありません。

- 56 -

23

22

21

20
20

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

データセット 2 関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
2つの24ビットデータを、次の形式で、データ構造体に格納します。
引数 psData で示される データ構造体 のメンバ AC06_Data[0]（ C 言語表記）［各種 DATA1 PORT に対応］
215

214

213

212

211

210

223

29

28

27

26

25

24

23

22

21

引数 Data1 の 223 ～ 28

20
28

引数 psData で示される データ構造体 のメンバ AC06_Data[1]（ C 言語表記）［各種 DATA2 PORT に対応］
215

214

27

213

212

211

210

29

引数 Data1 の 27 ～ 20

28

27

20

223

26

25

24

23

22

21

引数 Data2 の 223 ～ 216

20
216

引数 psData で示される データ構造体 のメンバ AC06_Data[2]（ C 言語表記）［各種 DATA3 PORT に対応］
215

214

213

212

211

215

210

29

28

27

26

25

24

23

22

引数 Data2 の 215 ～ 20

21

20
20

書 式
C 言語 VOID AC06_SetData2(DWORD Data1, DWORD Data2, AC06_S_DATA FAR *psData);
VB

Sub AC06_SetData2(ByVal Data1 As Long, ByVal Data2 As Long, psData As AC06_S_DATA)VB.NET Sub AC06_SetData2(ByVal Data1 As Integer, ByVal Data2 As Integer, ByRef psData As AC06_S_DATA)
Delphiprocedure AC06_SetData2(Data1: DWORD; Data2: DWORD; var psData: AC06_S_DATA);

引 数
Data1
･･･ 24ビットのデータを指定します。下位24ビットが有効です。
Data2･･･ 24ビットのデータを指定します。下位24ビットが有効です。
psData ･･･ データ構造体のポインタを指定します。
戻り値
この関数に、戻り値はありません。

- 57 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

データセット 3 関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
32ビットデータを、次の形式で、2つのデータ構造体に格納します。
引数 psData1 で示される データ構造体 のメンバ AC06_Data[0]（ C 言語表記）［各種 DATA1 PORT に対応］
215

214

213

212

211

231

210

29

28

27

26

25

24

23

22

21

引数 Data の上位 16 ビット（ 231 ～ 216）

20
216

引数 psData2 で示される データ構造体 のメンバ AC06_Data[0]（ C 言語表記）［各種 DATA1 PORT に対応］
215

214

213

212

211

215

210

29

28

27

26

25

24

23

22

21

引数 Data の下位 16 ビット（ 215 ～ 20）

書 式
C 言語 VOID AC06_SetData3(DWORD Data, AC06_S_DATA FAR *psData1, AC06_S_DATA FAR *psData2);
VB

Sub AC06_SetData3(ByVal Data As Long, psData1 As AC06_S_DATA, psData2 As AC06_S_DATA)VB.NET Sub AC06_SetData3(ByVal Data As Integer, ByRef psData1 As AC06_S_DATA, ByRef psData2 As
AC06_S_DATA)
Delphiprocedure AC06_SetData3(Data: DWORD; var psData1: AC06_S_DATA; var psData2: AC06_S_DATA);

引 数
Data
･･･ 32ビットのデータを指定します。
psData1 ･･･ データ構造体のポインタを指定します。
psData2 ･･･ データ構造体のポインタを指定します。
戻り値
この関数に、戻り値はありません。

- 58 -

20
20

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

R1

データゲット関数
C-772

AL MCC06 ユニット対応 DLL

C-772A機 能
データ構造体の内容を、次の形式で、32ビットデータに変換します。
変換後の 32 ビットデータ
231

230

229

215

227

226

225

224

223

222

221

214

213

212

211

210

29

28

27

26

25

24

23

引数 psData で示される データ構造体 のメンバ AC06_Data[2]（ C 言語表記）［各種 DATA3 PORT に対応］

Function AC06_GetData(psData As AC06_S_DATA) As Long

VB.NET Function AC06_GetData(ByRef psData As AC06_S_DATA) As Integer
Delphi

219

218

217

function AC06_GetData(var psData: AC06_S_DATA): DWORD;

引 数
psData ･･･ データ構造体のポインタを指定します。
戻り値
32ビットに変換されたデータを返します。

- 59 -

216
20［各種 DATA2 PORT に対応］

書 式
C 言語 DWORD AC06_GetData(AC06_S_DATA FAR *psData);
VB

220

引数 psData で示される データ構造体 のメンバ AC06_Data[1]（ C 言語表記）

215
215

228

22

21

20
20

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

6.

ソフト開発に必要なファイル
MPL-29の各種DLLを用いてソフト開発を行うためには、次のファイルが必要です。
● ALマスターボード対応DLLを用いたソフト開発に必要なファイル
ファイル
Visual C++ヘッダファイル
Visual C++ライブラリファイル
C++ Builderヘッダファイル
C++ Builderライブラリファイル
Visual Basic .NET関数定義ファイル
Visual Basic関数定義ファイル

ファイルの場所¥Program Files¥Mpl29¥Bin¥Vc¥AlPciA.h¥Program Files¥Mpl29¥Bin¥Vc¥VcAlPciA.lib¥Program Files¥Mpl29¥Bin¥Builder¥AlPciA.h¥Program Files¥Mpl29¥Bin¥Builder¥BcAlPciA.lib¥Program Files¥Mpl29¥Bin¥Vb.NET¥AlPciA.vb¥Program Files¥Mpl29¥Bin¥Vb¥AlPciA.bas● AL I/Oユニット対応DLLを用いたソフト開発に必要なファイル
AL I/Oユニット取扱説明書をご覧ください● AL MCC05 ユニット対応DLLを用いたソフト開発に必要なファイルAL MCC05ユニット取扱説明書をご覧ください● AL MCC06ユニット対応DLLを用いたソフト開発に必要なファイル
ファイル
Visual C++ヘッダファイル
Visual C++ライブラリファイル
C++ Builderヘッダファイル
C++ Builderライブラリファイル
Visual Basic .NET関数定義ファイル
Visual Basic関数定義ファイル

ファイルの場所¥Program Files¥Mpl29¥Bin¥Vc¥Ac06A.h¥Program Files¥Mpl29¥Bin¥Vc¥VcAc06A.lib¥Program Files¥Mpl29¥Bin¥Builder¥Ac06A.h¥Program Files¥Mpl29¥Bin¥Builder¥BcAc06A.lib¥Program Files¥Mpl29¥Bin¥Vb.NET¥Ac06A.vb¥Program Files¥Mpl29¥Bin¥Vb¥Ac06A.bas- 60 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

7.

サンプルプログラム

7-1.

概要

R1

Visual C++ .NET、Visual C++、C++ Builder、Visual Basic .NET、Visual Basicのサンプルプログラムが用意されています。
サンプルプログラムのファイルは、インストール時に指定する次のフォルダに格納されています。
（インストール時にパスをProgram Filesと指定した場合）
言語
Visual C++ .NET、Visual C++
C++ Builder
Visual Basic .NET
Visual Basic

7-2.

ファイルの場所¥Program Files¥Mpl29¥Sample¥Vc¥Program Files¥Mpl29¥Sample¥Builder¥Program Files¥Mpl29¥Sample¥Vb.NET¥Program Files¥Mpl29¥Sample¥Vb

ご使用になる前に

環境設定ツールでAL通信ボーレート、リトライ回数を設定して下さい。
パソコン、CB-09、C-772またはC-772A(SLAVE ADDRESS = H'01)、CB-08(SLAVE ADDRESS = H'02)を接続して下さい。

- 61 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

7-3.

仕様

R1

サンプルプログラムには、Visual C++ 6.0、C++ Builder 5.0、Visual Basic .NET 2002、Visual Basic 6.0で作成したものを用意してあります。これらは、同じ仕様で作られています。
サンプルプログラムを参照する場合には、それぞれの言語の開発環境からプロジェクトを開いて下さい。

OpenボタンCloseボタン
Endボタン
Resetボタン
StopボタンData Setボタン

Scan Drive +ボタン
Scan Drive -ボタン
Org Driveボタン
Rtn Driveボタン
Index Drive +ボタン
Index Drive -ボタン
Demoボタン

General-Purpose I/Oボタン

デバイス(C-772またはC-772A X軸)をオープンします。
デバイス(C-772またはC-772A X軸)をクローズします。
サンプルプログラムを終了します。
ADDRESS COUNTERを0にPRESETします。
DRIVEを即時停止します。
次の設定にします。
RATE TYPE : L1-TYPE
URATE: 10ms/1000Hz
LSPD: 1000Hz
DRATE: 10ms/1000Hz
HSPD: 5000Hz+(CW)方向へSCAN DRIVEします。
-(CCW)方向へSCAN DRIVEします。
機械原点検出形式ORG-3でORIGIN DRIVEを行います。
絶対ADDRESS 0へ移動するABSOLUTE INDEX DRIVEを行います。
+(CW)方向へ3000パルス移動するINCREMENTAL INDEX DRIVEを行います。
-(CCW)方向へ3000パルス移動するINCREMENTAL INDEX DRIVEを行います。
次の動作を連続して行います。
機械原点の検出(ORIGIN DRIVE)
電気原点の設定(ADDRESS COUNTERを0にPRESET)+(CW)方向へ4000パルス移動を4回繰り返す(INCREMENTAL INDEX DRIVE)
絶対ADDRESS 30000へ移動(ABSOLUTE INDEX DRIVE)
電気原点へ移動(ABSOLUTE INDEX DRIVE)
次の動作を連続して行います。
I/O PORT OPEN(CB-08)
IN10 - IN12がHIGHになるまで待つ
OUT10 - OUT12をHIGHにする+(CW)方向へ1000パルス移動(INCREMENTAL INDEX DRIVE)
OUT10をLOWにする
IN11がLOWになるまで待つ+(CW)方向へ2000パルス移動(INCREMENTAL INDEX DRIVE)
OUT11をLOWにする
IN12がLOWになるまで待つ+(CW)方向へ3000パルス移動(INCREMENTAL INDEX DRIVE)
OUT12をLOWにする
I/O PORT CLOSE(CB-08)- 62 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

8.

トラブルシューティング

R1

作成したアプリケーションプログラムが正常に動作しない場合、次のことを行って下さい。
(1) マスターボードの認識
スレーブ情報確認プログラムを起動して下さい。
スレーブ情報確認プログラムは、起動時にマスターボードの認識を確認しています。
(2) スレーブの認識
スレーブ情報確認プログラムは、実際にAL通信を行い、各スレーブアドレスに接続されているスレーブを検出し、検出結果を表示しています。
メッセージ
Unconnection
C-770AL
CB-08
CDB-5420-AL770
CAD-5410-AL770
C-771
CD-773/ADB5331A
C-772
CB-34

スレーブの検出結果
スレーブが接続されていないことを示しています。
C-770ALが接続されていることを示しています。
CB-08が接続されていることを示しています。
CDB-5420-AL770が接続されていることを示しています。
CAD-5410-AL770が接続されていることを示しています。
C-771が接続されていることを示しています。
CD-773/ADB5331Aが接続されていることを示しています。
C-772またはC-772Aが接続されていることを示しています。
CB-34が接続されていることを示しています。

(3) RESULT構造体の確認
各関数は、アプリケーションプログラムによって与えられた引数の内容をチェックし、エラーがある場合は、
FALSE(0)を返し、正常である場合はTRUE(1)を返します。
関数が正常に動作していないと思われるステップの後にブレークポイントを設定し、関数が返した値がTRUE(1)であることを確認して下さい。
TRUE(1)でない場合は、エラー原因を特定する為にRESULT構造体の内容を参照して下さい。

- 63 -

AL MCC06 ユニット取扱説明書 （ デバ イス ド ライ バ）

本版で改訂された主な箇所

箇

所

－

内

容

【R1】
対応するスレーブユニットにC-772Aを追加しました。

- 64 -

■ 製品保証
保証期間と保証範囲について● 納入品の保証期間は、納入後１ヶ年と致します。
● 上記保証期間中に当社の責により故障を生じた場合は、その修理を当社の責任において行います。
(日本国内のみ)
ただし、次に該当する場合は、この保証対象範囲から除外させて頂きます。
(1) お客様の不適当な取り扱い、ならびに使用による場合。
(2) 故障の原因が、当製品以外からの事由による場合。
(3) お客さまの改造、修理による場合。
(4) 製品出荷当時の科学・技術水準では予見が不可能だった事由による場合。
(5) その他、天災、災害等、当社の責にない場合。
(注1)ここでいう保証は、納入品単体の保証を意味するもので、納入品の故障により誘発される損害はご容赦頂きます。
(注2)当社において修理済みの製品に関しましては、保証外とさせて頂きます。

技術相談のお問い合わせTEL.(042)664-5382 FAX.(042)666-5664
E-mail s-support@melec-inc.com

販売に関するお問い合わせTEL.(042)664-5384 FAX.(042)666-2031
制御機器営業部〒193-0834 東京都八王子市東浅川町516-10
記載内容は、製品改良のため予告なく変更することがありますのでご了承ください。

URL:http://www.melec-inc.com
c1105