STEPPING ＆ SERVO MOTOR CONTROLLER'S OPTION

MPL-31-01V2.00/PCIW64
MPL-31-02V1.00/PCIW64

取扱説明書(設計者用)( PCI C-VX870v1シリーズ Windows用デバイスドライバ )本製品を使用する前に、この取扱説明書を良く読んで十分に理解してください。
この取扱説明書は、いつでも取り出して読めるように保管してください。

MN0491

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
はじめに
このデバイスドライバ「取扱説明書」は、 C-VX870v1 シリーズのステッピングモータ、サーボモータ、および I/O システムを正しく安全に使用していただくために、ステッピングモータ、あるいはサーボ
モータを使った制御装置の設計を担当される方を対象に、 Windows における標準的な機能および仕様について説明しています。
各コントローラの「取扱説明書」と同様に、本デバイスドライバ「取扱説明書」を良く読んで十分に理解してください。
このデバイスドライバ「取扱説明書」は、いつでも取り出して読めるように保管してください。

安全設計に関するお願い■本資料に記載されている製品および製品仕様は、改良などにより予告なく変更することがあります。
■本資料に記載される技術情報は、製品の代表的動作・応用を説明するためのものであり、その使用に際して当社および第三者の知的財産権その他の権利に対する保証または実施権の許諾を行うものではありません。
■本資料に記載されている回路、ソフトウェア、およびこれらに関連する情報を使用する
場合は、お客様の機器およびシステム全体で十分に評価し、お客様の責任において適用可否を判断してください。
■半導体ならびに半導体を使用した製品は、ある確率で故障が発生したり、使用条件によっては誤動作したりする場合があります。本製品の故障または誤動作により、人身事故、火災事故、
社会的な損害などを生じさせないように、お客様の責任において、お客様の機器またはシステムに必要な安全設計を行うことをお願いします。
■本製品は、一般工業向けの汎用品として設計・製造されていますので、航空機器、航空
宇宙機器、海底中継機器、原子力制御システム、輸送機器(車両、船舶等)、交通用信号
機器、防災・防犯機器、安全装置、医療機器など、人命や財産に多大な影響が予想される用途には使用しないでください。
■本製品を改造、改変、複製等しないでください。
■輸出に際しては、「外国為替および外国貿易法」など適用される輸出関連法令を遵守し、かかる法令の定めるところにより必要な手続きを行ってください。本製品または本資料に記載されている技術情報を、大量破壊兵器の開発等の目的、軍事利用の目的、その他軍事用途の目的で使用しないでください。
また、本製品を国内外の法令および規制により製造・使用・販売を禁止されている機器に使用することはできません。
■本製品の環境適合性などの詳細につきましては、必ず弊社営業窓口までお問い合わせください。ご使用に際しては、特定の物質の含有・使用を規制する RoHS 指令など適用される環境関連法令を十分調査の上、かかる法令に適合するようにご使用ください。
お客様がかかる法令を遵守しないことにより生じた損害に関して、当社は一切その責任は負いません。

-2-

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
安全に関する事項の記述方法について
本製品は正しい方法で取り扱うことが大切です。
誤った方法で使用された場合、予期しない事故を引き起こし、人身への障害や財産の損壊などの被害を被るおそれがあります。
そのような事故の多くは、危険な状況を予め知っていれば回避することができます。
そのため、このデバイスドライバ「取扱説明書」では危険な状況が予想できる場合には、注意事項
が記述してあります。
それらの記述は、次のようなシンボルマークとシグナルワードで示しています。
 警告

取り扱いを誤った場合に死亡、または重傷を負うおそれのある警告事項を示します。

 注意

取り扱いを誤った場合に、軽傷を負うおそれや物的損害が発生するおそれがある注意事項を示します。

御使用の前に■本製品はメカ破損を防ぐための LIMIT(オーバートラベル)信号、および FSSTOP 信号を備えています。これら信号は ACTIVE OFF(B 接点)となっています。
従って FSSTOP 信号、ならびに LIMIT 信号を使用しないシステム構成であっても、
NORMAL ON(GND 接続)状態にしないとパルス出力を行いません。
■ 入出力仕様ならびに接続に関する取り扱いについては、各コントローラの｢取扱説明書｣をご覧ください。
■ 応用機能については、 別冊デバイスドライバ取扱説明書 応用機能編をご覧ください。

■ C-VX870v1 シリーズは各軸を独立で制御できるため、各軸を以下のように呼称します。
軸数

1 軸目

2 軸目

3 軸目

4 軸目

5 軸目

6 軸目

7 軸目

8 軸目

9 軸目

10 軸目 11 軸目 12 軸目

C-VX870v1
4軸
C-VX871v1
6軸
C-VX872v1
8軸
C-VX873v1 12 軸
C-VX870Ev1 4 軸
C-VX871Ev1 6 軸

X軸
X軸
X1 軸
X1 軸
X軸
X軸

Y軸
Y軸
Y1 軸
Y1 軸
Y軸
Y軸

Z軸
Z軸
Z1 軸
Z1 軸
Z軸
Z軸

A軸
A軸
A1 軸
A1 軸
A軸
A軸

－
B軸
X2 軸
B1 軸
－
B軸

－
C軸
Y2 軸
C1 軸
－
C軸

－
－
Z2 軸
X2 軸
－
－

－
－
A2 軸
Y2 軸
－
－

－
－
－
Z2 軸
－
－

－
－
－
A2 軸
－
－

製品名

・以降、原則として X 軸についてのみ説明します。

-3-

－
－
－
B2 軸
－
－

－
－
－
C2 軸
－
－

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ 本書の構成
本書は Windows 用デバイスドライバによる C-VX870v1 シリーズの制御階層(ドライバ仕様、関数仕様)と
C-VX870v1 シリーズのコマンド仕様、機能説明で構成しています。
デバイスドライバ MPL-31-01v2.00/PCIW64
C-VX870v1 シリーズ対応コントローラ
1.章 概要 、 2.章 関数仕様
3.章 関数リファレンス
3-1. RESULT 構造体

4.章 コマンド仕様

5.章 機能説明

各機能の設定や実行、および読み出しは、コントローラの機能を説明します。

デバイス関数によって行います。
コマンドの実行シーケンスやデータの詳細を

3-2. デバイス関数
3-2-1. デバイスオープン/クローズ関数

説明します。
4-1. ドライブコマンド
・入出力仕様の設定

3-2-2. 動作エラークリア関数
3-2-3. MCC PORT アクセス関数
3-2-4. WAIT 関数
3-2-5. SPEED ・ RATE 関数
3-2-6. ORIGIN 関数

・ドライブパラメータの設定

・ドライブパラメータ・ドライブの実行

・基本ドライブ・停止コマンドの実行

・ ORIGIN ドライブ・サーボ対応機能の実行・補間ドライブ・エラー機能の設定と読み出し

・パルス出力停止機能

・速度・設定データの読み出し

・エラー出力機能

・その他

・読み出し機能

4-2. カウンタコマンド
・アドレスカウンタの設定

3-2-7. 補間ドライブ関数
3-3.ボードコントローラの I/O 関数

5-1. ドライブ仕様
・入出力仕様5-2. カウンタ仕様
・エンコーダパルス入力方式

・パルスカウンタの設定

・外部パルス出力機能

・パルス偏差カウンタの設定

・アドレスカウンタ機能・カウントデータの読み出し

・パルスカウンタ機能
・パルス偏差カウンタ機能

3-3-1. I/O オープン/クローズ関数

・コンパレータ機能

3-3-2. I/O アクセス関数

5-3.章 I/O 仕様
・ボード上の I/O PORT

応用機能 *1
デバイス関数
データ構造体関数
コマンド予約機能関数
その他の関数

ドライブコマンドドライブ仕様・入出力仕様の設定(応用)・コマンド予約機能

・ドライブパラメータの設定(応用)・入力信号時定数設定機能

・ドライブの実行(応用)・入力信号論理切替機能

・多軸直線補間の設定と実行・その他応用ドライブ機能

・任意 2 軸円弧補間の設定と実行・カウントラッチデータ読み出し機能

・ドライブ CHANGE の設定と実行・ステータス外部出力機能

カウンタコマンドカウンタ仕様・リングカウンタ機能の設定

・リングカウンタ機能・カウンタラッチ・クリア機能の設定

・カウントデータのラッチ・クリア機能

I/O 仕様・その他の I/O PORT 機能*1 応用機能については、「デバイスドライバ取扱説明書 応用機能編 」をご覧ください。

-4-

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
はじめに
安全設計に関するお願い
安全に関する事項の記述方法について御使用の前に

目

次

PAGE

１．概要
1-1. 特徴
1-2. サポート環境
1-3. ソフト開発に必要なファイル
1-4. システムの構成
1-5. システムの制御(1) ボード上のデバイスおよび I/O の制御

9
10
10
11
11
11

２．関数仕様2-1. 関数体系(1) デバイス関数(2) I/O PORT 関数
2-2. エラー(1) 関数エラー(2) 動作エラー
2-3. シーケンス
2-3-1. 全体シーケンス(1) ボードコントローラ
2-3-2. 各制御シーケンス(1) デバイス制御シーケンス(2) I/O PORT 制御シーケンス(3) MCC07E の実行シーケンス
2-4. システムプログラミング
2-4-1. ボードコントローラ(1) マルチプロセス対応(2) マルチスレッド対応
2-5. 構造体・関数の見方(1) 構造体(2) 関数(3) Visual Basic でのプログラミング(4) Visual C#でのプログラミング(5) C 言語でのプログラミング(6) 言語固有の仕様
2-6. 制限事項(1) ユーザアプリケーションからの MCC07E COMMAND 書き込み
(2) ORIGIN ドライブ中(3) ORIGIN ドライブ STATUS(4) ボード No.の設定

12
12
12
13
13
13
14
14
14
15
15
15
15
16
16
16
16
17
17
17
18
18
19
19
20
20
20
20
20

３．関数リファレンス
3-1. RESULT 構造体
RESULT 構造体
3-2. デバイス関数
3-2-1. デバイスオープン/クローズ関数
デバイスオープン関数
デバイスクローズ関数
3-2-2. 動作エラークリア関数
動作エラークリア関数

21
21
23
23
23
24
25
25

-5-

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

目

次

3-2-3. MCC07E PORT アクセス関数
DRIVE COMMAND 32 ビット一括書き込み/読み出し関数
DRIVE COMMAND 32 ビット書き込み関数
DRIVE COMMAND PORT 書き込み関数
DRIVE DATA 32 ビット書き込み関数
DRIVE DATA1 PORT 書き込み関数
DRIVE DATA2 PORT 書き込み関数
DRIVE STATUS1 PORT 読み出し関数
DRIVE STATUS2 PORT 読み出し関数
DRIVE STATUS3 PORT 読み出し関数
DRIVE STATUS4 PORT 読み出し関数
DRIVE STATUS5 PORT 読み出し関数
DRIVE DATA 32 ビット一括読み出し関数
DRIVE DATA1 PORT 読み出し関数
DRIVE DATA2 PORT 読み出し関数
3-2-4. WAIT 関数
READY WAIT 関数
WAIT 状態読み出し関数
WAIT 中止関数
3-2-5. SPEED･RATE 関数
SPEED ･RATE 構造体
SPEED ･RATE セット関数
SPEED ･RATE 読み出し関数
3-2-6. ORIGIN 関数
ORIGIN ドライブ パラメータ構造体
ORIGIN STATUS 読み出し関数
ORIGIN SPEC SET 関数
ORIGIN MARGIN PULSE SET 関数
ORIGIN DELAY SET 関数
ORIGIN ERROR PULSE SET 関数
ORIGIN OFFSET PULSE SET 関数
ORIGIN PRESET PULSE SET 関数
ORIGIN ドライブパラメータ読み出し関数
ORIGIN FLAG RESET 関数
ORIGIN ドライブ関数
3-2-7. 補間ドライブ関数
POSITION 構造体
メインチップ 2 軸相対アドレス直線補間ドライブ関数
メインチップ 2 軸相対アドレス円弧補間ドライブ関数
円の中心点ゲット関数
相対アドレス変換関数
3-3. ボードコントローラの I/O 関数
3-3-1. I/O オープン/クローズ関数
I/O PORT オープン関数
I/O PORT クローズ関数
3-3-2. I/O アクセス関数
I/O PORT 書き込み関数
I/O PORT 読み出し関数

PAGE
26
28
29
30
31
32
33
34
37
39
40
42
44
45
46
47
47
48
49
50
50
51
52
53
53
54
56
58
59
60
61
62
63
64
65
66
66
67
68
70
71
72
72
72
73
74
74
75

４．コマンド仕様
4-1. ドライブコマンド
4-1-1. 入出力仕様の設定(1) SPEC INITIALIZE1(2) SPEC INITIALIZE2(3) SPEC INITIALIZE3
4-1-2. ドライブパラメータの設定(1) JSPD SET(2) JOG PULSE SET

76
76
76
77
79
81
81
82

-6-

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

目
4-1-3.ドライブの実行(1) +JOG(2) -JOG(3) +SCAN(4) -SCAN(5) INC INDEX(6) ABS INDEX
4-1-4. 停止コマンドの実行(1) SLOW STOP
(2) FAST STOP
4-1-5. サーボ対応機能の実行(1) SIGNAL OUT
4-1-6. エラー機能の設定と読み出し(1) ERROR STATUS MASK
(2) ERROR STATUS READ
4-1-7. 速度･設定データの読み出し(1) MCC SPEED READ
(2) MCC SET DATA READ
4-1-8. その他(1) NO OPERATION
4-2. カウンタコマンド
4-2-1. アドレスカウンタの設定(1) ADDRESS COUNTER INITIALIZE1(2) ADDRESS COUNTER INITIALIZE2(3) ADDRESS COUNTER PRESET(4) ADRINT COMPARE REGISTER1,2,3 SET(5) ADRINT COMP1 ADD DATA SET
4-2-2. パルスカウンタの設定(1) PULSE COUNTER INITIALIZE1(2) PULSE COUNTER INITIALIZE2(3) PULSE COUNTER PRESET(4) CNTINT COMPARE REGISTER1,2,3 SET(5) CNTINT COMP1 ADD DATA SET
4-2-3. パルス偏差カウンタの設定(1) DFL COUNTER INITIALIZE1(2) DFL COUNTER INITIALIZE2(3) DFL COUNTER INITIALIZE3(4) DFL COUNTER PRESET(5) DFLINT COMPARE REGISTER1,2,3 SET(6) DFLINT COMP1 ADD DATA SET
4-2-4. カウントデータの読み出し(1) ADDRESS COUNTER READ
(2) PULSE COUNTER READ
(3) DFL COUNTER READ

次

PAGE
83
83
83
84
84
85
86
87
87
87
88
88
89
89
90
92
92
93
95
95
96
96
96
99
101
102
103
104
104
107
109
110
111
112
112
115
117
118
119
120
121
121
121
121

５．機能説明5-1. ドライブ仕様
5-1-1. 入出力仕様(1) パルス出力仕様(2) サーボ対応機能
5-1-2. ドライブパラメータ(1) 第 1 パルス出力周期(2) 加減速パラメータ(3) JOG パラメータ
5-1-3. 基本ドライブ(1) JOG ドライブ
(2) SCAN ドライブ
(3) INDEX ドライブ

122
122
122
123
124
124
125
128
129
129
129
130

-7-

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

目
5-1-4. ORIGIN ドライブ
(1) ORIGIN ドライブ仕様(2) ORG-0 ドライブ型式(3) ORG-1 ドライブ型式(4) ORG-2 ドライブ型式(5) ORG-3 ドライブ型式(6) ORG-4,ORG-5 ドライブ型式(7) ORG-10 ドライブ型式(8) ORG-11 ドライブ型式(9) ORG-12 ドライブ型式
5-1-5. 補間ドライブ(1) 補間ドライブ仕様(2) 直線補間ドライブ(3) 円弧補間ドライブ(4) 線速一定制御
5-1-6. パルス出力停止機能(1) 減速停止機能(2) 即時停止機能(3) LIMIT 停止機能
5-1-7. エラー出力機能
5-1-8. 読み出し機能(1) ステータス読み出し(2) 設定データ読み出し(3) 出力中のドライブ速度読み出し(4) エラーステータス読み出し(5) カウントデータ読み出し
5-2. カウンタ仕様
5-2-1. エンコーダパルス入力方式
5-2-2. 外部パルス出力機能
5-2-3. アドレスカウンタ
5-2-4. パルスカウンタ
5-2-5. パルス偏差カウンタ
5-2-6. コンパレータ機能
5-3. I/O 仕様
5-3-1. ボード上の I/O PORT
(1) 汎用 I/O PORT
(2) 多用途入力信号

次

PAGE
131
131
135
137
139
140
141
144
145
146
147
147
147
148
150
151
151
151
151
152
154
154
154
154
154
154
155
155
156
158
159
160
162
164
164
164
165

６． 付録
6-1. 初期仕様一覧(1) 基本設定(2) 基本ドライブパラメータ
6-2. 関数一覧
6-3. ドライブコマンド一覧(1) 汎用コマンド(2) 特殊コマンド
6-4. ボード仕様一覧

166
166
167
168
170
170
171
173

７．トラブルシューティング

176

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

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

１．概要
1-1. 特徴● MPL-31-01v2.00/PCIW64 および MPL-31-02v1.00/PCIW64 は、 Windows パソコンの Windows 上で PCI またはPCI Express を介して弊社製ステッピング ＆ サーボモータコントローラボード C-VX870v1 シリーズ を動作させるための DLL ベースのドライバ関数です。
・ MPL-31-01v2.00/PCIW64 は、 Windows 10 x 64 対応版です。
・ MPL-31-02v1.00/PCIW64 は、 Windows 11 x 64 対応版です。
MPL-31-01v2.00/PCIW64 および MPL-31-02v1.00/PCIW64 は、画像処理などの高速化を目的とした Windows 64
ビット環境のモーションおよび I/O システムを可能にします。
● 各関数を使用してボードコントローラ上の MCC07E 、汎用 I/O 、 HARD CONFIGURATION(応用機能) の各 PORT にアクセスし、モータコントロールおよびI/Oコントロールを行います。
・ポートをアクセスするだけのシンプルな関数構造のため、原則、関数仕様によってモーション仕様が制限されることはありません。
・ MCC07E のコマンドの与え方によって、簡単な機能から応用的な機能に至るまで、用途に合わせた幅広いモーション制御を行うことができます。
MCC07E PORT/各軸

汎用 I/O PORT

HARD CONFIGURATION PORT・ DRIVE COMMAND PORT

・汎用出力 1 PORT・ HARD CONFIG COMMAND PORT・ DRIVE DATA1 PORT

・汎用出力 2 PORT・ HARD CONFIG DATA1 PORT・ DRIVE DATA2 PORT(OUTn0 ～ OUTn3)

・ HARD CONFIG DATA2 PORT・ DRIVE STATUS1 PORT

・汎用入力 1 PORT・ HARD CONFIG DATA3 PORT・ DRIVE STATUS2 PORT

・汎用入力 2 PORT・ HARD CONFIG STATUS1 PORT・ DRIVE STATUS3 PORT

(INn0 ～ INn3)

・ DRIVE STATUS4 PORT・ DRIVE STATUS5 PORT
各コントローラに対応

・ HARD CONFIG STATUS2 PORT・ HARD CONFIG STATUS3 PORT・ HARD CONFIG STATUS4 PORT

4 軸と 8 軸コントローラに対応 各コントローラに対応(応用機能)
汎用入出力 2 PORT は
8 軸コントローラのみ対応●

デバイスドライバで実現する次の機能が用意されています。
SPEED･RATE 関数
・加減速ドライブに必要な速度パラメータおよび第 1 パルス出力周期を 1Hz 単位で設定します。
・加減速ドライブに必要な加減速時定数(ms/kHz)を RATE テーブル表から選択し設定します。
ORIGIN 関数
機械原点検出完了までの一連のシーケンスを実現します。
補間関数
・相対アドレスで指定された目的地まで、 2 軸直線補間ドライブを行います。
・相対アドレスで指定された中心点と目的地で 2 軸円弧補間ドライブを行います。
・絶対アドレスから相対アドレスに変換する関数により、絶対アドレスでの補間ドライブが可能です。
・通過点、目的地から円の中心点を求める関数により、通過点と目的地による円弧補間ドライブが可能です。

-9-

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
1-2. サポート環境
項目
サポート OSMPL-31-01v2.00/PCIW64
・ Microsoft Windows 10 (x64)

サポート言語・ Microsoft Visual Basic
・ Microsoft Visual C#
・ Microsoft Visual C++

サポート製品《 PCI 》
・ C-VX870v1
・ C-VX871v1
・ C-VX872v1
・ C-VX873v1

MPL-31-02v1.00/PCIW64
・ Microsoft Windows 11 (x64)2015 ～ 2022
2015 ～ 2022
2015 ～ 2022

・ Microsoft Visual Basic
・ Microsoft Visual C#
・ Microsoft Visual C++

*1

2022
2022
2022

(4 軸)
(6 軸)
(8 軸)
(12 軸)《 PCI Express 》
・ C-VX870Ev1 (4 軸)・ C-VX871Ev1 (6 軸)
その他

・スロット同時使用可能数
・マルチプロセス
・マルチスレッド・割り込みレベル: 10 枚*4:対応:対応(HARD CONFIG 部は除く):1 点使用*1 : Windows 10 及び 11 は、バージョン 21H2 まで対応しています。
*2 :Visual C# は、 MPL-31/PCIW64 から一部の引数、メンバ、戻り値の改訂があります。
詳しくは、 2-5.章 「構造体・関数の見方」をご覧ください。
*3 : アンマネージコードです。
*4 : スイッチ(S1)によるボード番号は、 0 ～ 9 を指定します。
（ v1 製品において A~F は No.9 扱いとなります。）

1-3. ソフト開発に必要なファイル
ユーザアプリケーション開発に必要な下記のファイルは、弊社ホームページからダウンロードすることができます。
言語
Visual Basic
Visual C++

Visual C#

関数定義ファイル
ヘッダファイル
ライブラリファイル
ヘッダファイル

ファイル\Bin\Vb.NET\Mc07A.vb\Bin\Vc\Mc07A.h\Bin\Vc\x64\VcMc07A.lib\Bin\Vc\x86\VcMc07A.lib\Bin\C#.Net\Mc07A.cs- 10 -*2*3

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
1-4. システムの構成
パソコンには、最大 10 枚の C-VX870v1 シリーズ製品を接続することができます。
● C-VX870v1 シリーズには、 PCI バスおよび Express に対応した製品、および 4 軸/8 軸系と 6 軸/12 軸系の中から、制御軸数やエンコーダ仕様などに応じて選択することができます。
・各製品に適合する、信号接続ケーブル(1m,2m,3m,5m)および中継器を用意しています。
・ 4 軸系製品には、汎用 I/O が 4 点/4 点あります。
8 軸系製品には、、汎用 I/O が(4 点/4 点)× 2 あります。
・これらの汎用 I/O は、 I/O PORT 関数で制御できます。

C-VX870v1 シリーズ

モータドライバ(SM:サーボ, PM:ステッピング)

Ex p r e s s
Wi n d o w s 用 デバイ スド ラ イ バ

中継器
専用ケーブルC-VX871Ev1など(1m,2m,3m,5m)

C-VX870v1

SM
6 軸(サーボまたはステッピング)
PM

SM

など

4 軸(4 軸× 1)
PM

P CI

ユーザ アプリ ケーショ ン

最大 10 枚C-VX872v1(サーボまたはステッピング)

SMなど

8 軸(4 軸× 2)
PM

C-VX873v1(サーボまたはステッピング)

SMなど

12 軸(6 軸× 2)
PM(サーボまたはステッピング)

1-5. システムの制御
ユーザアプリケーションは、デバイスドライバの関数を使用して、次の制御を行うことができます。
・ボード上の各軸(デバイス)や I/O PORT の制御(1) ボード上のデバイスおよび I/O の制御
次の表に示す関数により、デバイスおよび I/O の制御を行います。
使用する関数
デバイス関数必要なハンドル
デバイスハンドル（デバイスオープン関数）

アクセスの対象
1軸

I/O PORT 関数

PORT ハンドル（ I/O PORT オープン関数）

1 つの I/O PORT

- 11 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

２．関数仕様2-1. 関数体系
デバイスドライバの関数は主に、デバイス関数と I/O PORT 関数に分類されます。
・デバイス関数および I/O PORT 関数は、 MPL-31-01v1.00/PCIW64 と上位互換です。
・各関数仕様の詳細については、 3.章 「関数リファレンス」 をご覧ください。
一覧については、 6-2.章「関数一覧」をご覧ください。

(1) デバイス関数
MCC07E の 1 軸をデバイスと呼称します。
デバイス関数は、デバイスオープン関数で取得したデバイスハンドルにより、デバイスの制御を行うための関数群です。
デバイス関数は次のように分類されます。
分類
オープン/クローズ関数
エラークリア関数
MCC07E PORT アクセス関数
WAIT 関数SPEED･RATE 関数
補間ドライブ関数
ORIGIN ドライブ関数
割り込み関数 *1
HARD CONFIG 関数 *1
*1

応用機能編

説明
デバイスのオープンやクローズデバイスの動作エラーのクリア
MCC07E PORT の読み出しと書き込みデバイスの BUSY=0 または COMREG FULL=0 を待機SPEED パラメータと加減速時定数の設定
補間ドライブの演算と制御
ORIGIN ドライブの制御
割り込みの制御
HARD CONFIGURATION PORT の読み出しと書き込みをご覧ください。

(2) I/O PORT 関数
I/O PORT 関数は、 I/O PORT オープン関数で取得した PORT ハンドルにより、 I/O PORT の制御を行うための関数群です。 I/O PORT 関数は次のように分類されます。
分類
オープン/クローズ関数
I/O PORT アクセス関数

説明
I/O PORT のオープンやクローズ
I/O PORT の読み出しと書き込み- 12 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書2-2. エラー
エラーには、関数エラーと動作エラーがあります。

(1) 関数エラー
関数実行時に発生するエラーです。
● C-VX870v1 シリーズ共通の関数エラー
項目
エラー内容
検出方法
インターロック
エラークリア

説明
パラメータの異常や、他の様々な要因が発生したエラーです。
関数がエラー終了し、 RESULT 構造体のメンバ MC07_Result ［ 1 ］に要因を通知します。
－(インターロックはされません)－(2) 動作エラー
C-VX870v1 シリーズ共通で動作実行時に発生するエラーです。動作エラーには、 ORIGIN ドライブエラーと MCC07E のエラーがあります。
● ORIGIN ドライブのエラー
項目
エラー内容
検出方法
インターロック

エラークリア説明
ORIGIN ドライブ関数による ORIGIN ドライブ中に発生したエラーです。
ORIGIN STATUS に ERROR=1 および ERROR 要因を通知します。
次の処理が実行できなくなります。
・ MCC07E ドライブコマンドの汎用コマンドの実行
・ SPEED･RATE セット関数の実行・メインチップ 2 軸相対アドレス直線補間ドライブ関数の実行・メインチップ 2 軸相対アドレス円弧補間ドライブ関数の実行
・ ORIGIN ドライブ関数の実行
動作エラークリア関数の実行でクリアします。

● MCC07E のエラー
項目
エラー内容

説明
MCC07E で発生したエラーです。

検出方法

DRIVE STATUS1 PORT に ERROR=1 通知します。
MCC07E の ERROR STATUS READ COMMAND で ERROR 要因を確認することができます。
次の処理が実行できなくなります。
・ MCC07E ドライブコマンドの汎用コマンドの実行
・ SPEED･RATE セット関数の実行・メインチップ 2 軸相対アドレス直線補間ドライブ関数の実行・メインチップ 2 軸相対アドレス円弧補間ドライブ関数の実行
・ ORIGIN ドライブ関数の実行
動作エラークリア関数の実行でクリアします。 *2

インターロック

エラークリア*2 動作エラークリア関数を実行したときに、エラー要因が継続しているときはエラーを再検出します。
動作エラーが検出された場合は、動作エラークリア関数を実行する前に MCC07E の ERROR STATUS READ
コマンドにて ERROR STATUS を読み出し、エラー要因が取り除かれていることを確認してから動作エラークリア
関数を実行してください。

- 13 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書2-3. シーケンス
全体シーケンス、デバイス制御シーケンス、 I/O PORT 制御シーケンスを示します。
このシーケンスには、関数エラーが発生した場合のフローは含まれていません。

2-3-1. 全体シーケンス(1) ボードコントローラ
ユーザアプリケーションの開始から終了までの全体シーケンス例を示します。
デバイスオープン, I/O PORT オープン関数で、
デバイス, I/O PORT をオープンします。

オープンデバイス, I/O PORT を制御します。
詳細は、デバイス制御シーケンス, I/O PORT 制御シーケンスをご覧ください。

デバイス制御I/O PORT 制御

動作エラー?
Yes

No

動作エラーが発生した場合は、エラー要因を ERROR STATUS READ
コマンドで読み出して確認します。

エラー要因の解決

エラー要因を解決してください。

動作エラークリア

動作エラークリア関数で動作エラーをクリアします。

終了?
No

Yes
クローズ

デバイスクローズ関数, I/O PORT クローズ関数で、
デバイス, I/O PORT をクローズします。

エラーを検出した場合はエラー処理を行ってください。
・エラー発生要因は ERROR STUTUS READ コマンドで読み出すことができます。
・エラー発生要因は個別にマスクすることができます。詳しくは ERROR STATUS MASK コマンドをご覧ください。
・ ERROR = 1 の間はドライブコマンドの書き込みが無効になり、インターロック状態になります。
・再スタート時は、エラー要因を取り除いてから、動作エラークリア関数を実行してインターロック状態を解除します。

- 14 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
2-3-2. 各制御シーケンス(1) デバイス制御シーケンス
デバイス関数でデバイスを制御するためのシーケンス例を示します。
デバイス関数で次の処理をする場合、 DRIVE STATUS1 PORT の ERROR = 0 と BUSY = 0 の確認が必要です。
・ MCC07E ドライブコマンドの汎用コマンドの実行
・ SPEED･RATE セット関数の実行・メインチップ 2 軸相対アドレス直線補間ドライブ関数の実行・メインチップ 2 軸相対アドレス円弧補間ドライブ関数の実行
・ ORIGIN ドライブ関数の実行

STATUS1 PORT 読み出し

STATUS1 PORTERROR = 0?
Yes

No

DRIVE STATUS1 PORT を読み出します。

動作エラー

STATUS1 PORTBUSY = 0?
Yes

DRIVE STATUS1 PORT の BUSY = 0 を確認します。

デバイス関数実行

目的のデバイス関数を実行します。

STATUS1 PORT 読み出し

No

DRIVE STATUS1 PORT を読み出します。

STATUS1 PORTBUSY = 0?
Yes
STATUS1 PORTERROR = 0?
Yes

DRIVE STATUS1 PORT の ERROR = 0 を確認します。

No

DRIVE STATUS1 PORT の BUSY = 0 を確認します。

動作エラー

No

DRIVE STATUS1 PORT の ERROR = 0 を確認します。
* ORIGIN ドライブ関数実行後は ORIGIN STATUS のORIGINE RROR=0 を確認します。

正常終了
・ MCC07E の特殊コマンドについては、 DRIVE STATUS1 PORT BUSY = 0 によらず常時実行可能です。

(2) I/O PORT 制御シーケンス
ボードコントローラ上にある I/O PORT を I/O PORT 関数で制御するためのシーケンス例を示します。

I/O PORT 関数実行

目的の I/O PORT 関数を実行します。

正常終了(3) MCC07E の実行シーケンス
MCC07E 実行シーケンスの詳細については、 4.章 「コマンド仕様」をご覧ください。

- 15 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書2-4. システムプログラミング
2-4-1. ボードコントローラ(1) マルチプロセス対応
HARD CONFIGURATION および割り込みは、マルチプロセスに対応していません。
下記は HARD CONFIGURATION および割り込みを除いた説明です。
複数のプロセスが、それぞれ異なる軸などを対象に制御することができます。
軸を制御する例
プロセス A

プロセス B軸 1 のデバイスハンドル

軸1軸 2 のデバイスハンドル

軸2(2) マルチスレッド対応
HARD CONFIGURATION は、マルチスレッドに対応していません。
下記は HARD CONFIGURATION を除いた説明です。
●マルチスレッド対応 1
複数のスレッドが、それぞれ異なる軸などを対象に制御することができます。
軸を制御する例
プロセス
スレッド A

スレッド B軸 1 のデバイスハンドル

軸1軸 2 のデバイスハンドル

軸2●マルチスレッド対応 2
複数のスレッドが、同一の軸などを対象に制御することができます。
軸を制御する例
プロセス
スレッド A

スレッド B軸 1 のデバイスハンドル

軸 1 のデバイスハンドル

軸1* READY WAIT 関数または COMREG NOT FULL WAIT 関数(応用機能)を実行中に同じデバイスに対して再度
READY WAIT 関数または COMREG NOT FULL WAIT 関数(応用機能)を実行することはできません。
* 1 つのデバイスに対しては、オープン→アクセス→クローズの流れを守ってください。
* 同一のボードコントローラに属する軸などを対象にマルチプロセスやマルチスレッドで制御する場合は、アクセスの競合が発生しないように、ユーザアプリケーションで同期処理を行ってください。

- 16 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書2-5. 構造体・関数の見方(1) 構造体○○○○構造体 ← 構造体の名称○○○○← 構造体が対応するコントローラの名称

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

書 式
C言語･････････････････
VB.NET ･････････････････
C#.NET ･････････････････→ C言語(Visual C++)で構造体を使用するときの定義→ Visual Basicで構造体を使用するときの定義→ Visual C#で構造体を使用するときの定義

メンバ・・・・・・・・・・・・・・・・・・・・・・・・→ 構造体のメンバに格納される値の説明(2) 関数○○○○関数 ← 関数の名称○○○○← 関数が対応するコントローラの名称

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

書 式
C言語･････････････････
VB.NET ･････････････････
C#.NET ･････････････････→ C言語(Visual C++)で、関数を使用するときの定義→ Visual Basicで関数を使用するときの定義→ Visual C#で構造体を使用するときの定義

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

戻り値・・・・・・・・・・・・・・・・・・・・・・・・→ 関数の戻り値の説明●コントローラ名称一覧表
名称

品名

定格

備考

搭載 PG

C-VX870v1

コントローラC-VX870v1

PCI 4 軸ステッピング/サーボコントローラ(エンコーダ入力あり)

MCC07E

C-VX871v1

コントローラC-VX871v1

PCI 6 軸ステッピング/サーボコントローラ(エンコーダ入力なし)

MCC07E

C-VX872v1

コントローラC-VX872v1

PCI 8 軸ステッピング/サーボコントローラ(エンコーダ入力あり)

MCC07E

C-VX873v1

コントローラC-VX873v1

PCI 12 軸ステッピング/サーボコントローラ(エンコーダ入力なし)

MCC07E

C-VX870Ev1

コントローラC-VX870Ev1

PCI Express 4 軸ステッピング/サーボコントローラ(エンコーダ入力あり)

MCC07E

C-VX871Ev1

コントローラC-VX871Ev1

PCI Express 6 軸ステッピング/サーボコントローラ(エンコーダ入力なし)

MCC07E- 17 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) Visual Basic でのプログラミング●構造体の初期化
配列を含む構造体は、 Initialize メソッドにより配列を作成します。
構造体
RESULT構造体
データ構造体MC07_S_RESULT
MC07_S_DATA

Initializeメソッドの書式
Public Sub Initialize()(4) Visual C#でのプログラミング●構造体の初期化
配列を含む構造体は、コンストラクタにより配列を作成します。
構造体
RESULT構造体
データ構造体MC07_S_RESULT
MC07_S_DATA

コンストラクタの書式
Public MC07_S_RESULT(ushort dummy);
Public MC07_S_DATA_BUF(ushort dummy);*コンストラクタの引数dummyは何を指定しても無効です。
●名前空間利用できる構造体、関数は、名前空間 MELEC にあります。
●定数
本リファレンスに示される定数 MC07_XXXX は、全て MC07.MC07_XXXX のように指定します。
(例)
リファレンスに示す定数
MC07_X
MC07_IO_IN_PORT1

Visual C#.NETでの指定
MC07.MC07_X
MC07.MC07_IO_IN_PORT1【注意】
Visual C# において、従来 MPL-31/PCIW64 と MPL-31-01v1.00/PCIW64, MPL-31-01v2.00/PCIW64 では、
下記構造体/関数名のメンバ/引数/戻り値について変更を行っています。
従来 MPL-31/PCIW64 で Visual C# をお使いになっていたお客様についてはキャスト処理が必要ですので御注意ください。
構造体名/関数名

MPL-31-01v1.00/PCIW64

メンバ/引数/戻り値

MPL-31/PCIW64

MPL-31-01v2.00/PCIW64
SPEED･RATE 構造体

メンバ Fspd
メンバ HighSpeed
メンバ LowSpeed
メンバ EndLowSpeeduint 型

int 型

uint 型

int 型

ushort 型

short 型

uint 型

int 型

uint 型

int 型

uint 型

int 型

メンバ SUArea
メンバ SDArea
メンバ URateNo
メンバ DRateNo
ORIGIN MARGIN PULSE SET 関数

引数 MarginPulse

ORIGIN DELAY SET 関数

引数 LimitDelay
引数 ScanDelay
引数 PulseDelay

ORIGIN ERROR PULSE SET 関数

引数 CscanErrorPulse
引数 PulseErrorPulse

ORIGIN OFFSET PULSE SET 関数

引数 OffsetPulse

相対アドレス変換関数

引数 hDevX
引数 hDevY

データセット関数(応用機能)

引数 Datauint 型

int 型

データゲット関数(応用機能)

戻り値

uint 型

int 型- 18 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(5) C 言語でのプログラミング
RESULT 構造体の NULL ポインタは、 Visual C++ では、関数を実行する際、 psResult（ RESULT 構造体のポインタ）に NULL ポインタを指定することができます。
NULL ポインタを指定すると、実行結果は格納されません。

(6) 言語固有の仕様
多くの関数は、戻り値としてブール型の値を返します。
ブール型の戻り値は以下になります。
言語型

Visual C++

BOOL

ブール型の戻り値
TRUE （真）FALSE （偽）
TRUE
FALSE

Visual Basic

Boolean

True

False

Visual C#

bool

true

false

詳細は、各関数の書式をご覧ください。

- 19 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書2-6. 制限事項(1) ユーザアプリケーションからの MCC07E COMMAND 書き込み
ユーザアプリケーションのミスによるトラブルを防止するために、ユーザアプリケーションが MCC07E に書き込もうとしたコマンドに対して次の制限を行っています。
■ユーザアプリケーションが以下の MCC07E コマンドを書き込もうとした場合、コマンドは無効です。
MCC07E に書き込みは行われません。
・ INT FACTOR MASK コマンド・ ERRINT STATUS MASK コマンド
■ユーザアプリケーションから SPEC INITIALIZE2 コマンドを使用して、 RDYINT TYPE を「 DRIVE STATUS1 PORT の BUSY = 1 → 0 のエッジ検出で、 RDYINT = 1 にする」に設定することはできませんのでご注意ください。この場合、無条件に出力しないに設定されます。

(2) ORIGIN ドライブ中
ORIGIN ドライブの仕様実現、またはトラブルを防止するため、次の処理を行っています。
■ ORIGIN ドライブ実行中は、次に示すコマンドのみ受付ます。
他の汎用コマンド(コマンド予約機能を含む)および特殊コマンドは無効となります。
・ ADDRESS COUNTER READ コマンド・ ADDRESS LATCH DATA READ コマンド
・ DFL COUNTER READ コマンド
・ DFL LATCH DATA READ コマンド・ MCC SPEED READ コマンド・ SLOW STOP コマンド・ FAST STOP コマンド
■ ORIGIN ドライブ実行時に MCC07E に設定されている以下のコマンドによる設定内容をチェックし、次に示す設定が行われていた場合は関数エラーとなります。
・SPEC INITIALIZE2 コマンド
SS0 TYPE:減速停止信号として使用する。または即時停止信号として使用する。
SS1 TYPE:減速停止信号として使用する。または即時停止信号として使用する。
■ ORIGIN ドライブ中、各種カウンタのコンパレータの一致による停止機能は無効となります。
ORIGIN ドライブがコンパレータの一致によって停止することはありません。
■ ORIGIN ドライブ中、PULSE COUNTER は使用できません。
■ ORIGIN ドライブ中、ユーザアプリケーションが設定した ERROR STATUS MASK は無効となります。
ORIGIN ドライブが終了すると ERROR STATUS MASK はユーザアプリケーションが設定した状態に戻ります。

(3) ORIGIN ドライブ STATUS
ORIGIN STATUS は、デバイスドライバで管理している STATUS です。
よって STATUS の内容は MCC07E の機能とは、無関係です。
例. ERROR STATUS MASK COMMAND で FSEND ERROR MASK=0 に設定されているとき、 ORIGIN ドライブがORIGIN STATUS FSEND = 1 で終了しても、 DRIVE STATUS1 PORT ERROR = 1 にならない場合がありますのでご注意ください。

(4) ボード No.の設定
当デバイスドライバを使用すると、最大 10 枚のボードコントローラを制御することが可能です。
複数枚のボードコントローラを使用するときは、各ボードコントローラ上のボード No.(S1 スイッチ設定)は、必ず異なる設定にしてください。

- 20 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

３．関数リファレンス
3-1. RESULT 構造体
RESULT構造体
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

説 明
関数を実行した結果が格納されます。
書 式
C言語
typedef struct MC07_TAG_S_RESULT {WORD MC07_Result[4];} MC07_S_RESULT;VB.NET

Structure MC07_S_RESULT<MarshalAs(UnmanagedType.ByValArray, SizeConst:=4)> Public MC07_Result() As Short
Public Sub Initialize()
ReDim MC07_Result(4)End Sub
End Structure

C#.NET

struct MC07_S_RESULT{[MarshalAs( UnmanagedType.ByValArray, SizeConst=4 )] public ushort[] MC07_Result;public MC07_S_RESULT( ushort dummy ){MC07_Result = new ushort[4];
}
}

メンバ

MC07_Result[0]MC07_Result[1]･･･ 0が読み出されます。
･･･ 実行結果を示します。(値は10進表記です。)

値

実行結果

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

関数の実行が正常に終了しました。
カーネルドライバ内でAPIエラーが発生しました。
DLL内部でAPIエラーが発生しました。
NULLポインタが指定されました。
デバイスドライバファイルがロードされていません。
指定されたボード番号に誤りがあります。
軸の指定に誤りがあります。
デバイスハンドルまたは I/O PORT ハンドルの内容が異常です。
デバイスハンドルで示されている軸がX/Z/B軸のいずれかではありません。
デバイスに空きがないため、オープンできません。
デバイスハンドルで示されている軸がY/A/C軸のいずれかではありません。
指定されたデバイスまたは I/O PORT はオープンされていません。
2つのデバイスハンドルで示されている軸が同一チップではありません。
指定されたデバイスまたは I/O PORT は既にオープンされています。
デバイスハンドルで示される軸がX/Yのいずれかではありません。
READY WAIT関数またはCOMREG NOT FULL WAIT関数がTIME OVERで終了しています。

- 21 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
値

実行結果

16
17
18
19
20
21
22
30
31
32
33
34
35
36
38
40

WM_QUITメッセージを受信しました。
READY WAIT中またはCOMREG NOT FULL WAIT中にREADY WAIT中止関数が実行されました。
同一デバイスのREADY WAIT関数またはCOMREG NOT FULL WAIT関数が複数同時に実行されました。
ボードが1枚も検出できません。
検出したボード枚数が10枚を超えました。
指定されたボード番号に該当するボードがありません。
ボード番号が重複しています。
DRIVE STATUS1 PORTのERROR BITが1になっているため関数をエラー終了しました。
指定したINT FACTORは既に設定されています。
割り込みがクローズされていません。
INT FACTORの指定に誤りがあります。
実行しようとした関数は指定されたボードでは実行できません。
割り込みがオープンされていません。
INT FACTORの設定が行われていません。
I/O PORTに指定された操作をすることができません。
COMREG NOT FULL WAIT関数でWAIT中にDRIVE STATUS1 PORTのERROR BITが1になった為、
WAITを中止しました。
ADDRESS COUNTERがオーバーフローしているため関数が実行できません。
指定された座標の一方または両方が-8,388,608～8,388,607の設定範囲を越えています。
ドライブ方向の指定に誤りがあります。
ORG TYPEの指定に誤りがあります。
RESOL No.が設定範囲を越えています。
SPEC INITIALIZE2 COMMANDまたはSPEC INITIALIZE3 COMMANDを使用して、ORIGINドライブで許可されていない設定が行われています。
円弧の中心点座標が(0, 0)または中心点と目的地が同一座標です。
円弧補間で求めた短軸PULSE数が-2,147,483,648～+2,147,483,647の範囲内でありません。
通過点相対アドレスまたは目的地相対アドレスが(0, 0)です。または通過点と目的地が同一です。
現在位置、通過点、目的地が直線上にあります。
現在位置から中心点までの相対アドレスが-8,388,608～8,388,607の範囲を越えています。

45
50
51
52
53
54
60
61
62
63
64

MC07_Result[3]･･･ 将来の拡張用です。(0が読み出されます。)

・VB.NETの MC07_Result(0)～(3)は、C言語の MC07_Result［0］～［3］ に対応します。
・C#.NETの MC07_Result［0］～［3］ は、C言語の MC07_Result［0］～［3］ に対応します。

- 22 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書3-2. デバイス関数
MCC07E の 1 軸をデバイスと呼称します。
デバイスオープン関数で取得したデバイスハンドルにより、デバイスを制御します。

3-2-1.デバイスオープン/クローズ関数
ユーザアプリケーションは、デバイスオープンし、デバイスハンドルを受け取ります。
以後、デバイス関数を実行する際に、このデバイスハンドルを引数として渡します。
このデバイスハンドルは、デバイスをクローズするまで有効です。
ユーザアプリケーション終了時は、必ずデバイスをクローズしてください。

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

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能デバイスをオープンし、引数 phDevで示される変数にデバイスハンドルを格納します。
書 式
C言語
BOOL MC07_BOpen(WORD BoardNo, WORD Axis, DWORD *phDev, MC07_S_RESULT * psResult);
VB.NET

Function MC07_BOpen(ByVal BoardNo As Short, ByVal Axis As Short, ByRef phDev As Integer,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BOpen(ushort BoardNo, ushort Axis, ref uint phDev, ref MC07_S_RESULT psResult);

引

数

BoardNo
Axis･･･ ボード番号(0～9)を指定します。
･･･ 軸を指定します。
・C-VX870v1
・C-VX870Ev1
引数 Axisの値
MC07_X
MC07_Y
MC07_Z
MC07_A

・C-VX871v1
・C-VX871Ev1
引数 Axisの値
MC07_X
MC07_Y
MC07_Z
MC07_A
MC07_B
MC07_C

軸
X軸
Y軸
Z軸
A軸

・C-VX872v1
引数 Axisの値
MC07_X1
MC07_Y1
MC07_Z1
MC07_A1
MC07_X2
MC07_Y2
MC07_Z2
MC07_A2

phDev
psResult

軸
X軸
Y軸
Z軸
A軸
B軸
C軸

・C-VX873v1
引数 Axisの値
MC07_X1
MC07_Y1
MC07_Z1
MC07_A1
MC07_B1
MC07_C1
MC07_X2
MC07_Y2
MC07_Z2
MC07_A2
MC07_B2
MC07_C2

軸
X1軸
Y1軸
Z1軸
A1軸
X2軸
Y2軸
Z2軸
A2軸

軸
X1軸
Y1軸
Z1軸
A1軸
B1軸
C1軸
X2軸
Y2軸
Z2軸
A2軸
B2軸
C2軸

･･･ デバイスハンドルが格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 23 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

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

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスをクローズします。
書 式
C言語
BOOL MC07_BClose(DWORD hDev, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BClose(ByVal hDev As Integer, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BClose(uint hDev, ref MC07_S_RESULT psResult);

引

数

hDev
psResult･･･ デバイスハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 24 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
3-2-2. 動作エラークリア関数
動作エラーをクリアします。
動作エラーが検出された場合は、エラー要因を確認し、その要因を取り除いてから動作エラークリア関数を実行します。
動作エラークリア関数が実行されるまで、その他の関数実行は正常に行われません。

動作エラークリア関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスの動作エラーをクリアします。
書 式
C言語
BOOL MC07_ClrError(DWORD hDev, MC07_S_RESULT *psResult);
VB.NET

Function MC07_ClrError(ByVal hDev As Integer, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.ClrError(uint hDev, ref MC07_S_RESULT psResult);

引

数

hDev
psResult･･･ デバイスハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 25 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
3-2-3.MCC07E PORT アクセス関数
MCC07E PORT の読み出しと書き込みを行います。

■ DRIVE COMMAND PORT
DRIVE COMMAND を書き込む PORT です。この PORT に DRIVE COMMAND を書き込むと、データの設定
またはドライブの実行を行います。
書き込む DRIVE COMMAND は下位 8 ビットのみ有効です。上位 8 ビットは無視します。
DRIVE COMMAND には、汎用コマンド（ H'00 ～ H'7F ）と特殊コマンド（ H'80 ～ H'FF ）があります。
●汎用コマンドの書き込み
汎用コマンドは DRIVE STATUS1 PORT の BUSY = 0 、 ERROR = 0 の時に書き込むことができます。
汎用コマンドの内、補間ドライブの 2 軸相関コマンドについては、相関軸両軸の BUSY = 0 、 ERROR = 0 の時に書き込むことができます。
当製品での相関軸は以下の通りです。

C-VX870v1
C-VX870Ev1
MCC07E
MCC07E

X軸
Y軸
Z軸
A軸

C-VX871v1
C-VX871Ev1
相関軸

MCC07E

相関軸

MCC07E
MCC07E

X軸
Y軸
Z軸
A軸
B軸
C軸

C-VX872v1
相関軸

MCC07E

相関軸

MCC07E

相関軸

MCC07E
MCC07E

X1 軸
Y1 軸
Z1 軸
A1 軸
X2 軸
Y2 軸
Z2 軸
A2 軸

C-VX873v1
相関軸

MCC07E

相関軸

MCC07E

相関軸

MCC07E

相関軸

MCC07E
MCC07E
MCC07E

X1 軸
Y1 軸
Z1 軸
A1 軸
B1 軸
C1 軸
X2 軸
Y2 軸
Z2 軸
A2 軸
B2 軸
C2 軸

相関軸
相関軸
相関軸
相関軸
相関軸
相関軸

汎用コマンドはコマンド予約機能でコマンド実行を予約することができます。(応用機能)
汎用コマンドを予約する場合、 DRIVE STATUS1 PORT の COMREG FL = 0 、 ERROR = 0 の時に汎用コマンドを書き込むことができます。
2 軸相関コマンドを予約する場合、相関軸両軸の COMREG FL = 0 、 ERROR = 0 の時に書き込むことができます。

●特殊コマンドの書き込み
特殊コマンドの書き込みはドライブ CHANGE コマンド(応用機能)を除き、常時可能です。
特殊コマンドのドライブ CHANGE コマンドは、 DRIVE STATUS5 PORT の各フラグを確認して書き込みます。
・スピード系のドライブ CHANGE 設定コマンドは SPEED CSET = 0 の時に書き込むことができます。
・スピード系のドライブ CHANGE 実行コマンドは SPEED CBUSY = 0 の時に書き込むことができます。
・ INDEX CHANGE 設定コマンドは INDEX CSET = 0 の時に書き込むことができます。
・ INDEX CHANGE 実行コマンドは INDEX CBUSY = 0 の時に書き込むことができます。

■ DRIVE DATA PORT(書き込み)
DRIVE COMMAND の設定データ、または指定したドライブの動作データを書き込む PORT です。
この PORT への書き込みは常時可能です。

- 26 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ DRIVE STATUS PORT● DRIVE STATUS1 PORT
ドライブコントロールの現在の状態を表示する PORT です。読み出しは常時可能です。
詳細は「 DRIVE STATUS1 PORT 読み出し関数」をご覧ください。
● DRIVE STATUS2 PORT
外部入出力信号の状態を表示する PORT です。読み出しは常時可能です。
詳細は「 DRIVE STATUS2 PORT 読み出し関数」をご覧ください。
● DRIVE STATUS3 PORT
割り込み要求出力とステータス信号の状態を表示する PORT です。読み出しは常時可能です。
詳細は「 DRIVE STATUS3 PORT 読み出し関数」をご覧ください。
● DRIVE STATUS4 PORT
カウンタのコンパレータ出力状態とオーバーフローを表示する PORT です。読み出しは常時可能です。
詳細は「 DRIVE STATUS4 PORT 読み出し関数」をご覧ください。
● DRIVE STATUS5 PORT
入力信号とドライブ CHANGE 指令の現在の状態を表示する PORT です。読み出しは常時可能です。
詳細は「 DRIVE STATUS5 PORT 読み出し関数」をご覧ください。

■ DRIVE DATA PORT (読み出し)
各種データを読み出す PORT です。読み出しは常時可能です。
READ コマンドを DRIVE COMMAND PORT に書き込むと、該当データを DRIVE DATA1,2 PORT にセットします。
DRIVE DATA1,2 PORT にセットしたデータは次の READ コマンドの書き込みまで保持します。
新しいデータを読み出す場合は、都度 READ コマンドを実行してから読み出します。

- 27 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE COMMAND 32ビット一括 書き込み／読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE DATA1 PORT、DRIVE DATA2 PORT、DRIVE COMMAND PORTにデータ、コマンドを書き込んだ後、DRIVE DATA1 PORT、DRIVE DATA2 PORTの内容を読み出します。
デバイス毎のアクセスを1回の関数実行で処理することができます。
・設定データの読み出し
・出力中のドライブ速度の読み出し
・エラーステータスの読み出し
・各カウントデータの読み出し
書 式
C言語
BOOL MC07_LWRDrive(DWORD hDev, WORD Cmd, DWORD *pWriteData, DWORD *pReadData,
MC07_S_RESULT *psResult );VB.NET

Function MC07_LWRDrive(ByVal hDev As Integer, ByVal Cmd As Short, ByRef pWriteData As Integer,
ByRef pReadData As Integer, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.LWRDrive( uint hDev, ushort Cmd, ref uint pWriteData, ref uint pReadData,ref MC07_S_RESULT psResult );

引

数

hDev
Cmd
pWriteDatapReadData

psResult･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
書き込むデータの上位16ビットは、DRIVE DATA2 PORTに書き込まれます。
書き込むデータの下位16ビットは、DRIVE DATA1 PORTに書き込まれます。
･･･ 読み出した内容が格納される変数のポインタを指定します。
DRIVE DATA2 PORTの内容が変数の上位16ビットに格納されます。
DRIVE DATA1 PORTの内容が変数の下位16ビットに格納されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 28 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE COMMAND 32ビット 書き込み関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE DATA1 PORT、DRIVE DATA2 PORTにデータを書き込んだ後、コマンドを書き込みます。
書 式
C言語
BOOL MC07_LWDrive(DWORD hDev, WORD Cmd, DWORD *pData, MC07_S_RESULT *psResult);
VB.NET

Function MC07_LWDrive(ByVal hDev As Integer, ByVal Cmd As Short, ByRef pData As Integer,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.LWDrive(uint hDev, ushort Cmd, ref uint pData, ref MC07_S_RESULT psResult);

引

数

hDev
Cmd
pData

psResult･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
書き込むデータの上位16ビットは、DRIVE DATA2 PORTに書き込まれます。
書き込むデータの下位16ビットは、DRIVE DATA1 PORTに書き込まれます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 29 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

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

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

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

Function MC07_BWDriveCommand(ByVal hDev As Integer, ByRef pCmd As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BWDriveCommand(uint hDev, ref ushort pCmd, ref MC07_S_RESULT psResult);

引

数

hDev
pCmd
psResult･･･ デバイスハンドルを指定します。
･･･ 書き込むコマンドコードが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 30 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE DATA 32ビット書き込み関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE DATA1 PORT、DRIVE DATA2 PORTにデータを書き込みます。
書き込みは常時可能です。
書 式
C言語
BOOL MC07_LWData(DWORD hDev, DWORD *pData, MC07_S_RESULT *psResult);
VB.NET

Function MC07_LWData(ByVal hDev As Integer, ByRef pData As Integer,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.LWData(uint hDev, ref uint pData, ref MC07_S_RESULT psResult );

引

数

hDev
pData

psResult･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
書き込むデータの上位16ビットは、DRIVE DATA2 PORTに書き込まれます。
書き込むデータの下位16ビットは、DRIVE DATA1 PORTに書き込まれます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 31 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

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

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE DATA1 PORTにデータを書き込みます。
書き込みは常時可能です。
書 式
C言語
BOOL MC07_BWDriveData1(DWORD hDev, WORD *pData, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BWDriveData1(ByVal hDev As Integer, ByRef pData As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BWDriveData1(uint hDev, ref ushort pData, ref MC07_S_RESULT psResult);

引

数

hDev
pData
psResult･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 32 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

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

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE DATA2 PORTにデータを書き込みます。
書き込みは常時可能です。
書 式
C言語
BOOL MC07_BWDriveData2(DWORD hDev, WORD *pData, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BWDriveData2(ByVal hDev As Integer, ByRef pData As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BWDriveData2(uint hDev, ref ushort pData, ref MC07_S_RESULT psResult);

引

数

hDev
pData
psResult･･･ デバイスハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 33 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE STATUS1 PORT読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE STATUS1 PORTを読み出します。
ドライブコントロールの現在の状態を表示するPORTです。読み出しは常時可能です。
書 式
C言語
BOOL MC07_BRStatus1(DWORD hDev, WORD *pStatus, MC07_S_RESULT *psResult );VB.NET

Function MC07_BRStatus1(ByVal hDev As Integer, ByRef pStatus As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BRStatus1(uint hDev, ref ushort pStatus, ref MC07_S_RESULT psResult);

引

数

hDev
pStatus･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
DRIVE STATUS1 PORTの内容は、次に示す通りです。

D15

D14

COMREG

COMREG

FL

EP

D7
FSEND

D13

D12

D11
EXT

D10

D9

D8

CONST

DOWN

UP

PAUSE

MAN

D6

D5

D4

D3

D2

D1

D0

SSEND

LSEND

ERROR

DRVEND

DRIVE

STBY

BUSY

PULSE

D0 ：BUSY
1：コマンド処理中、またはドライブ実行中を示します。
0：コマンド入力待ちの状態を示します。
・2軸相関コマンド実行中は相関軸2軸ともBUSY=1となります。
・MAN=1またはEXT PULSE=1の時はBUSY=1となります。
D1 ：STBY
1：パルス出力の準備が完了した状態を示します。
・SPEC INITIALIZE3コマンドのSTBY解除条件の検出でSTBYをクリアしパルス出力を開始します。
・STBY=1中に停止指令を検出した場合、パルス出力は行わずドライブを終了し、STBYをクリアします。
D2 ：DRIVE
1：パルス出力中の状態を示します。
0：パルス出力停止中の状態を示します。
D3 ：DRVEND
1：パルス出力を伴う汎用コマンドが終了した状態を示します。
・停止指令の検出やエラーの発生により、パルス出力を行わずドライブを終了した場合でも
DRVEND=1とします。
・コマンド予約機能で予約コマンドを連続実行している間は、BUSY = 1、DRVEND = 0のままになります。
最後に実行するコマンドがパルス出力を伴う汎用コマンドの場合にのみ、ドライブ終了時のBUSY = 0と同時に、DRVEND = 1になります。
2軸補間ドライブ終了時は、各軸ともにDRVEND = 1になります。
・次の汎用コマンドの実行でクリアします。
・MANUAL SCANドライブの実行でもクリアします。

- 34 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D4 ：ERROR
1：エラーが発生した状態を示します。
・ERRORはERROR STATUSのOR(論理和)出力です。出力するERROR STATUSはERROR STATUS MASKコマンドで個別にマスクすることができます。
ERROR STATUSはERROR STATUS READコマンドで読み出すことができます。
・ERROR=1の間はCOMREG FL = 1、COMREG = 1となり汎用コマンドの書き込みが無効となります。
・ERRORは動作エラークリア関数でクリアします。但しERROR STATUSの検出条件が一致している間はクリアされません。
・補間ドライブでエラーが発生した場合、エラー該当軸がERROR=1となります。
D5 ：LSEND
1：LIMIT停止指令を検出した状態を示します。
・次のパルス出力を伴うコマンドの実行でクリアします。
・MANUAL SCAN DRIVEの実行でもクリアします。
・2軸補間ドライブでLIMIT停止指令を検出した場合、相関軸両軸がLSEND=1となります。
D6 ：SSEND
1：減速停止指令を検出した状態を示します。
・次のパルス出力を伴うコマンドの実行でクリアします。
・MANUAL SCAN DRIVEの実行でもクリアします。
・2軸補間ドライブで減速停止指令を検出した場合、相関軸両軸がSSEND = 1となります。
D7 ：FSEND
1：即時停止指令を検出した状態を示します。
・次のパルス出力を伴うコマンドの実行でクリアします。
・MANUAL SCAN DRIVEの実行でもクリアします。
・2軸補間ドライブで即時停止指令を検出した場合、相関軸両軸がFSEND = 1となります。
D8 ：UP
1：出力中のパルス速度が加速中であることを示します。
0：出力パルスが減速中または一定速中または停止中であることを示します。
D9 ：DOWN
1：出力中のパルス速度が減速中であることを示します。
0：出力パルスが加速中または一定速中または停止中であることを示します。
D10：CONST
1：出力中のパルス速度が一定速中であることを示します。
0：出力パルスが加速中または減速中または停止中であることを示します。
D11：EXT PULSE
1：出力パルスを「外部パルス信号」に設定している状態を示す。
0：出力パルスを「自軸発生パルス」に設定している状態を示す。
・出力パルスの設定はADDRESS COUNTER INITIALIZE1コマンドのCOUNT PULSE SELで行います。
D12：MAN(応用機能)
1：MANUALモードの状態であることを示す。
0：BUSモードの状態であることを示す。
・BUSY = 0の時にMAN信号 = Lを検出するとMANUALモードになります。
MAN信号 = HにするとBUSモードになります。
・MANUALモード中でのCWMS,CCWMS信号の操作によりMANUAL SCANドライブを行うことができます。
D13：PAUSE(応用機能)
1：待機指令中であることを示します。
・待機指令中はパルス出力の準備が完了してもパルス出力を行わずSTBY = 1を保持し待機します。
待機指令が解除されるとパルス出力を開始します。
・PAUSE信号は同期スタート機能で設定、操作することができます。

- 35 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D14：COMREG EP(応用機能)
1：予約レジスタが空(EMPTY)の状態を示します。
0：予約レジスタに1命令以上のコマンドを格納している状態を示します。
D15：COMREG FL(応用機能)
1：予約レジスタに10命令分のコマンドを格納している状態を示します。
0：予約レジスタに9命令以下のコマンドを格納している状態状態を示します。
・COMREG EPとCOMREG FLの関係は以下の状態を表します。

psResult

COMREG FL

COMREG EP

01

予約レジスタが空の状態(EMPTY)

状態

0

0

予約レジスタに1～9命令のコマンドを格納している状態

10

予約レジスタに10命令分のコマンドを格納している状態(FULL)

1

1

RESET中またはERROR=1の状態･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 36 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE STATUS2 PORT読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE STATUS2 PORTを読み出します。
外部入出力信号の状態を表示するPORTです。読み出しは常時可能です。
書 式
C言語
BOOL MC07_BRStatus2(DWORD hDev, WORD *pStatus, MC07_S_RESULT *psResult );VB.NET

Function MC07_BRStatus2(ByVal hDev As Integer, ByRef pStatus As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BRStatus2(uint hDev, ref ushort pStatus, ref MC07_S_RESULT psResult);

引

数

hDev
pStatus･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
DRIVE STATUS2 PORTの内容は、次に示す通りです。

D15

D14

D13

D12

D11

D10

D9

D8

DEND BUSYDALM

DEND/PO

DRST

0

NORG

ZORG

ORG

D7

D6

D5

D4

D3

D2

D1

D0

CCWLM

CWLM

FSSTOP

00

0

0RG SIGNAL

PULSE
MASK

D1 ：FSSTOP
1：FSSTOP入力信号、またはFSSTOP入力信号がアクティブレベルであることを示します。
D2 ：CWLM
1：CWLM入力信号がアクティブレベルであることを示します。
D3 ：CCWLM
1：CCWLM入力信号がアクティブレベルであることを示します。
D4 ：PULSE MASK
1：PULSE OUTPUT MASK = 1に設定している状態
・SPEC INITIALIZE1コマンドで、PULSE OUTPUT MASK = 1に設定している状態です。
D5 ：ORG SIGNAL
1：ORG合成信号がアクティブレベルであることを示します。
・ORIGIN SPEC SET関数のORG SIGNAL TYPEで設定している合成信号の状態です。
D8 ：ORG
1：ORG入力信号がアクティブレベルであることを示します。

- 37 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D9 ：ZORG
1：±ZORG入力信号がアクティブレベルであることを示します。
D10：NORG
1：NORG入力信号がアクティブレベルであることを示します。
D12：DRST
1：DRST出力信号がアクティブレベルであることを示します。
D13：DEND/PO
1：DEND/PO入力信号がアクティブレベルであることを示します。
D14：DALM
1：DALM入力信号がアクティブレベルであることを示します。
・SPEC INITIALIZE3コマンドでDALM入力信号を停止機能に設定することができます。
各軸DALM信号には、INn0(Xn軸), INn1(Yn軸), INn2(Zn軸), INn3(An軸)が割り付けられています。
なお、DALMは、汎用入力INnx信号を持たない製品では機能しません。
・INnx信号をDALM機能とした場合は、入力信号論理を切り替えることができます。(応用機能)
D15：DEND BUSY
1：パルス出力完了後、DEND/PO入力信号のアクティブレベル検出待ちの状態を示します。
・SPEC INITIALIZE3コマンドでDEND/PO入力信号を<サーボ対応>に設定している場合に有効です。

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

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

- 38 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE STATUS3 PORT読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE STATUS3 PORTを読み出します。
ステータス信号の状態を表示するPORTです。読み出しは常時可能です。
書 式
C言語
BOOL MC07_BRStatus3(DWORD hDev, WORD *pStatus, MC07_S_RESULT *psResult );VB.NET

Function MC07_BRStatus3(ByVal hDev As Integer, ByRef pStatus As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BRStatus3(uint hDev, ref ushort pStatus, ref MC07_S_RESULT psResult);

引

数

hDev
pStatus･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
DRIVE STATUS3 PORTの内容は、次に示す通りです。

D15

D14

D13

D12

D11

D10

D9

D8

(不定)

(不定)

(不定)

(不定)

0

0

FSSTOP

(不定)

D7

D6

D5

D4

D3

D2

D1

D0

0

0

OUT B

OUT A

0

0

0

INT

D0 ：INT(応用機能)
1：割り込み要求を出力中であることを示します。
・INTはドライブ終了,予約レジスタの状態,カウンタ一致検出など7の要因のOR(論理和)で出力します。
・INTは全ての出力要因がクリアされるとINT=0となります。
D4 ：OUT A(応用機能)
D5 ：OUT B(応用機能)
1：選択したステータスがアクティブレベルを出力中であることを示します。
・OUT A,B信号にはHARD INITIALIZE1コマンドによりそれぞれカウンタ一致検出やドライブコントロールの状態など15のステータスから1つを選択して出力することができます。
OUT A,B信号は同期スタート機能、多用途センサ機能、ステータス外部出力機能で使用できます。
D9 ：FSSTOP
1：FSSTOP入力信号、またはFSSTOP入力信号がアクティブレベルであることを示します。
・STATUS2 PORTのD1ビットと同じです。

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

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

- 39 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE STATUS4 PORT読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE STATUS4 PORTを読み出します。
カウンタのコンパレータ出力状態とオーバーフローを表示するPORTです。読み出しは常時可能です。
書 式
C言語
BOOL MC07_BRStatus4(DWORD hDev, WORD *pStatus, MC07_S_RESULT *psResult );VB.NET

Function MC07_BRStatus4(ByVal hDev As Integer, ByRef pStatus As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BRStatus4(uint hDev, ref ushort pStatus, ref MC07_S_RESULT psResult);

引

数

hDev
pStatus･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
DRIVE STATUS4 PORTの内容は、次に示す通りです。

D15
0

D14
0

D13
0

D12
0

D11

D10

D9

D8

DFL

DFLINTDFLINTDFLINT

OVF

COMP3

COMP2

COMP1

D7

D6

D5

D4

D3

D2

D1

D0

PULSE

CNTINT

CNTINT

CNTINT

ADDRESSADRINTADRINTADRINT

OVF

COMP3

COMP2

COMP1

OVF

COMP3

COMP2

COMP1

D0 ：ADRINT COMP1
1：アドレスカウンタの値がCOMPARE REGISTER1の検出条件と一致したことを示します。
D1 ：ADRINT COMP2
1：アドレスカウンタの値がCOMPARE REGISTER2の検出条件と一致したことを示します。
D2 ：ADRINT COMP3
1：アドレスカウンタの値がCOMPARE REGISTER3の検出条件と一致したことを示します。
・ADRINT COMP1,2,3の検出条件、およびクリア条件はADDRESS COUNTER INITIALIZE1,2コマンドで設定します。
D3 ：ADDRESS OVF
1：アドレスカウンタの値がオーバーフローしたことを示します。
・ADDRESS OVFはADDRESS COUNTER PRESETコマンドの実行でクリアします。
D4 ：CNTINT COMP1
1：パルスカウンタの値がCOMPARE REGISTER1の検出条件と一致したことを示します。
D5 ：CNTINT COMP2
1：パルスカウンタの値がCOMPARE REGISTER2の検出条件と一致したことを示します。
D6 ：CNTINT COMP3
1：パルスカウンタの値がCOMPARE REGISTER3の検出条件と一致したことを示します。
・CNTINT COMP1,2,3の検出条件、およびクリア条件はPULSE COUNTER INITIALIZE1,2コマンドで設定します。

- 40 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D7 ：PULSE OVF
1：パルスカウンタの値がオーバーフローしたことを示します。
・PULSE OVFはPULSE COUNTER PRESETコマンドの実行でクリアします。
D8 ：DFLINT COMP1
1：パルス偏差カウンタの値がCOMPARE REGISTER1の検出条件と一致したことを示します。
D9 ：DFLINT COMP2
1：パルス偏差カウンタの値がCOMPARE REGISTER2の検出条件と一致したことを示します。
D10：DFLINT COMP3
1：パルス偏差カウンタの値がCOMPARE REGISTER3の検出条件と一致したことを示します。
・DFLINT COMP1,2,3の検出条件、およびクリア条件はDFL COUNTER INITIALIZE1,2コマンドで設定します。
・DFLINTカウンタは、16ビットのハードカウンタとして応用できます。
ハードカウンタのCOMPARE REGISTER検出条件を取ることができます。
D11：DFL OVF
1：パルス偏差カウンタの値がオーバーフローしたことを示します。
・DFL OVFはDFL COUNTER PRESETコマンドの実行でクリアします。

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

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

- 41 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE STATUS5 PORT読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE STATUS5 PORTを読み出します。
入力信号とドライブCHANGE指令の現在の状態を表示するPORTです。読み出しは常時可能です。
書 式
C言語
BOOL MC07_BRStatus5(DWORD hDev, WORD *pStatus, MC07_S_RESULT *psResult );VB.NET

Function MC07_BRStatus5(ByVal hDev As Integer, ByRef pStatus As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BRStatus5(uint hDev, ref ushort pStatus, ref MC07_S_RESULT psResult);

引

数

hDev
pStatus･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
DRIVE STATUS5 PORTの内容は、次に示す通りです。

D15

D14

D13

D12

D11

D10

INDEX

INDEX

SPEED

SPEED

RATE

CPP

D9

D8

CSET

CBUSY

CSET

CBUSY

CSET

MASK

CPPOUT

CPPIN

D7

D6

D5

D4

D3

D2

D1

D0

EB1 *1EA1 *1EB0 *1EA0 *1

CCWMS

CWMS

SS1

SS0

D0 ：SS0(応用機能)
1：多用途センサ入力SS0がアクティブレベルであることを示します。
D1 ：SS1(応用機能)
1：多用途センサ入力SS1がアクティブレベルであることを示します。
・多用途センサ入力SS0,SS1は多用途センサ機能によりSENSORn0,n1入力信号、SIGNAL INn0,n1入力信号、
または任意軸のステータス信号(OUT A,B)を割り付けることができます。
但し、MANUALモード時は多用途センサ機能による割り付けは無効となり、J3コネクタのSS0,SS1
入力信号がSEL A～SEL D入力信号によるMANUAL SCANドライブ指定軸のSS0,SS1に接続されます。
D2 ：CWMS
1：CWMS入力信号がアクティブレベルであることを示します。
D3 ：CCWMS
1：CCWMS入力信号がアクティブレベルであることを示します。
・CWMS,CCWMSはMANUALモード時、SEL A～SEL D入力信号で指定された軸のみ有効です。
D4 ：EA0 *1
1：±EA入力信号がアクティブレベルであることを示します。
D5 ：EB0 *1
1：±EB入力信号がアクティブレベルであることを示します。
・Xn軸,Zn軸,Bn軸の場合、EA0,EB0に各軸±EA,±EB入力状態を示します。

- 42 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D6 ：EA1 *1
1：±EA入力信号がアクティブレベルであることを示します。
D7 ：EB1 *1
1：±EB入力信号がアクティブレベルであることを示します。
・Yn軸,An軸,Cn軸の場合、EA1,EB1に各軸±EA,±EB入力状態を示します。
*1 エンコーダ入力機能をサポートしていない製品があります。
詳しくは、6-4.章「ボード仕様一覧」をご覧ください。
D8 ：CPPIN(応用機能)
1：CPPIN信号の現在の入力状態がハイレベル入力中の状態
D9 ：CPPOUT(応用機能)
1：CPPOUT信号の現在の出力状態がハイレベル出力中の状態
0：STATUS1 PORTのERROR = 1→0でクリアします・サブ軸補間ドライブのCPPINマスク機能が動作すると、CPP MASK = 1になります。
CPPIN入力は、X, Y軸のCPP MASK = 1 のOR（論理和）でマスクします。
D10：CPP MASK(応用機能)
1：CPPIN入力のマスク状態がマスクしている状態
0：DRIVE STATUS1 PORTのERROR = 1→0でクリアします・サブ軸補間ドライブのCPPINマスク機能が動作すると、CPP MASK = 1になります。
CPPIN入力は、X, Y軸のCPP MASK = 1 のOR（論理和）でマスクします。
D11：RATE CSET(応用機能)
1：RATE CHANGE指令が待機中の状態を示します。
0：RATE CHANGE指令なしの状態を示します。
・待機中のCHANGE指令はスピード系ドライブCHANGE機能の変更動作点の検出で実行します。
RATE CHANGEコマンドはSPEED CBUSY = 0を確認してから実行してください。
D12：SPEED CBUSY(応用機能)
1：スピード系ドライブCHANGEの実行処理中を示します。
0：スピード系ドライブCHANGEの実行可能な状態を示します。
・ドライブCHANGEコマンドはSPEED CBUSY = 0を確認してから実行してください。
D13：SPEED CSET(応用機能)
1：スピード系ドライブCHANGE指令が待機中の状態を示します。
0：スピード系ドライブCHANGE指令なしの状態を示します。
・待機中のCHANGE指令は各CHANGE機能の変更動作点の検出で実行します。
ドライブCHANGE設定コマンドはSPEED CSET = 0を確認してから実行してください。
D14：INDEX CBUSY(応用機能)
1：INDEX CHANGEコマンドの実行処理中を示します。
0：INDEX CHANGEコマンドの実行可能な状態を示します。
・INDEX CHANGEコマンドはINDEX CBUSY = 0を確認してから実行してください。
D15：INDEX CSET(応用機能)
1：INDEX CHANGE指令が待機中の状態を示します。
0：INDEX CHANGE指令なしの状態を示します。
・待機中のCHANGE指令はINDEX CHANGE機能の変更動作点の検出で実行します。
INDEX CHANGE設定コマンドはINDEX CSET=0を確認してから実行してください。

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

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

- 43 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

DRIVE DATA 32ビット 一括読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのDRIVE DATA1 PORT、DRIVE DATA2 PORTを32ビットデータで読み出します。
書 式
C言語
BOOL MC07_LRDrive(DWORD hDev, DWORD *pData, MC07_S_RESULT *psResult);
VB.NET

Function MC07_LRDrive(ByVal hDev As Integer, ByRef pData As Integer,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.LRDrive(uint hDev, ref uint pData, ref MC07_S_RESULT psResult);

引

数

hDev
pData

psResult･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
DRIVE DATA2 PORTの内容が変数の上位16ビットに格納されます。
DRIVE DATA1 PORTの内容が変数の下位16ビットに格納されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 44 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

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

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

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

Function MC07_BRDriveData1(ByVal hDev As Integer, ByRef pData As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BRDriveData1(uint hDev, ref ushort pData, ref MC07_S_RESULT psResult);

引

数

hDev
pData
psResult･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 45 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

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

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

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

Function MC07_BRDriveData2(ByVal hDev As Integer, ByRef pData As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BRDriveData2(uint hDev, ref ushort pData, ref MC07_S_RESULT psResult);

引

数

hDev
pData
psResult･･･ デバイスハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 46 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
3-2-4.WAIT 関数
MCC07E はコマンドの処理中またはドライブ実行中のとき、 DRIVE STATUS1 PORT BUSY = 1 になります。
また、 MCC07E 上でエラーがあるときは、 DRIVE STATUS1 PORT ERROR = 1 になります。
MCC07E に汎用コマンドを書き込むときは、 DRIVE STATUS1 PORT 内の ERROR=0 および BUSY BIT = 0 をDRIVE STATUS1 PORT 読み出し関数で確認してからコマンドを書き込みます。
また、汎用コマンドを書き込みした後に、終了待ちを行います。
WAIT 関数は、この汎用コマンドを書き込みした後の終了待ちするときに用いる関数です。

READY WAIT関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスがREADY(DRIVE STATUS1 PORT BUSY BIT = 0）になるまで待機します。
最大待ち時間を超えるとエラー終了します。
書 式
C言語
BOOL MC07_BWaitDriveCommand(DWORD hDev, WORD WaitTime, MC07_S_RESULT * psResult);
VB.NET Function MC07_BWaitDriveCommand(ByVal hDev As Integer, ByVal WaitTime As Short,
ByRef psResult As MC07_S_RESULT) As Booleanbool MC07.BWaitDriveCommand(uint hDev, ushort WaitTime, ref MC07_S_RESULT psResult);

C#.NET
引数

hDev
WaitTime
psResult･･･ デバイスハンドルを指定します。
･･･ 最大待ち時間を1ms単位で設定します。0を指定するとREADYになるまで無限に待機します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 47 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

WAIT状態読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのWAIT状態を返します。
書 式
C言語
BOOL MC07_BIsWait(DWORD hDev, WORD *pWaitSts, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BIsWait(ByVal hDev As Integer, ByRef pWaitSts As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BIsWait(uint hDev, ref ushort pWaitSts, ref MC07_S_RESULT psResult);

引

数

hDev
pWaitSts･･･ デバイスハンドルを指定します。
･･･ WAIT関数の状態が格納される変数のポインタを指定します。

格納される値
01

psResult

意味
WAIT関数の実行中ではありません。
READY WAIT関数または、COMREG NOT FULL WAIT関数の実行中です。

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

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

- 48 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

WAIT中止関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスのREADY WAIT関数または、COMREG NOT FULL WAIT関数の実行を中止します。
書 式
C言語
BOOL MC07_BBreakWait(DWORD hDev, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BBreakWait(ByVal hDev As Integer, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BBreakWait(uint hDev, ref MC07_S_RESULT psResult);

引

数

hDev
psResult･･･ デバイスハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 49 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
3-2-5.SPEED ・ RATE 関数
SPEED・RATE構造体
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

説 明SPEED・RATEセット関数で使用します。
書 式
C言語
typedef struct _MC07_S_SPEED_RATE {DWORD FSpd;
DWORD HighSpeed;
DWORD LowSpeed;
DWORD EndLowSpeed;
DWORD SUArea;
DWORD SDArea;
DWORD URateNo;
DWORD DRateNo;} MC07_S_SPEED_RATE;
C#.NET

VB.NET

Structure MC07_S_SPEED_RATE {Public FSpd As Integer
Public HighSpeed As Integer
Public LowSpeed As Integer
Public EndLowSpeed As Integer
Public SUArea As Integer
Public SDArea As Integer
Public URateNo As Integer
Public DRateNo As Integer
End Structure

struct MC07_S_SPEED_RATE{
public uint FSpd;
public uint HighSpeed;
public uint LowSpeed;
public uint EndLowSpeed;
public uint SUArea;
public uint SDArea;
public uint URateNo;public uint DRateNo;
}

メンバ

FSpd
HighSpeed
LowSpeed
EndLowSpeed
SUAarea
SDAarea
URateNo
DRateNo

･･･ 第一パルスのパルス速度(×1Hz)
Windows起動後の初期値は、5,000(5,000Hz)です。
･･･ 最高速度(×1Hz)
Windows起動後の初期値は、3,000(3,000Hz)です。
･･･ 開始速度(×1Hz)
Windows起動後の初期値は、300(300Hz)です。
･･･ 終了速度(×1Hz)
Windows起動後の初期値は、0(LSPDと同じ)です。
･･･ SUAREA(×1Hz)
Windows起動後の初期値は、0(SUAREA変速領域なし)です。
･･･ SDAREA(×1Hz)
Windows起動後の初期値は、0(SDAREA変速領域なし)です。
･･･ URATE No. (5-1-2. 章ドライブパラメータ RATEテーブル表のRATE No.を参照してください。)
Windows起動後の初期値は、7(No.7)です。
･･･ DRATE No. (5-1-2. 章ドライブパラメータ RATEテーブル表のRATE No.を参照してください。)
Windows起動後の初期値は、7(No.7)です。

- 50 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

SPEED・RATEセット関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたRESOL No. とSPEED・RATE構造体をもとにSPEEDパラメータ設定機能および加減速時定数(RATE)設定機能を実行します。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
当関数をコマンド予約機能(応用機能)で使用する場合は、当関数を実行する前にDRIVE STATUS1 PORTのERROR = 0、およびCOMREG FL = 0を確認してください。
書 式
C言語
BOOL MC07_SetSpeedRate(DWORD hDev, WORD ResolNo, MC07_S_SPEED_RATE *psSpeedRate,
MC07_S_RESULT *psResult);
VB.NET

Function MC07_SetSpeedRate(ByVal hDev As Integer, ByVal ResolNo As Short,
ByRef psSpeedRate As MC07_S_SPEED_RATE, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.SetSpeedRate(uint hDev, ushort ResolNo, ref MC07_S_SPEED_RATE psSpeedRate,
ref MC07_S_RESULT psResult);

引

数

hDev
ResolNo
psSpeedRate
psResult･･･ デバイスハンドルを指定します。
･･･ RESOL No. (0～10)
5-1-2. 章ドライブパラメータのRATEテーブル表のRESOL No.を参照してください。
･･･ 第一パルスのパルス速度、最高速度、開始速度、終了速度、SUAREA、SDAREA、URATE No.、DRATE No.が格納されているSPEED・RATE構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 51 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

SPEED・RATE読み出し関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定されたデバイスからSPEEDパラメータ設定および加減速時定数(RATE)設定の値を読み出し、SPEED・RATE構造体に格納します。
書 式
C言語
BOOL MC07_ReadSpeedRate(DWORD hDev, WORD *pResolNo, MC07_S_SPEED_RATE *psSpeedRate,
MC07_S_RESULT *psResult);
VB.NET

Function MC07_ReadSpeedRate(ByVal hDev As Integer, ByRef pResolNo As Short,
ByRef psSpeedRate As MC07_S_SPEED_RATE, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.ReadSpeedRate(uint hDev, ref ushort pResolNo, ref MC07_S_SPEED_RATE psSpeedRate,
ref MC07_S_RESULT psResult);

引

数

hDev
pResolNo
psSpeedRate
psResult･･･ デバイスハンドルを指定します。
･･･ 読み出したRESOL No. (0～10)が格納されている変数のポインタを指定します。
5-1-2. 章ドライブパラメータのRATEテーブル表のRESOL No.を参照してください。
･･･ 読み出したSPEED・RATEが格納されているSPEED・RATE構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

戻り値
この関数を実行した結果、正常終了したときはTRUE、エラーが発生したときはFALSEを返します。
・SPEED・RATE構造体のメンバFspd,HighSpeed,LowSpeed,EndLowSpeed,SUArea,SDAreaは、
1Hz未満の速度を切り捨てて格納します。
・U/D CYCLEがRATEテーブル表に存在しない場合、SPEED･RATE構造体のメンバURATE No. , DRATE No.
は隣接する2つのRATE No.のうち、大きい側に補正されます。

- 52 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
3-2-6.ORIGIN 関数
ORIGIN ドライブは、MCC07E が持っている ORIGIN ドライブのセンサー検出機能を組み合わせ、デバイス
ドライバが自動的にセンサー検出工程を順次行って、機械原点検出を完了させるドライブです。
ORIGIN ドライブには、ORG-0 ～ 5, 10,11,12 の 9 種類のドライブ型式があります。
ORIGIN ドライブ機能の詳細は、 5-1-4.章「 ORIGIN ドライブ」をご覧ください。

ORIGINドライブ パラメータ構造体
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

説 明
ORIGINドライブ パラメータ読み出し関数で読み出した内容を格納する構造体です。
書 式
C言語
typedef struct MC07_S_ORG_PARAM {DWORD Spec;
DWORD MarginPulse;
DWORD LimitDelay;
DWORD ScanDelay;
DWORD PulseDelay;
DWORD CScanErrorPulse;
DWORD PulseErrorPulse;
DWORD OffsetPulse;
LONG PresetPulse;} MC07_S_ORG_PARAM;
C#.NET

VB.NET Structure MC07_S_ORG_PARAM
Public Spec As Integer
Public MarginPulse As Integer
Public LimitDelay As Integer
Public ScanDelay As Integer
Public PulseDelay As Integer
Public CScanErrorPulse As Integer
Public PulseErrorPulse As Integer
Public OffsetPulse As Integer
Public PresetPulse As Integer
End Structure

struct MC07_S_ORG_PARAM{
public uint Spec;
public uint MarginPulse;
public uint LimitDelay;
public uint ScanDelay;
public uint PulseDelay;
public uint CScanErrorPulse;
public uint PulseErrorPulse;
public uint OffsetPulse;
public int PresetPulse;
}

メンバ

Spec
MarginPulse
LimitDelay
ScanDelay
PulseDelay
CScanErrorPulse
PulseErrorPulse
OffsetPulse
PresetPulse･･･ ORIGINドライブの動作仕様･･･ MARGIN PULSE数･･･ LIMIT DELAY TIME･･･ SCAN DELAY TIME･･･ PULSE DELAY TIME･･･ CONSTANT SCAN工程時のエラー判定PULSE数･･･ 1PULSE送り工程時のエラー判定PULSE数･･･ 機械原点近傍アドレスのOFFSET PULSE数･･･ 機械原点検出後に実行するドライブのPULSE数- 53 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN STATUS読み出し関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
ORIGIN STATUSの内容を読み出します。
書 式
C言語
BOOL MC07_ReadOrgStatus(DWORD hDev, WORD *pStatus, MC07_S_RESULT *psResult);
VB.NET

Function MC07_ReadOrgStatus(ByVal hDev As Integer, ByRef pStatus As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.ReadOrgStatus(uint hDev, ref ushort pStatus, ref MC07_S_RESULT psResult);

引

数

hDev
pStatus･･･ デバイスハンドルを指定します。
･･･ 読み出したORIGIN STATUSの内容が格納される変数のポインタを指定します。
ORIGIN STATUSの内容は、次に示す通りです。

D15

D14

ADDRESS
ERROR

ERROR
PULSE
ERROR

D13
SENSOR
ERROR

D7

D6

D5

FSEND

SSEND

LSEND

D12

D11

D10

D9

D8

0

0

0

0

0

D4

D3

D2

D1

D0

0

0

0

ORIGINERRORORIGINFLAG

D0: ORIGIN FLAG
ORIGINドライブの機械原点アドレスの記憶状態を示します。
1:機械原点の絶対アドレスを記憶している状態
0:機械原点の絶対アドレスを記憶していない状態

D4: ORIGIN ERRORSENSOR ERROR、ERROR PULSE ERROR、ADDRESS ERRORのいずれかを検出したことを示します。
1:エラーが発生した状態
0:動作エラークリア関数を実行してクリアします。

D5: LSEND
ORIGINドライブ中にLIMIT減速停止指令またはLIMIT即時停止指令を検出したことを示します。
1:LIMIT減速停止指令またはLIMIT即時停止指令を検出した状態
0:次のORIGINドライブの実行でクリアされます。
●LIMIT減速停止指令
入力機能をLIMIT減速停止に設定したCWLM、CCWLM信号●LIMIT即時停止指令
入力機能をLIMIT即時停止に設定したCWLM、CCWLM信号

D6: SSEND
ORIGINドライブ中に減速停止指令を検出したことを示します。
1:減速停止指令を検出した状態
0:次のORIGINドライブの実行でクリアされます。
●減速停止指令・SLOW STOPコマンド・入力機能を減速停止に設定したINnx信号- 54 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D7

: FSEND
ORIGINドライブ中に即時停止指令を検出したことを示します。
1:即時停止指令を検出した状態
0:次のORIGINドライブの実行でクリアされます。
●即時停止指令・FAST STOPコマンド・入力機能を即時停止に設定したINnx信号・FSSTOP信号(FSSTOP1,2信号)、FSSTOP信号

D13 : SENSOR ERRORORIGINドライブ中にSENSOR ERRORを検出したことを示します。
1:SENSOR ERRORを検出した状態
0:動作エラークリア関数を実行してクリアします。注1.
D14 : ERROR PULSE ERRORORIGINドライブ中にERROR PULSE ERROR検出機能でERROR PULSE ERRORを検出したことを示します。
1:ERROR PULSE ERRORを検出した状態
0:動作エラークリア関数を実行してクリアします。注1.
D15 : ADDRESS ERRORORIGINドライブの機械原点近傍ADDRESSの計算結果が-2,147,483,647～2,147,483,647の範囲を越えていることを示します。
1:ADDRESS ERRORを検出した状態
0:動作エラークリア関数を実行してクリアします。注1.
注1.エラーを検出した場合は、必ず動作エラークリア関数を実行してエラーをクリアしてください。
エラーがクリアされていない場合、ORIGINドライブ関数の実行、およびMCC07E に汎用コマンドを書き込むことができません。

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

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

- 55 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN SPEC SET関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
ORIGINドライブの動作仕様を設定します。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
書 式
C言語
BOOL MC07_SetOrgSpec(DWORD hDev, WORD Spec, MC07_S_RESULT *psResult);
VB.NET

Function MC07_SetOrgSpec(ByVal hDev As Integer, ByVal Spec As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.SetOrgSpec(uint hDev, ushort Spec, ref MC07_S_RESULT psResult);

引

数

hDev
Spec

･･･ デバイスハンドルを指定します。
･･･ ORIGINドライブの動作仕様を指定します。
D15

D14

D13

D12

D11

D10

D9

D8

NORG

NORG

NORG

NORG

ORG

ORG

ORG

ORG

SIGNALSIGNALSIGNALSIGNALSIGNALSIGNALSIGNALSIGNAL

TYPE3

TYPE2

TYPE1

TYPE0

TYPE3

TYPE2

TYPE1

TYPE0

D4

D7

D6

D5

SCAN

AUTO

ERROR PULSEMARGIN

DRST

ERROR

ENABLEENABLEENABLE

0

D3

D2

D1

D0

SENSORSENSORPULSE

ORIGIN

ERROR

ERROR

SENSOR

START

TYPE1

TYPE0

TYPE

DIR

●Windows起動後の初期値は H'8000 (アンダーライン側) です。
D0 ：ORIGIN START DIR
ORIGINドライブの起動方向を選択します。
0：-(CCW)方向に起動する。
1：+(CW)方向に起動する。
D1 : PULSE SENSOR TYPE
最終工程となる1PULSE送り工程での機械原点信号の検出方法を選択します。
0 : 機械原点信号のエッジを検出して工程を終了する。
1 : 機械原点信号のレベルを検出して工程を終了する。
D2 : SENSOR ERROR TYPE0
D3 : SENSOR ERROR TYPE1
機械原点信号のレベルエラー発生時の動作仕様を選択します。
CONSTANT SCAN工程終了後のDELAY TIME経過後に機械原点信号のレベルをチェックします。
信号のレベルが検出時のレベルと異なる場合には、選択した動作仕様の実行します。
TYPE1 TYPE0 機械原点信号のレベルエラー発生時の動作仕様
0
0
ORIGINドライブをエラー終了する。
0
1
現在位置からCONSTANT SCAN工程を開始する。
1
0
現在位置からSCAN工程を開始する。
1
1
レベルエラーを無視して次の工程に進む。
・原点センサに検出幅が狭い Z 相を用いる場合、レベルエラーになる場合があります。
このようなときは、「レベルエラーを無視して次工程に進む」の設定にしてください。
・ORIGINドライブ型式により、レベルをチェックする機械原点信号が異なります。
ORG0～5では、ORG SIGNAL TYPEで選択したORG検出信号
ORG-11,12では、CWLMまたはCCWLM信号
最終工程終了時とORG-10では、レベルチェックによるエラー判定を行いません。

- 56 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D5 : ERROR PULSE ERROR ENABLE
ERROR PULSE ERROR検出機能を『有効にする/無効にする』を選択します。
0 : ERROR PULSE ERROR検出機能を無効にする。
1 : ERROR PULSE ERROR検出機能を有効にする。
● ERROR PULSE ERROR検出機能
CONSTANT SCAN工程および、1PULSE送り工程実行中に検出信号を検出できずに出力パルス数がエラー判定するパルス数に達したらORIGINドライブを強制終了します。
エラー判定するパルス数、ORIGIN ERROR PULSE SET関数で設定します。
デバイスドライバでERROR PULSE ERROR検出のためにMCC07E のPULSE COUNTERを使用します。
このため、ユーザアプリケーションでMCC07E のPULSE COUNTERは使用できなくなりますので御注意ください。
D6 : AUTO DRST ENABLE
SPEC INITIALIZE3 COMMANDでDRST信号を<サーボ対応>に設定にしている場合に有効です。
機械原点信号の検出完了時にDRST信号を『出力する/出力しない』を選択します。
0 : DRST信号を出力しない。
1 : DRST信号を出力する。(10ms間ハイレベルにする)
・AUTO DRST ENABLE=1のときは、SPEC INITIALIZE3 COMMANDでDEND/PO信号を<サーボ対応>に設定にしている場合でも、最終工程となるCONSTANT SCAN工程または、1PULSE送り工程ではDEND/PO信号の確認を行いません。
D7 : SCAN MARGIN ENABLE
SCAN工程時にMARGIN PULSEを入れる/入れないを選択します。
0 : SCAN工程時にMARGIN PULSEをいれない。
1 : SCAN工程時にMARGIN PULSEをいれる。
D8 ：ORG SIGNAL TYPE0
D9 ：ORG SIGNAL TYPE1
D10：ORG SIGNAL TYPE2
D11：ORG SIGNAL TYPE3
ORG検出信号を選択します。
TYPE3
0
0
0
0
0
0
0

ORG SIGNAL TYPE
TYPE2 TYPE1 TYPE0
0
0
0
0
0
1
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1

ORG検出信号
ORG信号±ZORG信号
ORG信号と±ZORG信号のAND
ORG信号と±ZORG信号のOR
PO/DEND信号
ORG信号とPO/DEND信号のAND
ORG信号とPO/DEND信号のOR

D12：NORG SIGNAL TYPE0
D13：NORG SIGNAL TYPE1
D14：NORG SIGNAL TYPE2
D15：NORG SIGNAL TYPE3
NORG検出信号を選択します。
TYPE3
1

psResult

NORG SIGNAL TYPE
TYPE2 TYPE1 TYPE0000

NORG検出信号NORG信号

100

1±ZORG信号

1
1

0
0

1
1

0
1

NORG信号と±ZORG信号のANDNORG信号と±ZORG信号のOR･･･

この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 57 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN MARGIN PULSE SET関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
ORIGINドライブの機械原点信号検出後のMARGINパルス数を設定します。
SCAN工程およびCSCAN工程の時にMARGINパルスを挿入します。
NORG検出工程およびORIGINドライブの最終工程では、MARGIN PULSEを挿入しません。
・CONSTANT SCAN工程では、機械原点信号を検出すると進行方向へMARGINパルス分の進入を行ってから停止します。
・SCAN工程では機械原点信号を検出し、ドライブを減速停止した後、MARGINパルス数分の進入を行います。
出荷時の値は、5パルスです。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
書 式
C言語
BOOL MC07_SetOrgMarginPulse(DWORD hDev, DWORD MarginPulse, MC07_S_RESULT *psResult);
VB.NET

Function MC07_SetOrgMarginPulse(ByVal hDev As Integer, ByVal MarginPulse As Integer,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.SetOrgMarginPulse(uint hDev, uint MarginPulse, ref MC07_S_RESULT psResult);

引

数

hDev
MarginPulse

psResult･･･ デバイスハンドルを指定します。
･･･ MARGINパルスを設定します。(0～65,535パルス)
65,535パルスより大きい値が設定された場合は、65,535パルスに補正されます。
また、MARGINパルスは、必ずCONSTANT SCAN工程時にエラー判定する最大パルス数(ORIGIN ERROR PULSE SET関数を参照)よりも小さいパルス数に設定してください。
小さくない場合は、ORIGINドライブ実行時にエラー判定する最大パルス -1がMARGINパルスとなります。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 58 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN DELAY SET関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
ORIGINドライブの各工程後で挿入するDELAYを設定します。
SPEC INITIALIZE3 COMMANDでDEND信号を<サーボ対応>に設定している場合には、各工程で工程終了後、
DEND信号の<サーボ対応>完了後にDELAY TIMEを挿入します。
当関数を実行する前にDRIVE STATUS1 PORT ERROR=0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
●LIMIT DELAY TIME
LIMIT停止信号を検出して停止したときにLIMIT DELAY TIMEを挿入します。
SPEC INITIALIZE3 COMMANDでDRST信号を<サーボ対応>に設定している場合には、DRST信号出力完了後、
LIMIT DELAY TIMEを挿入します。
Windows起動後の初期値は、300msです。
●SCAN DELAY TIME
･SCAN工程で検出信号を検出して停止したときにSCAN DELAY TIMEを挿入します。
･CONSTANT SCAN工程で検出信号を検出して停止したときにSCAN DELAY TIMEを挿入します。
･機械原点近傍アドレスまでのINDEXドライブ終了後にSCAN DELAY TIMEを挿入します。
･機械原点検出終了後、PRESETパルスのドライブ開始までの間にSCAN DELAY TIMEを挿入します。
Windows起動後の初期値は、50msです。
●PULSE DELAY TIME
･1PULSE送り工程では、PULSE DELAY TIMEで設定した時間間隔で1PULSE送りドライブを繰り返し行います。
検出信号は、PULSE DELAY TIME経過後にチェックします。
Windows起動後の初期値は、20msです。
書 式
C言語
BOOL

MC07_SetOrgDelay(DWORD hDev, WORD LimitDelay, WORD ScanDelay,
WORD PulseDelay, MC07_S_RESULT *psResult);

VB.NET

Function MC07_SetOrgDelay(ByVal hDev As Integer, ByVal LimitDelay As Short,
ByVal ScanDelay As Short, ByVal PulseDelay As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.SetOrgDelay(uint hDev, ushort LimitDelay, ushort ScanDelay, ushort PulseDelay,
ref MC07_S_RESULT psResult);

引

数

hDev
LimitDelay
ScanDelay
PulseDelay
psResult･･･ デバイスハンドルを指定します。
･･･ LIMIT DELAY TIME(×5ms)を設定します。(0～1,275ms)
1,275msより大きい値が設定された場合は、1,275msに補正されます。
･･･ SCAN DELAY TIME(×5ms)を設定します。(0～1,275ms)
1,275msより大きい値が設定された場合は、1,275msに補正されます。
･･･ PULSE DELAY TIME(×5ms)を設定します。(0～1,275ms)
1,275msより大きい値が設定された場合は、1,275msに補正されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 59 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN ERROR PULSE SET関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
CONSTANT SCAN工程時にエラー判定する最大パルス数および、1PULSE送り工程時にエラー判定する最大パルス数を設定します。ORIGIN SPEC SET関数でERROR PULSE ERROR ENABLE = 1に設定している場合に有効です。
Windows起動後の初期値は、CONSTANT SCAN工程時にエラー判定する最大パルス数、1PULSE送り工程時にエラー判定
する最大パルス数ともに2,147,483,647パルスです。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
書 式
C言語
BOOL MC07_SetOrgErrorPulse(DWORD hDev, DWORD CScanErrorPulse, DWORD PulseErrorPulse,
MC07_S_RESULT *psResult);
VB.NET

Function MC07_SetOrgErrorPulse(ByVal hDev As Integer, ByVal CScanErrorPulse As Integer,
ByVal PulseErrorPulse As Integer, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.SetOrgErrorPulse(uint hDev, uint CScanErrorPulse, uint PulseErrorPulse,
ref MC07_S_RESULT psResult);

引

数

hDev
･･･ デバイスハンドルを指定します。
CScanErrorPulse ･･･ CONSTANT SCAN工程時にエラー判定するパルス数を設定します。(1～2,147,483,647パルス)
1～2,147,483,647パルス以外が設定された場合は、1パルスに補正されます。

PulseErrorPulse ･･･ 1PULSE送り工程時にエラー判定する最大パルス数を設定します。(1～2,147,483,647パルス)
psResult

1～2,147,483,647パルス以外が設定された場合は、1パルスに補正されます。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 60 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN OFFSET PULSE SET関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
ORIGIN SPEC SET関数でORIGIN FLAG ENABLE = 1に設定している場合に有効です。
機械原点近傍アドレスのOFFSETパルス数を設定します。
Windows起動後の初期値は、100パルスです。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
書 式
C言語
BOOL MC07_SetOrgOffsetPulse(DWORD hDev, DWORD OffsetPulse, MC07_S_RESULT *psResult);
VB.NET

Function MC07_SetOrgOffsetPulse(ByVal hDev As Integer, ByVal OffsetPulse As Integer,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.SetOrgOffsetPulse(uint hDev, uint OffsetPulse, ref MC07_S_RESULT psResult);

引

数

hDev
OffsetPulse
psResult･･･ デバイスハンドルを指定します。
･･･ 機械原点近傍アドレスのOFFSETパルス数を設定します。(0～2,147,483,647パルス)･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 61 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN PRESET PULSE SET関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
機械原点検出終了後に実行するORIGINドライブのPRESETパルスを設定します。
Windows起動後の初期値は、0パルスです。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
書 式
C言語
BOOL MC07_SetOrgPresetPulse(DWORD hDev, LONG PresetPulse, MC07_S_RESULT *psResult);
VB.NET

Function MC07_SetOrgPresetPulse(ByVal hDev As Integer, ByVal PresetPulse As Integer,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.SetOrgPresetPulse(uint hDev, int PresetPulse, ref MC07_S_RESULT psResult);

引

数

hDev
PresetPulse
psResult･･･ デバイスハンドルを指定します。
･･･ PRESETパルス数を設定します。(-2,147,483,648～+2,147,483,647パルス)･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 62 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGINドライブ パラメータ読み出し 関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能設定されたORIGINドライブパラメータを読み出し、ORIGINドライブパラメータ構造体に格納します。
書 式
C言語
BOOL MC07_ReadOrgParam(DWORD hDev, MC07_S_ORG_PARAM *psOrgParam,
MC07_S_RESULT *psResult);
VB.NET

Function MC07_ReadOrgParam(ByVal hDev As Integer, ByRef psOrgParam As MC07_S_ORG_PARAM,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.ReadOrgParam(uint hDev, ref MC07_S_ORG_PARAM psOrgParam,ref MC07_S_RESULT psResult);

引

数

hDev
psOrgParam
psResult･･･ デバイスハンドルを指定します。
･･･ ORIGINドライブパラメータ構造体のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 63 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGIN FLAG RESET 関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
ORIGIN FLAGをRESETします。
以下の場合は、ORIGIN FLAGをRESETした後にORIGNドライブを行ってください。
・回転系で絶対アドレスに意味がないとき
・1回目の機械原点検出完了後に、強制的に装置上の実位置をずらしたとき
ORIGIN FLAGをRESEすると、機械原点近傍までの高速ドライブを行わずに、センサ検出で停止する原点検出になります。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
書 式
C言語
BOOL MC07_ResetOrgFlag(DWORD hDev, MC07_S_RESULT *psResult);
VB.NET

Function MC07_ResetOrgFlag(ByVal hDev As Integer, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.ResetOrgFlag(uint hDev, ref MC07_S_RESULT psResult);

引

数

hDev
psResult･･･ デバイスハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 64 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ORIGINドライブ 関 数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定された機械原点の型式に従いORIGINドライブを行います。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
書 式
C言語
BOOL MC07_Org(DWORD hDev, WORD OrgType, MC07_S_RESULT *psResult);
VB.NET

Function MC07_Org(ByVal hDev As Integer, ByVal OrgType As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.Org(uint hDev, ushort OrgType, ref MC07_S_RESULT psResult);

引

数

hDev
OrgType･･･ デバイスハンドルを指定します。
･･･ 機械原点の型式を指定します。

指定できる値
MC07_ORG0
MC07_ORG1
MC07_ORG2
MC07_ORG3
MC07_ORG4

psResult

意味
ORG-0
ORG-1
ORG-2
ORG-3
ORG-4

指定できる値
MC07_ORG5
MC07_ORG10
MC07_ORG11
MC07_ORG12

意味
ORG-5
ORG-10
ORG-11
ORG-12･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 65 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
3-2-7.補間ドライブ関数
次の補間ドライブ関数を用意しています。
・メインチップ 2 軸相対アドレス直線補間ドライブ関数 (2 軸相関直線補間ドライブ)・メインチップ 2 軸相対アドレス円弧補間ドライブ関数 (2 軸相関円弧補間ドライブ)
メインチップ 2 軸相対アドレス直線補間ドライブ、メインチップ 2 軸相対アドレス円弧補間ドライブは、
ドライブが実行される軸の加減速パラメータで補間ドライバの基本 PULSE を発生します。
補間は、発生した基本 PULSE を補間演算して補間 PULSE を出力します。

POSITION構造体
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

説 明
補間ドライブでX･Y座標を指定するときに使用します。
書 式
C言語
typedef struct _MC07_S_XY_POSITION {LONG X;LONG Y;} MC07_S_XY_POSITION;
VB.NET

Structure MC07_S_XY_POSITION
Public X As Integer
Public Y As Integer
End Structure

C#.NET

struct MC07_S_XY_POSITION{
public int X;
public int Y;
}

X
Y

メンバ
･･･ X座標･･･ Y座標- 66 -C-VX871Ev1

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

メインチップ2軸相対アドレス直線補間ドライブ関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能
MCC07EのLONG POSITION SET COMMAND,SHORT POSITION COMMAND,MAIN XY STRAIGHT CP COMMANDを使用して、相対アドレスで指定された目的地まで2軸直線補間ドライブを実行します。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
当関数をコマンド予約機能(応用機能)で使用する場合は、当関数を実行する前にDRIVE STATUS1 PORTのERROR=0、
およびCOMREG FL=0を確認してください。
書 式
C言語 BOOL MC07_McIncStrCp(DWORD hDevX, DWORD hDevY, WORD DrvSpec,
MC07_S_XY_POSITION *psTargetPosition, MC07_S_RESULT *psResult);
VB.NET Function MC07_McIncStrCp(ByVal hDevX As Integer, ByVal hDevY As Integer,
ByVal DrvSpec As Short, ByRef psTargetPosition As MC07_S_XY_POSITION,
ByRef psResult As MC07_S_RESULT) As Booleanbool MC07.McIncStrCp(uint hDevX, uint hDevY, ushort DrvSpec,ref MC07_S_XY_POSITION psTargetPosition, ref MC07_S_RESULT psResult);

C#.NET
引

数

hDevX
hDevY

･･･ 対象軸(Xn/Zn/Bn軸)のデバイスハンドルを指定します。*1･･･ 対象軸(Yn/An/Cn軸)のデバイスハンドルを指定します。*1*1 :hDevX,hDevYは相関軸のデバイスハンドルを指定してください。
･･･ ドライブ仕様を指定します。

DrvSpec
D15

D14

D13

D12

D11

D10

D9

D8

－

－

－

－

－

－

－

－

D7

D6

D5

D4

D3

D2

－

－

－

－

－

0

D1

D0

CONST CPDRIVE

ENABLEMODE

D0 ：DRIVE MODE
直線補間ドライブを『連続ドライブにする/位置決めドライブにする』を選択します。
0：連続ドライブにする(SCANドライブ)
1：位置決めドライブにする (INDEXドライブ)
D1 ：CONST CP ENABLE
線速一定制御を『無効にする/有効にする』を選択します。
0：線速一定制御を無効にする。
1：線速一定制御を有効にする。

psTragetPosition

psResult･･･ 目的地のX･Y座標(-2,147,483,648～+2,147,483,647)が格納されている
POSITION構造体のポインタを指定します。
目的地のX･Y座標は、現在位置を座標の中心(0,0)とした相対座標です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 67 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

メインチップ2軸相対アドレス円弧補間ドライブ関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能デバイスドライバで目的点の短軸座標までのPULSE数を求め、MCC07EのCIRCULAR XPOSITION SET COMMAND,CIRCULAR YPOSITION SET COMMAND,CIRCULAR PULSE SET COMMAND,MAIN XY CIRCULAR CP COMMANDを使用して相対アドレスで指定された目的地まで中心点指定の2軸円弧補間ドライブを実行します。
当関数を実行する前にDRIVE STATUS1 PORT ERROR = 0、およびDRIVE STATUS1 PORT BUSY = 0を確認してください。
当関数をコマンド予約機能(応用機能)で使用する場合は、当関数を実行する前にDRIVE STATUS1 PORTのERROR = 0、およびCOMREG FL = 0を確認してください。
次の場合、関数がエラー終了します。
・円弧の中心点座標が(0, 0)、または中心点と目的地が同一座標の場合
・円弧補間で求めた短軸PULSE数が-2,147,483,648～+2,147,483,647の範囲内でない場合
・円弧補間で指定出来ない目的地座標が指定された場合
書 式
C言語
BOOL MC07_McIncCirCp(DWORD hDevX, DWORD hDevY, WORD DrvSpec, WORD Dir,
MC07_S_XY_POSITION *psCenterPosition,
MC07_S_XY_POSITION *psTargetPosition, MC07_S_RESULT *psResult);
VB.NET

Function MC07_McIncCirCp(ByVal hDevX As Integer, ByVal hDevY As Integer,
ByVal DrvSpec As Short, ByVal Dir As Short,
ByRef psCenterPosition As MC07_S_XY_POSITION,
ByRef psTargetPosition As MC07_S_XY_POSITION,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.McIncCirCp(uint hDevX, uint hDevY, ushort DrvSpec, ushort Dir,
ref MC07_S_XY_POSITION psCenterPosition, ref MC07_S_XY_POSITION psTargetPosition,
ref MC07_S_RESULT psResult);

引

数

hDevX
hDevY

･･･ 対象軸(Xn/Zn/Bn軸)のデバイスハンドルを指定します。*1･･･ 対象軸(Yn/An/Cn軸)のデバイスハンドルを指定します。*1*1 :hDevX,hDevY は相関軸のデバイスハンドルを指定してください。
･･･ ドライブ仕様を指定します。

DrvSpec
D15

D14

D13

D12

D11

D10

D9

D8

－

－

－

－

－

－

－

－

D7

D6

D3

D2

－

－

D5

D4

YPULSEXPULSE

SEL

SEL

－

0

D1

D0

CONST CPDRIVE

ENABLEMODE

D0 ：DRIVE MODE
円弧補間ドライブを『連続ドライブにする/位置決めドライブにする』を選択します。
0：連続ドライブにする (SCANドライブ)
1：位置決めドライブにする (INDEXドライブ)- 68 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D1 ：CONST CP ENABLE
線速一定制御を『無効にする/有効にする』を選択します。
0：線速一定制御を無効にする。
1：線速一定制御を有効にする。
D4 ：XPULSE SEL
X軸に出力する補間パルスを選択します。
0：X軸に円弧補間演算のX座標アドレスの補間パルス(XCP)を出力する。
1：X軸に円弧補間演算のY座標アドレスの補間パルス(YCP)を出力する。
D5 ：YPULSE SEL
Y軸に出力する補間パルスを選択します。
0：Y軸に円弧補間演算のX座標アドレスの補間パルス(XCP)を出力する。
1：Y軸に円弧補間演算のY座標アドレスの補間パルス(YCP)を出力する。

Dir･･･ 回転方向を指定します。
指定できる値
MC07_CCW
MC07_CW

psCenterPosition

psTragetPosition

psResult

意味-(CCW)方向+(CW)方向･･･ 中心点のX･Y相対座標(-8,388,607～+8,388,607)が格納されているPOSITION構造体のポインタを指定します。
中心点のX･Y座標は、現在位置を座標の中心(0,0)とした相対座標です。
･･･ 目的地のX･Y相対座標(-16,777,214～+16,777,214)が格納されているPOSITION構造体のポインタを指定します。
目的地のX･Y座標は、現在位置を座標の中心(0,0)とした相対座標です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

【注意】
線速一定制御を「有効」にして、円弧補間ドライブを実行するときは、下記のように円弧補間ドライブの終了処理を実行してください。円弧補間ドライブの終了処理が行われないと、円弧補間ドライブの後に直線補間ドライブを実行したとき、設定速度が出力されないことがあります。
・CIRCULAR XPOSITION SETコマンド
・CIRCULAR YPOSITION SETコマンド
・CIRCULAR PULSE SETコマンド
・メイン軸円弧補間ドライブ(H'28)(H'29)(H'2A)(H'3A)：H'00_0000に設定：H'00_0000に設定：H'0000_0000に設定：DATA1=H'0001で実行*上記の各コマンドは応用機能編をご覧ください。
*円弧補間ドライブの終了処理で動作することはありません。

- 69 -

円弧補間ドライブ(0パルス、終了位置0゜)

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

円の中心点ゲット関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定された円弧の通過点相対アドレス、目的地相対アドレスをもとに中心点相対アドレス、回転方向を求めます。
注. 次の場合、関数がエラー終了します。
・通過点相対アドレスまたは目的地相対アドレスが(0, 0)の場合
・通過点相対アドレスと目的地相対アドレスが同一の場合
書 式
C言語
BOOL MC07_GetCirCenterPosition(MC07_S_XY_POSITION *psPassPosition,
MC07_S_XY_POSITION *psTargetPosition, WORD *pDir,
MC07_S_XY_POSITION *psCenterPosition, MC07_S_RESULT *psResult );VB.NET

Function MC07_GetCirCenterPosition(ByRef psPassPosition As MC07_S_XY_POSITION,
ByRef psTargetPosition As MC07_S_XY_POSITION, ByRef pDir As Short,
ByRef psCenterPosition As MC07_S_XY_POSITION,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.GetCirCenterPosition(ref MC07_S_XY_POSITION psPassPosition,
ref MC07_S_XY_POSITION psTargetPosition, ref ushort pDir,
ref MC07_S_XY_POSITION psCenterPosition,
ref MC07_S_RESULT psResult);

引数

psPassPosition･･･

psTargetPosition

･･･

pDir

･･･
格納される値
MC07_CCW
MC07_CW

通過点のX･Y相対座標(16,777,214～+16,777,214)が格納されているPOSITION構造体のポインタを指定します。
通過点のX･Y座標は、現在位置を座標の中心(0,0)とした相対座標です。
目的地のX･Y相対座標(-16,777,214～+16,777,214)が格納されているPOSITION構造体のポインタを指定します。
目的地のX･Y座標は、現在位置を座標の中心(0,0)とした相対座標です。
円弧の回転方向が格納される変数のポインタです。
意味-(CCW)方向+(CW)方向

psCenterPosition･･･

psResult･･･

中心点のX･Y相対座標(-8,388,607～+8,388,607)が格納されるPOSITION構造体のポインタを指定します。
中心点のX･Y座標は、現在位置を座標の中心(0,0)とした相対座標です。
この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 70 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

相対アドレス変換関数
C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

機 能指定された絶対アドレスを相対アドレスに変換(絶対アドレス - 現在位置(MCC07EのADDRESS COUNTERの内容))します。
注. 次の場合、関数がエラー終了します。
・ADDRESS COUNTERがOVER FLOWしている場合
書 式
C言語
BOOL MC07_IncFromAbs(DWORD hDevX, DWORD hDevY, MC07_S_XY_POSITION *psAbsPosition,
MC07_S_XY_POSITION *psIncPosition, MC07_S_RESULT *psResult );VB.NET

Function MC07_IncFromAbs(ByVal hDevX As Integer, ByVal hDevY As Integer,
ByRef psAbsPosition As MC07_S_XY_POSITION, ByRef psIncPosition As MC07_S_XY_POSITION,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.IncFromAbs(uint hDevX, uint hDevY, ref MC07_S_XY_POSITION psAbsPosition,
ref MC07_S_XY_POSITION psIncPosition, ref MC07_S_RESULT psResult);

引

数

hDevX
hDevY
psAbsPosition
psIncPosition
psResult･･･ X/Z軸のデバイスハンドルを指定します。
･･･ Y/A軸のデバイスハンドルを指定します。
･･･ X･Y絶対座標が格納されているPOSITION構造体のポインタを指定します。
･･･ 変換されたX･Y相対座標が格納されるPOSITION構造体のポインタを指定します。
X･Y座標は、現在位置を座標の中心(0,0)とした相対座標です。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 71 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書3-3. ボードコントローラの I/O 関数
3-3-1. I/O オープン/クローズ関数
ユーザアプリケーションは、I/O PORT オープン関数で I/O PORT ハンドルを受け取ります。
以後 I/O PORT の関数を実行する際に、この汎用 I/O PORT ハンドルを引数として渡します。
この I/O PORT ハンドルは、I/O PORT をクローズするまで有効です。
ユーザアプリケーション終了時は、必ず I/O PORT をクローズしてください。

I/O PORTオープン関数
C-VX870v1

C-VX872v1

C-VX870Ev1

機 能
I/O PORTをオープンし、引数 phPortで示される変数にPORTハンドルを格納します。
書 式
C言語
BOOL MC07_BPortOpen(WORD BoardNo, WORD IoPort, DWORD *phPort, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BPortOpen(ByVal BoardNo As Integer, ByVal IoPort As Short,
ByRef phPort As Integer, ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BPortOpen(ushort BoardNo, ushort IoPort, ref uint phPort,
ref MC07_S_RESULT psResult);

引

数

BoardNo･･･ ボード番号(0～9)を指定します。

IoPort･･･ I/O PORTを指定します。

＜C-VX870v1,C-VX870Ev1上のI/O PORT＞
指定できる値
意味
MC07_IO_IN_PORT1
汎用I/O入力PORT1(IN0～IN3)
MC07_IO_OUT_PORT1
汎用I/O出力PORT1(OUT0～OUT3)＜C-VX872v1上のI/O PORT＞
指定できる値
MC07_IO_IN_PORT1
MC07_IO_IN_PORT2
MC07_IO_OUT_PORT1
MC07_IO_OUT_PORT2

phPortpsResult

意味
汎用I/O入力PORT1(IN10～IN13)
汎用I/O入力PORT2(IN20～IN23)
汎用I/O出力PORT1(OUT10～OUT13)
汎用I/O出力PORT2(OUT20～OUT23)･･･ PORTハンドルが格納される変数のポインタを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 72 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

I/O PORTクローズ関数
C-VX870v1

C-VX872v1

C-VX870Ev1

機 能指定されたI/O PORTをクローズします。
書 式
C言語
BOOL MC07_BPortClose(DWORD hPort, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BPortClose(ByVal hPort As Integer,ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BPortClose(uint hPort, ref MC07_S_RESULT psResult);

引

数

hPort
psResult･･･ PORTハンドルを指定します。
･･･ この関数を実行した結果が格納されるRESULT構造体のポインタを指定します。

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

- 73 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
3-3-2. I/O アクセス関数
I/O PORT書き込み関数
C-VX870v1

C-VX872v1

C-VX870Ev1

機 能指定されたI/O PORTにデータを書き込みます。書き込みは常時可能です。
書 式
C言語
BOOL MC07_BPortOut(DWORD hPort, WORD *pData, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BPortOut(ByVal hPort As Integer, ByRef pData As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BPortOut(uint hPort, ref ushort pData, ref MC07_S_RESULT psResult);

引

数

hPort
pData

･･･ PORTハンドルを指定します。
･･･ 書き込むデータが格納されている変数のポインタを指定します。

＜C-VX870v1,C-VX870Ev1上のI/O PORT＞
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT3

OUT2

OUT1

OUT0

＜C-VX872v1上のI/O PORT＞
・汎用I/O出力PORT1の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT13

OUT12

OUT11

OUT10

・汎用I/O出力PORT2の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT23

OUT22

OUT21

OUT20

0 : ノットアクティブになります。(初期値)
1 : アクティブになります。

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

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

- 74 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

I/O PORT読み出し関数
C-VX870v1

C-VX872v1

C-VX870Ev1

機 能指定されたI/O PORTのデータを読み出します。読み出しは常時可能です。
書 式
C言語
BOOL MC07_BPortIn(DWORD hPort, WORD *pData, MC07_S_RESULT *psResult);
VB.NET

Function MC07_BPortIn(ByVal hPort As Integer, ByRef pData As Short,
ByRef psResult As MC07_S_RESULT) As Boolean

C#.NETbool MC07.BPortIn(uint hPort, ref ushort pData, ref MC07_S_RESULT psResult);

引

数

hPort
pData

･･･ PORTハンドルを指定します。
･･･ 読み出した内容が格納される変数のポインタを指定します。

＜C-VX870v1,C-VX870Ev1上のI/O PORT＞
・汎用I/O入力PORTの場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

IN3

IN2

IN1

IN0

・汎用I/O出力PORTの場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT3

OUT2

OUT1

OUT0

＜C-VX872v1上のI/O PORT＞
・汎用I/入力PORT1の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

IN13

IN12

IN11

IN10

・汎用I/O入力PORT2の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

IN23

IN22

IN21

IN20

・汎用I/O出力PORT1の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT13

OUT12

OUT11

OUT10

・汎用I/O出力PORT2の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT23

OUT22

OUT21

OUT20

0 : ノットアクティブであることを示す。
1 : アクティブであることを示す。

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

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

- 75 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

４．コマンド仕様
4-1. ドライブコマンド
4-1-1. 入出力仕様の設定(1) SPEC INITIALIZE1
ドライブパルスの出力仕様を設定します。
COMMAND H'01

<実行シーケンス>
STATUS1 PORTNERROR = 0 ?

SPEC INITIALIZE1 COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORT

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。

BUSY = 0 ?

推奨:MC07_BRStatus1 関数

Y
DATA1 PORT

③ DRIVE DATA1 PORT に設定データを書き込みます。

WRITE
COMMAND PORTWRITE

④ DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

－

－

－

－

－

－

－

－

D7

D6

D5

D4

D3

D2

D1

D0

－

MANUAL
DRIVE
MODE

－

PULSE
OUTPUTMASKPULSE
OUTPUT
TYPE1

PULSE
OUTPUT
TYPE0－－●リセット後の初期値は H'0000 (アンダーライン側) です。
D0 ：PULSE OUTPUT TYPE0
D1 ：PULSE OUTPUT TYPE1
CWP, CCWP 信号出力のドライブパルス出力方式を選択します。
TYPE1

TYPE0

パルス出力方式

CWP 信号出力

CCWP 信号出力00

独立方向出力＋方向のパルス出力－方向のパルス出力01

方向指定出力

パルス出力

方向出力

1

0

２逓倍の位相差信号

A 相出力

B 相出力

1

1

４逓倍の位相差信号

A 相出力

B 相出力

・方向出力の場合、 CCWP 信号 = HIGH で+(CW)方向, CCWP 信号 = LOW で-(CCW)方向を示します。
D2 ： PULSE OUTPUT MASKCWP, CCWP 信号出力のドライブパルス出力を「マスクする／マスクしない」を選択します。
0 ：ドライブパルス出力をマスクしない （パルスを出力する）
1 ：ドライブパルス出力をマスクする（パルスを出力しない）
パルス出力をマスクしたドライブの実行時間は、タイマとして使用できます。
・「マスクする」を選択した場合は、 CWP, CCWP 信号の出力を OFF レベルに固定します。
アドレスカウンタは、カウントパルスのカウントを停止し、カウントパルス選択部の出力も停止します。
パルスカウンタとパルス偏差カウンタは発生パルスをカウントすることができません。
アドレスカウンタが停止するため、 ABS INDEX ドライブを実行すると自動停止できません。
その他の機能は「マスクしない」を選択した場合と同様です。
・「マスクする」に設定すると、 DRIVE STATUS2 PORT の PULSE MASK = 1 になります。
D4 ：MANUAL DRIVE MODEMANUAL ドライブのドライブ機能を選択します。(応用機能)
0 ：SCAN ドライブ
1 ：JOG ドライブ

- 76 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) SPEC INITIALIZE2CWLM, CCWLM 信号の入力機能、 RDYINT の出力仕様、多用途センサ信号:SS0, SS1 の入力機能を設定します。
COMMAND H'02

<実行シーケンス>

STATUS1 PORTERROR = 0 ?

NSPEC INITIALIZE2 COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORTBUSY = 0 ?

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。
推奨:MC07_BRStatus1 関数

Y
DATA1 PORTWRITECOMMAND PORTWRITE

③ DRIVE DATA1 PORT に設定データを書き込みます。

④ DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

－

－

D7

D6

－

－

D13
－

D12
－

D11

D10

D9

D8

SS1

SS1

SS0

SS0

TYPE1

TYPE0

TYPE1

TYPE0

D5

D4

D3

D2

D1

D0

RDYINTRDYINT

CCWLM

CCWLM

CWLM

CWLM

TYPE1

TYPE0

TYPE1

TYPE0

TYPE1

TYPE0

●リセット後の初期値は H'F00 (アンダーライン側) です。
D0 ： CWLM TYPE0
D1 ： CWLM TYPE1CWLM 信号入力のアクティブレベル検出時の入力機能を選択します。
TYPE1

TYPE0

CWLM 信号の入力機能

00＋方向の LIMIT 即時停止信号として使用する

01＋方向の LIMIT 減速停止信号として使用する

1

0

即時停止信号として使用する

1

1

汎用入力として使用する

D2 ： CCWLM TYPE0
D3 ： CCWLM TYPE1
CCWLM 信号入力のアクティブレベル検出時の入力機能を選択します。
TYPE1

TYPE0

CCWLM 信号の入力機能

00－方向の LIMIT 即時停止信号として使用する

01－方向の LIMIT 減速停止信号として使用する

1

0

即時停止信号として使用する

1

1

汎用入力として使用する

D4 ：RDYINT TYPE0
D5 ：RDYINT TYPE1
コマンド処理終了時の割り込み要求 RDYINT の出力仕様を選択します。
TYPE1

TYPE0

RDYINT の出力仕様

00

STATUS1 PORT の DRVEND = 0 → 1 のエッジ検出で、 RDYINT = 1 にする

0

1

設定禁止

1

0

STATUS1 PORT の DRIVE = 1 → 0 のエッジ検出で、 RDYINT = 1 にする

11

出力しない (常時 RDYINT = 0)

RDYINT のクリア条件（ RDYINT = 0 にします）
・ STATUS1 PORT のリード終了でクリア
・ BUSY = 0 → 1 または予約コマンドの LOAD と同時にクリア※当デバイスドライバでは、 RDYINT TYPE1,0 ＝"0,1" の設定にすることはできません。
- 77 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D8 ： SS0 TYPE0
D9 ： SS0 TYPE1
SS0 信号入力のアクティブレベル検出時の入力機能を選択します。(応用機能)
D10 ： SS1 TYPE0
D11 ： SS1 TYPE1
SS1 信号入力のアクティブレベル検出時の入力機能を選択します。(応用機能)
TYPE1

TYPE0

SS0, SS1 信号の入力機能

00

UP/DOWN/CONST ドライブ CHANGE 指令入力として使用する

0

1

減速停止信号として使用する

1

0

即時停止信号として使用する

1

1

汎用入力として使用する・各種機能のトリガ信号として使用する

・ SS0, SS1 信号の UP/DOWN/CONST ドライブ CHANGE 指令入力機能
SS0, SS1 信号を操作することで、 UP/DOWN/CONST のドライブ CHANGE ができます。
・ SS0, SS1 信号への接続は、 SENSORnx 信号、各軸 OUTA,OUTB 信号、 SIGNAL INnx 信号の中からHARD CONFIG の SENSOR SIGNAL SELECT コマンド(応用機能)による設定が必要です。
※ ORIGIN ドライブ中は SS0 および SS1 信号による停止機能は無効になります。
SS0 TYPE = "00"、
SS1 TYPE = "00" の場合
SS1

SS0

ドライブ CHANGE 動作

0

0

CONST DRIVE

01

UP DRIVE

10

DOWN DRIVE

1

1

CONST DRIVE

SS0 TYPE = "00"、
SS1 TYPE = "00 以外" の場合

SS0 TYPE = "00 以外"、
SS1 TYPE = "00" の場合

SS1

SS0

ドライブ CHANGE 動作

SS1

SS0

ドライブ CHANGE 動作x0

機能はありません

0x

機能はありませんx

1

UP DRIVE

1x

DOWN DRIVE

・ UP/DOWN/CONST ドライブ CHANGE 機能は応用機能です。
UP/DOWN/CONST ドライブ CHANGE 機能の詳細については、デバイスドライバ取扱説明書応用機能編をご覧ください。

- 78 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) SPEC INITIALIZE3DRST 信号の出力機能、 DEND/PO, DALM 信号の入力機能、 STBY 解除条件を設定します。
COMMAND H'03

<実行シーケンス>
STATUS1 PORTERROR = 0 ?

NSPEC INITIALIZE3 COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORTBUSY = 0 ?

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。
推奨:MC07_BRStatus1 関数

Y
DATA1 PORTWRITECOMMAND PORTWRITE

③ DRIVE DATA1 PORT に設定データを書き込みます。

④ DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

－

－

D7

D6

－

－

D13

D12

－

DOWN
PULSE
MASK

D11
－

D10

D9

D8

STBY

STBY

STBY

TYPE2

TYPE1

TYPE0

D5

D4

D3

D2

D1

D0

DALM

DALM

DEND/PO

DEND/PO

DRST

DRST

TYPE1

TYPE0

TYPE1

TYPE0

TYPE1

TYPE0

●リセット後の初期値は H'003F (アンダーライン側) です。
D0 ： DRST TYPE0
D1 ： DRST TYPE1
DRST/MF 信号の出力機能を選択します。
TYPE1

TYPE0

DRST 信号の出力機能

サーボ対応

0

0

停止時に 10 ms 間アクティブレベルを出力する<サーボ対応>
ー

0

1

設定禁止

1

0

設定禁止

ー

1

1

汎用出力として使用するー・「 00 」を選択した場合は、即時停止による DRST 機能が有効になります。
・「 11 」を選択した場合は、即時停止による DRST 機能が無効になります。
SIGNAL OUT コマンドによる DRST 信号からの出力は、設定された出力レベルを出力します。

D2 ： DEND/PO TYPE0
D3 ： DEND/PO TYPE1
DEND/PO 信号の入力機能を選択します。
TYPE1

TYPE0

DEND/PO 信号の入力機能

サーボ対応

0

0

DEND/PO のアクティブを検出するまでドライブを終了しない<サーボ対応>01

減速停止信号として使用する

ー

1

0

即時停止信号として使用する

ー

1

1

汎用入力として使用するー・「 00 」を選択した場合は、パルス出力停止後に DEND/PO 信号にサーボからの位置決め完了信号が検出されるまでドライブ終了とせずに DRIVE STATUS1 PORT の BUSY = 1 とします。

- 79 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D4 ： DALM TYPE0
D5 ： DALM TYPE1
DALM 信号のアクティブレベル検出時の入力機能を選択します。
TYPE1

TYPE0

DALM 信号の入力機能

00

機能はありません (汎用入力)

－

0

1

減速停止信号として使用する

－

1

0

即時停止信号として使用する

－

1

1

汎用入力として使用する

－

サーボ対応

・ MCC07E への DALM 信号入力は、汎用入力信号 INn0--INn3 によって機能します。
INn0--INn3 信号の状態は、汎用入力 PORT からも確認できます。
汎用入力信号 INn0--INn3 を停止信号として利用するとき、 DALM TYPE を停止機能に設定します。
汎用入力信号 C-VX870(E)v1
IN0
IN1
IN2
IN3

X軸
Y軸
Z軸
A軸

汎用入力信号

C-VX872v1

IN10
IN11
IN12
IN13
IN20
IN21
IN22
IN23

X1 軸
Y1 軸
Z1 軸
A1 軸
X2 軸
Y2 軸
Z2 軸
A2 軸

D8 ： STBY TYPE0
D9 ： STBY TYPE1
D10 ： STBY TYPE2
STATUS1 PORT の STBY フラグを "0" にする STBY 解除条件を選択します。
STBY = 1 の状態から、 STBY = 0 になるとドライブパルス出力を開始します。
同期スタート機能により PAUSE を操作することができます。(応用機能)
TYPE2

TYPE1

TYPE0

STBY 解除条件 <レベル検出>

0

0

0

PAUSE = 0 で STBY = 0 にする

0

0

1

設定禁止

0

1

0

設定禁止

0

1

1

設定禁止

1

0

0

設定禁止

1

0

1

設定禁止

1

1

0

設定禁止

1

1

1

設定禁止

D12 ： DOWN PULSE MASKINDEX ドライブの自動減速停止機能を「マスクする／マスクしない」を選択します。(応用機能)
0 ：自動減速停止機能をマスクしない （自動減速停止機能で停止する）
1 ：自動減速停止機能をマスクする（減速パルス数 "0" で即時停止する）
・「マスクしない」を選択した場合は、「加減速ドライブ」および「減速ドライブ」の INDEX ドライブ中に、パルス速度を自動減速して指定アドレスで停止します。
・「マスクする」を選択した場合は、自動減速停止機能は動作しません。
INDEX ドライブの指定アドレスに達すると、減速パルス数なしで即時停止します。
ドライブ形状を「加減速ドライブ」に設定している場合は、「加速ドライブ」の形状でドライブを終了します。
この場合の終了速度は、 HSPD x RESOL です。
ドライブ形状を「減速ドライブ」に設定している場合は、「一定速ドライブ」の形状でドライブを終了します。
この場合の終了速度は、 HSPD x RESOL です。
S 字加減速 INDEX ドライブの三角駆動回避機能も無効になります。
ドライブ中に減速停止指令を検出した場合は、終了速度まで減速してからドライブを終了します。
S 字加速中の減速停止指令検出時の三角駆動回避機能も有効です。
但し、減速中に指定アドレスに達した場合は、指定アドレスで即時停止します。
- 80 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-1-2. ドライブ パラメータの設定
ドライブパラメータには、デバイスドライバの SPEED･RATE 関数で設定するパラメータとドライブコマンドで直接設定するパラメータがあります。
●デバイスドライバの関数で設定するパラメータ
・第 1 パルス出力周期・加減速パラメータ●ドライブコマンドで直接設定するパラメータ・ JOG パラメータ
ここではドライブコマンドで直接設定するパラメータのコマンド仕様を示します。
デバイスドライバの関数で実行するパラメータについては SPEED･RATE 関数仕様をご覧ください。

(1) JSPD SET
JOG コマンドによる複数パルスの動作を行うときに JOG 速度を設定します。
JOG パルス速度を設定します。
COMMAND H'0C

<実行シーケンス>
STATUS1 PORTN

JSPD SET COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

ERROR = 0 ?
Y
NSTATUS1 PORT

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。

BUSY = 0 ?

推奨:MC07_BRStatus1 関数

Y③ DRIVE DATA1 PORT に JOG パルス速度 D15--D0 を書き込みます。

DATA1 PORTWRITE

④ DRIVE DATA2 PORT に JOG パルス速度 D21--D16 を書き込みます。
設定範囲は、 0 ～ 4,194,303 （ H'00_0000 ～ H'3F_FFFF ）です。

DATA2 PORTWRITECOMMAND PORT

⑤ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D15

D8

D7

D6

D5

D4

D3

D2

D1

D0

JSPD

D0

DRIVE DATA2 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

－

－

－

－

－

－

－

－

－

－

D21

D4

D3

D2

JSPD

D1

D0
D16

●リセット後の初期値は H'00_012C (300 Hz) です。
・ JSPD の設定値は"0"以外の値を設定してください。 JSPD の設定値が"0" の場合は、"1" に補正します。
・ JOG ドライブと CONSTANT SCAN ドライブの 1 パルス目は、 FSPD の第 1 パルスです。
2 パルス目から JSPD になります。

- 81 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) JOG PULSE SET
JOG コマンドによる複数パルスの JOG 動作を行うときに設定します。
JOG パルス数を設定します。
COMMAND H'0D

<実行シーケンス>
STATUS1 PORTERROR = 0 ?

JOG PULSE SET COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

NY
N

STATUS1 PORT

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。

BUSY = 0 ?

推奨:MC07_BRStatus1 関数

Y
DATA1 PORT

③ DRIVE DATA1 PORT に JOG パルス数 D15--D0 を書き込みます。
設定範囲は、 0 ～ 65,535 （ H'0000 ～ H'FFFF ）です。

WRITE
COMMAND PORT

④ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

JOG PULSE

D1

D0
D0

●リセット後の初期値は H'0001 (1 パルス) です。
・ JOG PULSE が "0" の場合は、パルス出力なしで、 JOG ドライブを終了します。

- 82 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-1-3. ドライブの実行
ドライブの実行には、ドライブコマンドで直接実行するドライブとデバイスドライバの関数で実行するドライブがあります。
●ドライブコマンドで直接実行するドライブ
・ JOG ドライブ
・ SCAN ドライブ・ INC INDEX ドライブ・ ABS INDEX ドライブ
●デバイスドライバの関数で実行するドライブ
・ ORIGIN ドライブ(機械原点検出はコントローラ側で各工程を自動的に実行します。)
・メインチップ 2 軸相対アドレス直線補間ドライブ関数
・メインチップ 2 軸相対アドレス円弧補間ドライブ関数
ここではドライブコマンドで直接実行するドライブのコマンド仕様を示します。
デバイスドライバの関数で実行するドライブについては各ドライブの関数仕様をご覧ください。

■ JOG ドライブの実行シーケンス① JOG ドライブに必要なパラメータを設定します。
・第 1 パルス出力周期・ JOG パルス速度
・ JOG パルス数

ドライブ
パラメータ設定

ドライブ実行②ドライブを実行します。
初期値および設定値に対して変更が必要な場合に設定します。

(1) +JOG＋(CW)方向の JOG ドライブを実行します。
COMMAND H'10

<実行シーケンス>

STATUS1 PORTNERROR = 0 ?

+JOG COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORT

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。

BUSY = 0 ?

推奨:MC07_BRStatus1 関数

Y
COMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_BWDriveCommand 関数(2) -JOG－(CCW)方向の JOG ドライブを実行します。
COMMAND H'11

<実行シーケンス>

STATUS1 PORTERROR = 0 ?

N-JOG COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORTBUSY = 0 ?
YCOMMAND PORTWRITE

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。
推奨:MC07_BRStatus1 関数③ DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_BWDriveCommand 関数- 83 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■加減速ドライブの実行シーケンス

ドライブ
パラメータ設定①加減速ドライブに必要なパラメータを設定します。
・第 1 パルス出力周期・加減速パラメータ(SPEED･RATE 関数が使用できます。)

ドライブ実行②ドライブを実行します。

初期値および設定値に対して変更が必要な場合に設定します。

(3) +SCAN
停止指令を検出するまで、＋(CW)方向のパルスを連続して出力します。
COMMAND H'12

<実行シーケンス>

STATUS1 PORTNERROR = 0 ?

+SCAN COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORT

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。

BUSY = 0 ?

推奨:MC07_BRStatus1 関数

Y
COMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_BWDriveCommand 関数(4) -SCAN
停止指令を検出するまで、－(CCW)方向のパルスを連続して出力します。
COMMAND H'13

<実行シーケンス>

STATUS1 PORTERROR = 0 ?

N-SCAN COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORTBUSY = 0 ?
YCOMMAND PORTWRITE

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。
推奨:MC07_BRStatus1 関数③ DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_BWDriveCommand 関数- 84 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(5) INC INDEX
指定の相対アドレスに達するまで、＋(CW)方向、または －(CCW)方向のパルスを出力します。
COMMAND H'14

<実行シーケンス>

STATUS1 PORTN

INC INDEX COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

ERROR = 0 ?
Y
NSTATUS1 PORT

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。

BUSY = 0 ?

推奨:MC07_BRStatus1 関数

Y③ DRIVE DATA1 PORT に目的地の相対アドレス D15--D0 を書き込みます。

DATA1 PORTWRITE

④ DRIVE DATA2 PORT に目的地の相対アドレス D31--D16 を書き込みます。
設定範囲は、-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）です。
正数が CW 、負数が CCW 方向です。負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

⑤ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D15

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0
D0

目的地の相対アドレス

DRIVE DATA2 PORT の設定データ
D15
D31

D14

D13

D12

D11

D10

D9

D8

D7

D6

目的地の相対アドレス

D5

D4

D3

D2

D1

D0
D16

・指定する相対アドレスは、起動位置から停止位置までのパルス数を、起動位置を原点として符号付きで表現した値です。
・相対アドレスがオーバフローしているときに、 INC INDEX CHANGE 指令を検出した場合はエラーになり、
ERROR STATUS の INC INDEX ERROR = 1 にします。

- 85 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(6) ABS INDEX
指定の絶対アドレスに達するまで、＋(CW)方向、または －(CCW)方向のパルスを出力します。
COMMAND H'15

<実行シーケンス>

STATUS1 PORTN

ABS INDEX COMMAND① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

ERROR = 0 ?
Y
NSTATUS1 PORT

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。

BUSY = 0 ?

推奨:MC07_BRStatus1 関数

Y③ DRIVE DATA1 PORT に目的地の絶対アドレス A15--A0 を書き込みます。

DATA1 PORTWRITE

④ DRIVE DATA2 PORT に目的地の絶対アドレス A31--A16 を書き込みます。
設定範囲は、-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）です。
負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

⑤ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

A15

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0
A0

目的地の絶対アドレス

DRIVE DATA2 PORT の設定データ
D15
A31

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

目的地の絶対アドレス

D1

D0
A16

・指定する絶対アドレスは、アドレスカウンタで管理している絶対アドレスです。
・以下の場合は、エラーになり、 ERROR STATUS の ABS INDEX ERROR = 1 にします。
ABS INDEX ドライブ実行中に、アドレスカウンタのオーバフローを検出したとき。
アドレスカウンタがオーバフローしているときに、 ABS INDEX CHANGE 指令を検出したとき。

- 86 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-1-4. 停止コマンドの実行
パルス出力停止機能を実行して、ドライブを終了します。
停止コマンドには、減速停止コマンドと即時停止コマンドがあります。

(1) SLOW STOP
コマンドによる減速停止機能を実行します。
このコマンドの実行は常時可能です。
<実行シーケンス>

COMMAND PORTWRITECOMMAND H'FE

SLOW STOP COMMAND① DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_BWDriveCommand 関数

・ DRIVE STATUS1 PORT の STBY = 1 または DRIVE = 1 のときに有効です。

(2) FAST STOP
コマンドによる即時停止機能を実行します。
このコマンドの実行は常時可能です。
<実行シーケンス>

COMMAND PORTWRITECOMMAND H'FF

FAST STOP COMMAND① DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_BWDriveCommand 関数

・ DRIVE STATUS1 PORT の BUSY = 1 のときに有効です。
・ FAST STOP コマンドを検出すると、 BUSY = 0 になるまで、即時停止機能が有効状態になります。

■ コマンド予約機能(応用機能)時の停止コマンド
SLOW STOP コマンドを受け付けると、 DRIVE STATUS1 PORT の SSEND = 1 になります。
FAST STOP コマンドを受け付けると、 DRIVE STATUS1 PORT の FSEND = 1 になります。
この停止コマンドにより停止した各 DRIVE STATUS1 PORT のフラグを ERROR STATUS MASK コマンドの設定によって、 DRIVE STATUS1 PORT の ERROR = 1 にする/しないの設定ができます。
DRIVE STATUS1 PORT の ERROR = 1 になると、予約されているコマンドをキャンセルすることができます。
● SLOW STOP コマンド
ERROR STATUS MASK コマンドで SSEND = 1 で ERROR にしないとき(初期値)
・予約されている汎用コマンドの内、速度パラメータの設定は実行されます。
・実行しているドライブは減速停止した後に、次に予約されているドライブを実行します。
ERROR STATUS MASK コマンドで SSEND = 1 で ERROR にしたとき・予約されている汎用コマンドを全てキャンセルします。
・動作エラークリア関数が実行されるまで、 ERROR = 1 となります。
● FAST STOP コマンド
ERROR STATUS MASK コマンドで FSEND = 1 で ERROR にするとき（初期値）
・予約されている全ての汎用コマンドはキャンセルされます。
・動作エラークリア関数が実行されるまで、 ERROR = 1 となります。
ERROR STATUS MASK コマンドで FSEND = 1 で ERROR にしないとき・予約されている汎用コマンドの内、速度パラメータの設定は実行されます。
・実行しているドライブは即時停止した後に、次に予約されているドライブを実行します。

- 87 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-1-5. サーボ対応機能の実行(1) SIGNAL OUTDRST 信号から汎用出力信号として設定された出力レベルを出力します。
また、OUT A,B から汎用出力信号として設定された出力レベルを出力します。
このコマンドの実行は常時可能です。
<実行シーケンス>
DATA1 PORTCOMMAND H'FC

SIGNAL OUT COMMAND① DRIVE DATA1 PORT に出力レベルの設定を書き込みます。

WRITE
COMMAND PORTWRITE

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

0

0

0

0

0

0

0

0

D7

D6

D3

D2

D1

D0

0

0

0

0

DRST
OUT

－

D5

D4

OUT B

OUT A

OUT

OUT

●リセット後の初期値は H'0000 (すべて OFF レベル出力) です。
D4 ： OUT A OUT
D5 ： OUT B OUT
ステータス信号が出力するレベルを選択します。
0 ： OFF レベル出力
1 ：アクティブレベル出力
・ OUT A,B OUT はステータス外部出力機能(応用機能)を「汎用出力」に設定している場合に有効です。
OUT A,B 信号の出力機能は HARD INITIALIZE1 コマンドで設定します。

D7 ： DRST OUT
出力信号が出力するレベルを選択します。
0 ： OFF レベル出力(HIGH レベル)
1 ：アクティブレベル出力(LOW レベル)・ DRST OUT は DRST 信号の出力機能を「汎用出力」に設定している場合に有効です。
DRST 信号の出力機能は SPEC INITIALIZE3 コマンドで設定します。

- 88 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-1-6. エラー機能の設定と読み出し(1) ERROR STATUS MASKERROR に出力する ERROR STATUS を個別にマスクします。
マスクする設定にすると、マスクされた要因による DRIVE STATUS1 PORT の ERROR = 1 をマスクします。
このコマンドの実行は常時可能です。
<実行シーケンス>

DATA1 PORTCOMMAND H'E5

ERROR STATUS MASK COMMAND① DRIVE DATA1 PORT にマスクデータを書き込みます。

WRITE

COMMAND PORTWRITE

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

FSSTOP
ERROR

DALM
1

MASK

D7

D13

ERROR
MASK

D6

EXT PULSECPP STOP

ERROR

ERROR

MASK

MASK

D5

D12

D11

PULSE

ADDRESS

D10

OVF

OVF

ERROR

ERROR

MASK

MASK

D4

D3

D9

SSEND

LSEND

FSEND

ERROR

ERROR

ERROR

MASK

MASK

MASK

D1

D0

D2

CHANGE

COMREG

CLR

0

ERROR

0

D8

0

MASK

CLR
ERROR
MASK

COMMAND
ERROR
MASK●リセット後の初期値は H'FE00 です。
D15-D0 ：マスクデータ
ERROR に出力する ERROR STATUS のマスクデータを選択します。
0 ：マスクしない
1 ：マスクする・ ERROR 出力は、 ERROR に出力する ERROR STATUS の OR （論理和）出力です。
マスクした ERROR STATUS の出力は、"0" になります。
・マスクしても、 ERROR STATUS はクリアされません。
ERROR STATUS をクリアするときは、動作エラークリア関数を実行してください。
・ D4,D3,D2 の ERROR STATUS は、マスクできません。
D15-D9 の ERROR STATUS は、リセット後の初期状態では「マスクする」です。

※ ORIGIN ドライブ中は、ユーザが設定した ERROR STATUS MASK は無効となり、以下の MASK 状態になります。
ORIGIN ドライブが終了すると ERROR STATUS MASK は、ユーザアプリケーションが設定した状態に戻ります。
・ FSSTOP ERROR MASK・－・ DALM ERROR MASK・ PULSE OVF ERROR MASK・ ADDRESS OVF ERROR MASK・ SSEND ERROR MASK・ LSEND ERROR MASK・ FSEND ERROR MASK

: 0(マスクしない): 1(マスクする): 0(マスクしない): 1(マスクする): 1(マスクする): 0(マスクしない): 0(マスクしない): 0(マスクしない)・ EXT PULSE ERROR MASK・ CPP STOP ERROR MASK・ CHANGE CLR ERROR MASK・－・－・－・ COMREG CLR ERROR MASK・ COMMAND ERROR MASK

- 89 -: 1(マスクする): 1(マスクする): 1(マスクする): 0(マスクしない): 0(マスクしない): 0(マスクしない): 0(マスクしない): 0(マスクしない)MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) ERROR STATUS READ
15 個の ERROR STATUS を読み出します。
ERROR STATUS MASK されていても ERROR STATUS はクリアされずに ERROR 要因を読み出しできます。
このコマンドの実行は常時可能です。
<実行シーケンス>

COMMAND PORTWRITECOMMAND H'D1

ERROR STATUS READ COMMAND① DRIVE COMMAND PORT に COMMAND を書き込みます。
(DATA1,2 PORT は、 H'0000 にして COMMAND を書き込み)

DATA1 PORTREAD

② DRIVE DATA1 PORT から ERROR STATUS を読み出します。
推奨:MC07_LWRDrive 関数(DATA2 PORT は、 H'0000 が読み出されます。)

DRIVE DATA1 PORT の読み出しデータ（ ERROR STATUS ）D15
FSSTOP
ERROR

D7
EXT
PULSE
ERROR

D14
0

D6
CPP STOP
ERROR

D13
DALM
ERROR

D12

D11

PULSE

ADDRESS

OVF

OVF

ERROR

ERROR

D10

D9

D8

SSEND

LSEND

FSEND

ERROR

ERROR

ERROR

D0

D5

D4

D3

D2

D1

CHANGE

INDEX

ABS

INC

COMREG

CLR

CHANGE

INDEX

INDEX

CLR

ERROR

ERROR

ERROR

ERROR

ERROR

COMMANDERROR

各 ERROR STATUS は、"1" でエラーが発生したことを示します。
D0 ： COMMAND ERROR
未定義の汎用コマンドを実行したことを示します。
以下の場合は、エラーになりません。
・未定義の特殊コマンドを実行した・ SPEED CSET
= 1 のときに、スピード系のドライブ CHANGE 設定コマンドを実行した・ SPEED CBUSY= 1 のときに、スピード系のドライブ CHANGE 実行コマンドを実行した
・ INDEX CSET
= 1 のときに、 INDEX CHANGE 設定コマンドを実行した
・ INDEX CBUSY= 1 のときに、 INDEX CHANGE 実行コマンドを実行した
・ COMREG FL= 1 のときに、汎用コマンドを実行した
D1 ： COMREG CLR ERROR(応用機能)
コマンド予約機能で格納している実行待ちの予約コマンドをクリアしたことを示します。
D2 ： INC INDEX ERROR
相対アドレスのオーバフローで、 INC INDEX ドライブを終了したことを示します。
・相対アドレスがオーバフローしているときに、 INC INDEX CHANGE 指令を検出した
D3 ： ABS INDEX ERROR
アドレスカウンタのオーバフローで、 ABS INDEX ドライブを終了したことを示します。
・ ABS INDEX ドライブ実行中に、アドレスカウンタのオーバフローを検出した・アドレスカウンタがオーバフローしているときに、 ABS INDEX CHANGE 指令を検出した
D4 ： INDEX CHANGE ERROR(応用機能)
反転動作が必要な INDEX CHANGE 指令を検出したことを示します。
・反転動作が必要な INDEX CHANGE 指令を検出した
・ ABS INDEX ドライブ中に、アドレスカウンタの現在位置が変更され、反転動作が必要になった
D5 ： CHANGE CLR ERROR(応用機能)
実行待ちの INDEX CHANGE 指令を無効にしたことを示します。

- 90 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D6 ： CPP STOP ERROR(応用機能)
補間ドライブのメイン軸の CPP STOP 機能でドライブを終了したことを示します。
D7 ： EXT PULSE ERROR
外部パルス出力機能を実行中に、正常な外部パルス出力ができなかったことを示します。
なお、コントローラドライバには外部パルス出力機能はありません。
・アクティブ幅の２倍の時間内に、次のカウントタイミングが入力した
D8 ： FSEND ERROR
BUSY = 1 のときに、 DRIVE STATUS1 PORT の FSEND = 1 を検出したことを示します。
D9 ： LSEND ERROR
BUSY = 1 のときに、 DRIVE STATUS1 PORT の LSEND = 1 を検出したことを示します。
D10 ： SSEND ERROR
BUSY = 1 のときに、 DRIVE STATUS1 PORT の SSEND = 1 を検出したことを示します。
D11 ： ADDRESS OVF ERROR
BUSY = 1 のときに、 DRIVE STATUS4 PORT の ADDRESS OVF = 1 を検出したことを示します。
D12 ： PULSE OVF ERRORDRIVE STATUS4 PORT の PULSE OVF = 1 を検出したことを示します。
D13 ： DALM ERRORDRIVE STATUS2 PORT の DALM = 1 を検出したことを示します。
D15 ： FSSTOP ERRORDRIVE STATUS2 PORT の FSSTOP = 1 を検出したことを示します。
・ ERROR STATUS READ コマンドを実行すると、 ERROR STATUS D15--D0 を DRIVE DATA1 PORT(READ)にセットします。
・ FSEND, LSEND, SSEND フラグが "1" でも、次の BUSY = 0 → 1 ではエラー検出されません。
BUSY = 0 → 1 と同時に、 FSEND, LSEND, SSEND = 1 → 0 になります。

- 91 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-1-7. 速度･設定データの読み出し(1) MCC SPEED READ
MCC07E が現在出力しているドライブパルス速度を読み出します。
このコマンドの実行は常時可能です。
<実行シーケンス>

COMMAND H'D4

COMMAND PORTMCC SPEED READ COMMAND① DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE(DATA1,2 PORT は、 H'0000 にして COMMAND を書き込み)

DATA1 PORT

② DRIVE DATA1 PORT からパルス速度データ D15--D0 を読み出します。

READ
DATA2 PORT

③ DRIVE DATA2 PORT からパルス速度データ D31--D16 を読み出します。

READ

推奨:MC07_LWRDrive 関数

DRIVE DATA1 PORT の読み出しデータ
D15

D14

D13

D12

D11

D10

D15

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0
D0

パルス速度データ

DRIVE DATA2 PORT の設定データ
D15
D31

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

パルス速度データ

D0
D16

・読み出すデータは、「ドライブパルス速度（ Hz ）の 10 倍」のパルス速度データです。
ドライブパルス速度（ Hz ）＝ パルス速度データ／ 10・ MCC SPEED READ コマンドを実行すると、 MCC07E が現在出力しているドライブパルス速度の10 倍のデータを DRIVE DATA1, 2 PORT （ READ ）にセットします。
・補間ドライブ実行中は、メイン軸のパルス速度の読み出しのみ有効です。
メイン軸から読み出すデータは、補間ドライブの基本となる加減速パルスの速度です。
・以下の場合は、パルス速度の読み出しは無効です。
DRIVE STATUS1 PORT の DRIVE = 0 のとき
DRIVE STATUS1 PORT の EXT PULSE = 1 のとき（外部パルス出力機能の実行中）- 92 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) MCC SET DATA READ
MCC07E に設定した設定データを読み出します。
このコマンドの実行は常時可能です。
<実行シーケンス>

DATA1 PORTWRITECOMMAND H'D5

MCC SET DATA READ COMMAND① DRIVE DATA1 PORT に読み出すデータの COMMAND CODE を
書き込みます。
(DATA2 PORT は、 H'0000 にして COMMAND を書き込み)

COMMAND PORTWRITE
DATA1 PORTREAD
DATA2 PORTREAD

② DRIVE COMMAND PORT に COMMAND を書き込みます。
③ DRIVE DATA1 PORT から指定した COMMAND CODE の DATA1 PORT の設定データを読み出します。
④ DRIVE DATA2 PORT から指定した COMMAND CODE の DATA2 PORT の設定データを読み出します。
推奨:MC07_LWRDrive 関数

・読み出すデータは、 MCC07E 内部で範囲補正していない設定データです。
・リセット後は、各機能の設定データの初期値が読み出されます。
・ SET DATA READ コマンドを実行すると指定したコマンドの設定データを DRIVE DATA1, 2 PORT (READ)にセットします。
コマンドで書き込みが不要な DATA PORT のデータは、"0" になります。

● 読み出しできるドライブパラメータと各機能の設定データ
COMMAND

汎用コマンド名称

機能

CODE
H'01

SPEC INITIALIZE1

ドライブパルスの出力仕様の設定

H'02

SPEC INITIALIZE2CWLM, CCWLM, RDYINT,SS0,SS1 の設定

H'03

SPEC INITIALIZE3

H'05

FSPD SET(応用機能) 第１パルスのパルス周期の設定

H'06

HIGH SPEED SET(応用機能) 加減速ドライブの速度倍率と最高速度の設定

H'07

LOW SPEED SET(応用機能) 加減速ドライブの開始速度と終了速度の設定

H'08

RATE SET(応用機能) 加減速カーブの変速周期の設定

H'09

SCAREA SET(応用機能) 加減速カーブのＳ字変速領域の設定

H'0A

DOWN PULSE ADJUST(応用機能) 減速パルス数のオフセット設定

H'0C

JSPD SET(応用機能) JOG ドライブのパルス速度の設定

H'0D

JOG PULSE SET(応用機能) JOG ドライブのパルス数の設定

H'0F

ORIGIN SPEC SET(応用機能) ORIGIN ドライブの動作仕様の設定

H'20

CP SPEC SET(応用機能) CPPOUT 出力の設定

H'22

LONG POSITION SET(応用機能) 直線補間ドライブの長軸アドレスの設定

H'23

SHORT POSITION SET(応用機能) 直線補間ドライブの短軸アドレスの設定

H'28

CIRCULAR XPOSITION SET(応用機能) 円弧補間ドライブの X 座標アドレスの設定

H'29

CIRCULAR YPOSITION SET(応用機能) 円弧補間ドライブの Y 座標アドレスの設定

H'2A

CIRCULAR PULSE SET(応用機能) 円弧補間ドライブの短軸パルス数の設定

DRST, DEND, DALM, STBY, 自動減速の設定- 93 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書● 読み出しできる各機能の設定データ
COMMAND

汎用コマンド名称

機能

CODE
H'81

ADDRESS COUNTER INITIALIZE1

H'82

ADDRESS COUNTER INITIALIZE2

H'87

ADDRESS COUNTER MAX COUNT SET

H'88

ADRINT COMPARE REGISTER1 SETADRINT のコンペアレジスタ１の設定

H'89

ADRINT COMPARE REGISTER2 SETADRINT のコンペアレジスタ２の設定

H'8A

ADRINT COMPARE REGISTER3 SETADRINT のコンペアレジスタ３の設定

H'8C

ADRINT COMP1 ADD DATA SETADRINT の COMP1 ADD データの設定

H'91

PULSE COUNTER INITIALIZE1

パルスカウンタの各機能の設定

H'92

PULSE COUNTER INITIALIZE2

H'97

PULSE COUNTER MAX COUNT SET

H'98

CNTINT COMPARE REGISTER1 SET

H'99

CNTINT COMPARE REGISTER2 SET

CNTINT のコンペアレジスタ２の設定

H'9A

CNTINT COMPARE REGISTER3 SET

CNTINT のコンペアレジスタ３の設定

H'9C

CNTINT COMP1 ADD DATA SET

CNTINT の COMP1 ADD データの設定

H'A1

DFL COUNTER INITIALIZE1

パルス偏差カウンタの各機能の設定

H'A2

DFL COUNTER INITIALIZE2

パルス偏差カウンタの各機能の設定

H'A3

DFL COUNTER INITIALIZE3

パルス偏差カウンタの各機能の設定

H'A8

DFLINT COMPARE REGISTER1 SETDFLINT のコンペアレジスタ１の設定

H'A9

DFLINT COMPARE REGISTER2 SETDFLINT のコンペアレジスタ２の設定

H'AA

DFLINT COMPARE REGISTER3 SETDFLINT のコンペアレジスタ３の設定

H'AC

DFLINT COMP1 ADD DATA SETDFLINT の COMP1 ADD データの設定

アドレスカウンタの各機能の設定
アドレスカウンタの各機能の設定(応用機能) アドレスカウンタの最大カウント数の設定

パルスカウンタの各機能の設定(応用機能) パルスカウンタの最大カウント数の設定
CNTINT のコンペアレジスタ１の設定

H'C0

UDC SPEC SET(応用機能) UP/DOWN/CONST の変更動作点の設定

H'C1

SPEED CHANGE SPEC SET(応用機能) SPEED CHANGE の変更動作点の設定

H'C3

INDEX CHANGE SPEC SET(応用機能) INDEX CHANGE の変更動作点の設定

H'E5

ERROR STATUS MASK

H'E8

COUNT LATCH SPEC SET(応用機能) カウントデータのラッチタイミングの設定

H'F1

HARD INITIALIZE1(応用機能) OUTA,OUTB の設定

H'F4

HARD INITIALIZE4(応用機能) 軸制御部のデジタルフィルタの設定

H'F5

HARD INITIALIZE5(応用機能) 軸制御部のデジタルフィルタの設定

H'F6

HARD INITIALIZE6(応用機能) 外部パルスのデジタルフィルタの設定

H'F7

HARD INITIALIZE7(応用機能) 入力信号のアクティブ論理の選択

H'FC

SIGNAL OUTERROR に出力する ERROR STATUS のマスク

汎用出力信号の操作＊ COMMAND CODE H'88, H'98 HA8 の COMPARE REGISTER1 SET コマンドのデータは、
自動加算機能で加算された現在値が読み出されます。

- 94 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-1-8. その他(1) NO OPERATION
機能はありません。
COMMAND H'00

<実行シーケンス>

STATUS1 PORTERROR = 0 ?

NO OPERATION COMMANDN① DRIVE STATUS1 PORT の ERROR フラグが "0" であることを確認します。

Y
N

STATUS1 PORTBUSY = 0 ?
YCOMMAND PORTWRITE

② DRIVE STATUS1 PORT の BUSY フラグが "0" であることを確認します。
推奨:MC07_BRStatus1 関数③ DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_BWDriveCommand 関数

このコマンドの実行により、以下の STATUS フラグがクリアされます。
・ DRIVE STATUS1 PORT の DRVEND フラグ
・ DRIVE STATUS1 PORT の LSEND フラグ
・ DRIVE STATUS1 PORT の SSEND フラグ
・ DRIVE STATUS1 PORT の FSEND フラグ- 95 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書4-2. カウンタコマンド
4-2-1. アドレスカウンタの設定(1) ADDRESS COUNTER INITIALIZE1
アドレスカウンタの各機能を設定します。
このコマンドの実行は常時可能です。
<実行シーケンス>

DATA1 PORTWRITECOMMAND PORTWRITECOMMAND H'81

ADDRESS COUNTER INITIALIZE1 COMMAND① DRIVE DATA1 PORT に設定データを書き込みます。

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

AUTO

AUTO

COMP

COMP

ADRINTADRINT

ADD

CLEAR

GATE

GATE

PULSE

PULSE

ENABLEENABLE

TYPE1

TYPE0

TYPE1

TYPE0

D9

D8

ADRINTADRINT

TYPE1

TYPE0

D7

D6

D5

D4

D3

D2

D1

D0

EXT

EXT

EXT

EXT

EXT

EXT

COUNT

COUNT

COUNT

PULSE

PULSE

PULSE

COUNT

COUNT

PULSE

PULSE

DIRECTION

TYPE2

TYPE1

TYPE0

TYPE1

TYPE0

SEL1

SEL0

●リセット後の初期値は H'0030 (アンダーライン側) です。

D0 ： COUNT PULSE SEL0
D1 ： COUNT PULSE SEL1
カウンタのカウントパルスを選択します。
選択したカウントパルスは、 CWP, CCWP 端子から出力するドライブパルスになります。
＜ Xn, Zn, Bn 軸に設定する場合＞
SEL1

SEL0

カウントパルス

カウント方向00

自軸(Xn,Zn,Bn 軸)の発生パルスをカウントする＋方向出力でカウントアップ

0

1

他軸(Yn,An,Cn 軸)の発生パルスをカウントする

1

0

自軸(Xn,Zn,Bn 軸)の外部パルス信号をカウントする

1

1

他軸(Yn,An,Cn 軸)の外部パルス信号をカウントする－方向出力でカウントダウン

EXT COUNT DIRECTION
で選択＜ Yn, An, Cn 軸に設定する場合＞
SEL1

SEL0

カウントパルス

カウント方向00

自軸(Yn,An,Cn 軸)の発生パルスでカウントする＋方向出力でカウントアップ

0

1

他軸(Xn,Zn,Bn 軸)の発生パルスをカウントする

10

他軸(Xn,Zn,Bn 軸)の外部パルス信号をカウントする

1

1

自軸(Yn,An,Cn 軸)の外部パルス信号でカウントする－方向出力でカウントダウン

EXT COUNT DIRECTION
で選択

・ DRIVE STATUS1 PORT の EXT PULSE = 0 、 BUSY = 1 のときに「"10", "11"」を選択した場合は、実行中の処理を終了した後（ BUSY = 0 ）に、 EXT PULSE = 1 、 BUSY = 1 になります。

- 96 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D2 ： EXT COUNT TYPE0
D3 ： EXT COUNT TYPE1
外部パルス信号入力のカウント方法を選択します。
TYPE1

TYPE0

カウント方法00

EA, EB を１逓倍でカウントする

0

1

EA, EB を２逓倍でカウントする

1

0

EA, EB を４逓倍でカウントする

1

1

EA で＋方向のカウント、 EB で－方向のカウント

パルス入力方式
位相差信号入力
独立方向パルス入力

D4 ： EXT PULSE TYPE0
D5 ： EXT PULSE TYPE1
D6 ： EXT PULSE TYPE2
外部パルス信号のカウントタイミングのアクティブ幅を選択します。
TYPE2

TYPE1

TYPE0

アクティブ幅

TYPE2

TYPE1

TYPE0

アクティブ幅000100 ns100

2.0 µs001

200 ns10

15.0 µs010500 ns

1

1

0

10 µs

0

1

1

1.0 µs

1

1

1

20 µs

・外部パルス信号は、逓倍したカウントタイミングを、選択したアクティブ幅のパルスに変換してアドレスカウンタの COUNT PULSE SEL ブロックに入力します。
・カウンタのカウントパルスを「外部パルス信号」に設定した場合は、選択したアクティブ幅のパルスが、カウンタのカウントパルスおよび CWP, CCWP 端子の出力パルスになります。

D7 ： EXT COUNT DIRECTION
外部パルス入力 EA, EB のカウント方向を選択します。
0 ：外部パルス信号の入力方向と同じ方向にカウントする
1 ：外部パルス信号の入力方向と逆の方向にカウントする
・「 0 ：同じ方向」の場合は、＋方向入力で、＋方向カウント（＋方向パルス出力）、－方向入力で、－方向カウント（－方向パルス出力）になります。

・「 1 ：逆の方向」の場合は、 ＋方向入力で、－方向カウント（－方向パルス出力）、－方向入力で、＋方向カウント（＋方向パルス出力）になります。
・カウンタのカウントパルスを「外部パルス信号」に設定した場合は、選択したカウント方向がカウンタのカウント方向、およびドライブパルスの出力方向になります。

D8 ： ADRINT TYPE0
D9 ： ADRINT TYPE1
DRIVE STATUS4 PORT と ADRINT に出力する COMP1, 2, 3 の一致出力の、出力仕様を選択します。
TYPE1

TYPE0

COMP1, 2, 3 の一致出力の出力仕様

クリア条件
検出条件が不一致のときに00

一致出力をレベルラッチして出力する

DRIVE STATUS4 PORTのリード終了でクリア
DRIVE STATUS4 PORT の01

一致出力をエッジラッチして出力する

10

一致出力をそのままスルーで出力する

1

1

一致出力をエッジラッチして出力する

リード終了でクリア
検出条件の不一致でクリア
INT FACTOR CLR コマンドのADRINT INT CLR = 1 の実行でクリア

・レベルラッチの場合は、検出条件が一致している間はクリアできません。
スルー出力の場合は、 ADRINT PULSE TYPE で最小出力幅を選択します。
※ 割り込み関数で ADRINT 割り込みを使用するときは、 ADRINT TYPE1,0="1,1"の設定にしてください。
・ COMP1,2,3 の一致出力の出力仕様…『一致出力をエッジラッチして出力する』
・クリア条件…『 INT FACTOR CLR コマンドの ADRINT INT CLR=1 実行でクリア』- 97 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D10 ： ADRINT PULSE TYPE0
D11 ： ADRINT PULSE TYPE1
COMP1, 2, 3 の一致出力をスルー出力に選択したときの、最小出力幅を選択します。
TYPE1

TYPE0

一致出力の最小出力幅00200 ns

0

1

10 µs

1

0

100 µs111,000 µs

・スルー出力にオートクリア機能または自動加算機能を併用した場合は、この最小出力幅を出力します。
この最小出力幅はリトリガ出力です。

D12 ： COMP GATE TYPE0
D13 ： COMP GATE TYPE1ADRINT に出力する COMP1, 2, 3 の一致出力の、合成出力を選択します。
TYPE1

TYPE0

0

0

COMP1

OR

(COMP2

OR

0

1

COMP1

OR

(COMP2

AND

COMP3)

1

0

COMP1

AND

(COMP2

ORCOMP3)

1

1

COMP1

AND

(COMP2

AND

COMP3)

一致出力の合成出力
COMP3)

OR ：論理和、 AND ：論理積

D14 ： AUTO CLEAR ENABLE
COMP1 のオートクリア機能で、カウンタを「クリアする／クリアしない」を選択します。
0 ： COMP1 の一致出力でカウンタをクリアしない
1 ： COMP1 の一致出力でカウンタをクリアする■オートクリア機能
COMP1 の一致検出と同時に、アドレスカウンタのデータを "0" にクリアします。
COMP1 の一致出力がスルー出力のときは、一致出力の最小出力幅を出力します。

D15 ： AUTO ADD ENABLE
COMP1 の自動加算機能で、検出データを「再設定する／再設定しない」を選択します。
0 ： COMP1 の一致出力でデータを再設定しない
1 ： COMP1 の一致出力でデータを再設定する■自動加算機能COMP1 の一致検出と同時に、 COMP1 ADD データに設定されているデータを、COMPARE REGISTER1 のデータに加算して、 COMPARE REGISTER1 を再設定します。
COMPARE REGISTER1 <= COMPARE REGISTER1 ＋ COMP1 ADD データ
COMP1 の一致出力がスルー出力のときは、一致出力の最小出力幅を出力します。

- 98 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) ADDRESS COUNTER INITIALIZE2
アドレスカウンタの各機能を設定します。
このコマンドの実行は常時可能です。
<実行シーケンス>

DATA1 PORTWRITECOMMAND PORTWRITECOMMAND H'82

ADDRESS COUNTER INITIALIZE2 COMMAND① DRIVE DATA1 PORT に設定データを書き込みます。

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

COMP3

COMP3

COMP2

COMP2

TYPE1

TYPE0

TYPE1

TYPE0

D7

D6

D5

D4

COMP2

COMP2

COMP2

COMP2

STOP

STOP

STOP

INT

TYPE1

TYPE0

ENABLEENABLE

D11

D10

D9

D8

COMP3

COMP3

COMP3

COMP3

STOP

STOP

STOP

INT

TYPE1

TYPE0

ENABLEENABLE

D3
－

D2

D1

D0

COMP1

COMP1

COMP1

STOP

STOP

INT

TYPE

ENABLEENABLE●リセット後の初期値は H'0000 (アンダーライン側) です。

D0 ： COMP1 INT ENABLE
COMP1 の一致出力を、 ADRINT に「出力する／出力しない」を選択します。
0 ： COMP1 の一致出力を ADRINT に出力しない
1 ： COMP1 の一致出力を ADRINT に出力する

D1 ： COMP1 STOP ENABLE
COMP1 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP1 の一致出力の停止機能を実行しない
1 ： COMP1 の一致出力の停止機能を実行する

D2 ： COMP1 STOP TYPECOMP1 の一致出力による停止機能を選択します。
0 ：一致出力でパルス出力を即時停止する
1 ：一致出力でパルス出力を減速停止する
・ COMP1 の検出条件は、「カウンタの値 ＝ COMPARE REGISTER1 の値」です。

D4 ： COMP2 INT ENABLE
COMP2 の一致出力を、 ADRINT に「出力する／出力しない」を選択します。
0 ： COMP2 の一致出力を ADRINT に出力しない
1 ： COMP2 の一致出力を ADRINT に出力する

D5 ： COMP2 STOP ENABLE
COMP2 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP2 の一致出力の停止機能を実行しない
1 ： COMP2 の一致出力の停止機能を実行する- 99 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
D6 ： COMP2 STOP TYPE0
D7 ： COMP2 STOP TYPE1
COMP2 の一致出力による停止機能を選択します。
TYPE1

TYPE0

COMP2 の停止機能

00

一致出力でパルス出力を即時停止する

01

一致出力でパルス出力を減速停止する

10

一致出力で、＋(CW)方向のパルス出力を即時停止する

1

1

一致出力で、＋(CW)方向のパルス出力を減速停止する

D8 ： COMP3 INT ENABLE
COMP3 の一致出力を、 ADRINT に「出力する／出力しない」を選択します。
0 ： COMP3 の一致出力を ADRINT に出力しない
1 ： COMP3 の一致出力を ADRINT に出力する

D9 ： COMP3 STOP ENABLE
COMP3 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP3 の一致出力の停止機能を実行しない
1 ： COMP3 の一致出力の停止機能を実行する

D10 ： COMP3 STOP TYPE0
D11 ： COMP3 STOP TYPE1
COMP3 の一致出力による停止機能を選択します。
TYPE1

TYPE0

COMP3 の停止機能

00

一致出力でパルス出力を即時停止する

01

一致出力でパルス出力を減速停止する

10

一致出力で、－(CCW)方向のパルス出力を即時停止する

1

1

一致出力で、－(CCW)方向のパルス出力を減速停止する

D12 ： COMP2 TYPE0
D13 ： COMP2 TYPE1
COMP2 の検出条件を選択します。
TYPE1

TYPE0

COMP2 の検出条件

00

カウンタの値 ＝ COMPARE REGISTER2 の値

01

カウンタの値 ≧ COMPARE REGISTER2 の値

10

カウンタの値 ≦ COMPARE REGISTER2 の値

1

1

設定禁止

D14 ： COMP3 TYPE0
D15 ： COMP3 TYPE1
COMP3 の検出条件を選択します。
TYPE1

TYPE0

COMP3 の検出条件

00

カウンタの値 ＝ COMPARE REGISTER3 の値

01

カウンタの値 ≧ COMPARE REGISTER3 の値

10

カウンタの値 ≦ COMPARE REGISTER3 の値

1

1

設定禁止

- 100 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) ADDRESS COUNTER PRESET
アドレスカウンタの現在位置を設定します。
このコマンドは常時実行可能です。
<実行シーケンス>

COMMAND H'80

ADDRESS COUNTER PRESET COMMAND① DRIVE DATA1 PORT に現在位置 A15--A0 を書き込みます。

DATA1 PORTWRITE

② DRIVE DATA2 PORT に現在位置 A31--A16 を書き込みます。
設定範囲は、アドレスカウンタで管理している絶対アドレスの範囲です。
-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

A15

D7

D6

D5

D4

D3

D2

D1

D0
A0

現在位置

DRIVE DATA2 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

A31

D7

D6

D5

D4

D3

D2

D1

D0
A16

現在位置

●リセット後の初期値は H'0000_0000 です。
・現在位置には、 H'8000_0000 を設定することもできます。
ただし、 H'8000_0000 を設定すると、 DRIVE STATUS4 PORT の ADDRESS OVF = 1 になります。
・以下の場合は、エラーになり、 ERROR STATUS の INDEX CHANGE ERROR = 1 にします。
ABS INDEX ドライブ中に、 ADDRESS COUNTER PRESET コマンドの実行で現在位置が変更され、反転動作が必要な状態になったとき。

- 101 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(4) ADRINT COMPARE REGISTER1,2,3 SET
アドレスカウンタの COMPARE REGISTER1, 2, 3 に検出位置を設定します。
このコマンドの実行は常時可能です。

<実行シーケンス>

COMMAND H'88

ADRINT COMPARE REGISTER1 SET COMMAND

COMMAND H'89

ADRINT COMPARE REGISTER2 SET COMMAND

COMMAND H'8A

ADRINT COMPARE REGISTER3 SET COMMAND① DRIVE DATA1 PORT に検出位置 A15--A0 を書き込みます。

DATA1 PORTWRITE

② DRIVE DATA2 PORT に検出位置 A31--A16 を書き込みます。
設定範囲は、アドレスカウンタで管理している絶対アドレスの範囲です。
-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

A15

D7

D6

D5

D4

D3

D2

D1

D0
A0

検出位置

DRIVE DATA2 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

A31

D7

D6

D5

D4

D3

D2

D1

D0
A16

検出位置

●リセット後の初期値は H'8000_0000 です。

- 102 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(5) ADRINT COMP1 ADD DATA SET
アドレスカウンタの COMP1 の加算データを設定します。
このコマンドは常時実行可能です。
<実行シーケンス>

COMMAND H'8C

DATA1 PORTADRINT COMP1 ADD DATA SET COMMAND① DRIVE DATA1 PORT に COMP1 ADD データ A15--A0 を書き込みます。

WRITE② DRIVE DATA2 PORT に COMP1 ADD データ A31--A16 を書き込みます。
設定範囲は、アドレスカウンタで管理している絶対アドレスの範囲です。
-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

A15

D9

D8

D7

D6

D5

D4

D3

D2

D1

COMP1 ADD データ

D0
A0

DRIVE DATA2 PORT の設定データ
D15
A31

D14

D13

D12

D11

D10

D9

D8

D7

D6

COMP1 ADD データ●リセット後の初期値は H'0000_0000 です。

- 103 -

D5

D4

D3

D2

D1

D0
A16

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-2-2. パルスカウンタの設定(1) PULSE COUNTER INITIALIZE1※ ORIGIN ドライブ中は、パルスカウンタを使用することはできません。
パルスカウンタの各機能を設定します。このコマンドの実行は常時可能です。
<実行シーケンス>
DATA1 PORTWRITECOMMAND PORTWRITECOMMAND H'91

PULSE COUNTER INITIALIZE1 COMMAND① DRIVE DATA1 PORT に設定データを書き込みます。

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

AUTO

AUTO

COMP

COMP

CNTINT

CNTINT

ADD

CLEAR

GATE

GATE

PULSE

PULSE

ENABLEENABLE

TYPE1

TYPE0

TYPE1

TYPE0

D7

D6

D5

D4

－

COUNT

－

－

D8

CNTINT

CNTINT

TYPE1

TYPE0

D3

D2

D1

D0

EXT

EXT

COUNT

COUNT

COUNT

COUNT

PULSE

PULSE

TYPE1

TYPE0

SEL1

SEL0

EXT
DIRECTION

D9●リセット後の初期値は H'0000 (アンダーライン側) です。
D0 ： COUNT PULSE SEL0
D1 ： COUNT PULSE SEL1
カウンタのカウントパルスを選択します。
＜ Xn, Zn, Bn 軸に設定する場合＞
SEL1

SEL0

カウントパルス

カウント方向00

自軸(Xn,Zn,Bn 軸)の出力パルスをカウントする＋方向出力でカウントアップ

0

1

他軸(Yn,An,Cn 軸)の出力パルスをカウントする

1

0

自軸(Xn,Zn,Bn 軸)の外部パルス信号をカウントする

1

1

他軸(Yn,An,Cn 軸)の外部パルス信号をカウントする－方向出力でカウントダウン

EXT COUNT DIRECTION
で選択＜ Yn, An, Cn 軸に設定する場合＞
SEL1

SEL0

カウントパルス

カウント方向00

自軸(Yn,An,Cn 軸)の出力パルスをカウントする＋方向出力でカウントアップ

0

1

他軸(Xn,Zn,Bn 軸)の出力パルスをカウントする

10

他軸(Xn,Zn,Bn 軸)の外部パルス信号をカウントする

1

1

自軸(Yn,An,Cn 軸)の外部パルス信号をカウントする－方向出力でカウントダウン

EXT COUNT DIRECTION
で選択

D2 ： EXT COUNT TYPE0
D3 ： EXT COUNT TYPE1
外部パルス信号入力のカウント方法を選択します。
TYPE1

TYPE0

カウント方法00

EA, EB を１逓倍でカウントする

0

1

EA, EB を２逓倍でカウントする

1

0

EA, EB を４逓倍でカウントする

1

1

EA で＋方向のカウント、 EB で－方向のカウント

パルス入力方式- 104 -

位相差信号入力
独立方向パルス入力

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D7 ： EXT COUNT DIRECTION
外部パルス信号入力 EA, EB のカウント方向を選択します。
0 ：外部パルス信号の入力方向と同じ方向にカウントする
1 ：外部パルス信号の入力方向と逆の方向にカウントする
・「 0 ：同じ方向」の場合は、＋方向入力で、＋方向カウント（＋方向パルス出力）、－方向入力で、－方向カウント（－方向パルス出力）になります。

・「 1 ：逆の方向」の場合は、 ＋方向入力で、－方向カウント（－方向パルス出力）、－方向入力で、＋方向カウント（＋方向パルス出力）になります。
・カウンタのカウントパルスを「外部パルス信号」に設定した場合は、選択したカウント方向がカウンタのカウント方向になります。

D8 ： CNTINT TYPE0
D9 ： CNTINT TYPE1
DRIVE STATUS4 PORT と CNTINT に出力する COMP1, 2, 3 の一致出力の、出力仕様を選択します。
TYPE1

TYPE0

COMP1, 2, 3 の一致出力の出力仕様

クリア条件
検出条件が不一致のときに00

一致出力をレベルラッチして出力する

DRIVE STATUS4 PORTのリード終了でクリア

0

1

一致出力をエッジラッチして出力する

10

一致出力をそのままスルーで出力する

1

1

一致出力をエッジラッチして出力する

DRIVE STATUS4 PORTのリード終了でクリア検出条件の不一致でクリア
INT FACTOR CLR コマンドのCNTINT INT CLR = 1 の実行でクリア

・レベルラッチの場合は、検出条件が一致している間はクリアできません。
スルー出力の場合は、 CNTINT PULSE TYPE で最小出力幅を選択します。
※ 割り込み関数で CNTINT 割り込みを使用するときは、 CNTINT TYPE1,0="1,1" の設定にしてください。
・ COMP1,2,3 の一致出力の出力仕様…『一致出力をエッジラッチして出力する』
・クリア条件…『 INT FACTOR CLR コマンドの CNTINT INT CLR=1 実行でクリア』

D10 ： CNTINT PULSE TYPE0
D11 ： CNTINT PULSE TYPE1
COMP1, 2, 3 の一致出力をスルー出力に選択したときの、最小出力幅を選択します。
TYPE1

TYPE0

一致出力の最小出力幅00200 ns

0

1

10 µs

1

0

100 µs111,000 µs

・スルー出力にオートクリア機能または自動加算機能を併用した場合は、この最小出力幅を出力します。
この最小出力幅はリトリガ出力です。

D12 ： COMP GATE TYPE0
D13 ： COMP GATE TYPE1
CNTINT に出力する COMP1, 2, 3 の一致出力の、合成出力を選択します。
TYPE1

TYPE0

0

0

COMP1

OR

(COMP2

OR

0

1

COMP1

OR

(COMP2

AND

COMP3)

1

0

COMP1

AND

(COMP2

ORCOMP3)

1

1

COMP1

AND

(COMP2

AND

COMP3)

一致出力の合成出力
COMP3)- 105 -

OR ：論理和、 AND ：論理積

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D14 ： AUTO CLEAR ENABLE
COMP1 のオートクリア機能で、カウンタを「クリアする／クリアしない」を選択します。
0 ： COMP1 の一致出力でカウンタをクリアしない
1 ： COMP1 の一致出力でカウンタをクリアする■オートクリア機能
COMP1 の一致検出と同時に、パルスカウンタのデータを "0" にクリアします。
COMP1 の一致出力がスルー出力のときは、一致出力の最小出力幅を出力します。

D15 ： AUTO ADD ENABLE
COMP1 の自動加算機能で、検出データを「再設定する／再設定しない」を選択します。
0 ： COMP1 の一致出力でデータを再設定しない
1 ： COMP1 の一致出力でデータを再設定する■自動加算機能COMP1 の一致検出と同時に、 COMP1 ADD データに設定されているデータを、COMPARE REGISTER1 のデータに加算して、 COMPARE REGISTER1 を再設定します。
COMPARE REGISTER1 <= COMPARE REGISTER1 ＋ COMP1 ADD データ
COMP1 の一致出力がスルー出力のときは、一致出力の最小出力幅を出力します。

- 106 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) PULSE COUNTER INITIALIZE2
パルスカウンタの各機能を設定します。
このコマンドの実行は常時可能です。
<実行シーケンス>

DATA1 PORTWRITECOMMAND PORTWRITECOMMAND H'92

PULSE COUNTER INITIALIZE2 COMMAND① DRIVE DATA1 PORT に設定データを書き込みます。

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

COMP3

COMP3

COMP2

COMP2

TYPE1

TYPE0

TYPE1

TYPE0

D7

D6

D5

D4

COMP2

COMP2

COMP2

COMP2

STOP

STOP

STOP

INT

TYPE1

TYPE0

ENABLEENABLE

D11

D10

D9

D8

COMP3

COMP3

COMP3

COMP3

STOP

STOP

STOP

INT

TYPE1

TYPE0

ENABLEENABLE

D3
－

D2

D1

D0

COMP1

COMP1

COMP1

STOP

STOP

INT

TYPE

ENABLEENABLE●リセット後の初期値は H'0000 (アンダーライン側) です。

D0 ： COMP1 INT ENABLE
COMP1 の一致出力を、 CNTINT に「出力する／出力しない」を選択します。
0 ： COMP1 の一致出力を CNTINT に出力しない
1 ： COMP1 の一致出力を CNTINT に出力する

D1 ： COMP1 STOP ENABLE
COMP1 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP1 の一致出力の停止機能を実行しない
1 ： COMP1 の一致出力の停止機能を実行する

D2 ： COMP1 STOP TYPECOMP1 の一致出力による停止機能を選択します。
0 ：一致出力でパルス出力を即時停止する
1 ：一致出力でパルス出力を減速停止する
・ COMP1 の検出条件は、「カウンタの値 ＝ COMPARE REGISTER1 の値」です。

D4 ： COMP2 INT ENABLE
COMP2 の一致出力を、 CNTINT に「出力する／出力しない」を選択します。
0 ： COMP2 の一致出力を CNTINT に出力しない
1 ： COMP2 の一致出力を CNTINT に出力する

D5 ： COMP2 STOP ENABLE
COMP2 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP2 の一致出力の停止機能を実行しない
1 ： COMP2 の一致出力の停止機能を実行する- 107 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D6 ： COMP2 STOP TYPE0
D7 ： COMP2 STOP TYPE1
COMP2 の一致出力による停止機能を選択します。
TYPE1

TYPE0

COMP2 の停止機能

00

一致出力でパルス出力を即時停止する

01

一致出力でパルス出力を減速停止する

10

一致出力で、＋(CW)方向のパルス出力を即時停止する

1

1

一致出力で、＋(CW)方向のパルス出力を減速停止する

D8 ： COMP3 INT ENABLE
COMP3 の一致出力を、 CNTINT に「出力する／出力しない」を選択します。
0 ： COMP3 の一致出力を CNTINT に出力しない
1 ： COMP3 の一致出力を CNTINT に出力する

D9 ： COMP3 STOP ENABLE
COMP3 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP3 の一致出力の停止機能を実行しない
1 ： COMP3 の一致出力の停止機能を実行する

D10 ： COMP3 STOP TYPE0
D11 ： COMP3 STOP TYPE1
COMP3 の一致出力による停止機能を選択します。
TYPE1

TYPE0

COMP3 の停止機能

00

一致出力でパルス出力を即時停止する

01

一致出力でパルス出力を減速停止する

10

一致出力で、－(CCW)方向のパルス出力を即時停止する

1

1

一致出力で、－(CCW)方向のパルス出力を減速停止する

D12 ： COMP2 TYPE0
D13 ： COMP2 TYPE1
COMP2 の検出条件を選択します。
TYPE1

TYPE0

COMP2 の検出条件

00

カウンタの値 ＝ COMPARE REGISTER2 の値

01

カウンタの値 ≧ COMPARE REGISTER2 の値

10

カウンタの値 ≦ COMPARE REGISTER2 の値

1

1

設定禁止

D14 ： COMP3 TYPE0
D15 ： COMP3 TYPE1
COMP3 の検出条件を選択します。
TYPE1

TYPE0

COMP3 の検出条件

00

カウンタの値 ＝ COMPARE REGISTER3 の値

01

カウンタの値 ≧ COMPARE REGISTER3 の値

10

カウンタの値 ≦ COMPARE REGISTER3 の値

1

1

設定禁止

- 108 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) PULSE COUNTER PRESET
パルスカウンタのカウント初期値を設定します。
このコマンドは常時実行可能です。
<実行シーケンス>

COMMAND H'90

PULSE COUNTER PRESET COMMAND① DRIVE DATA1 PORT にカウント初期値 D15--D0 を書き込みます。

DATA1 PORTWRITE

② DRIVE DATA2 PORT にカウント初期値 D31--D16 を書き込みます。
設定範囲は、-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）です。
負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D15

D8

D7

D6

D5

D4

D3

D2

D1

D0
D0

カウント初期値

DRIVE DATA2 PORT の設定データ
D15
D31

D14

D13

D12

D11

D10

D9

D8

D7

D6

カウント初期値

D5

D4

D3

D2

D1

D0
D16

●リセット後の初期値は H'0000_0000 です。
・現在位置には、 H'8000_0000 を設定することもできます。
ただし、 H'8000_0000 を設定すると、 DRIVE STATUS4 PORT の PULSE OVF = 1 になります。

- 109 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(4) CNTINT COMPARE REGISTER1,2,3 SET
パルスカウンタの COMPARE REGISTER1, 2, 3 に検出値を設定します。
このコマンドの実行は常時可能です。

<実行シーケンス>

COMMAND H'98

CNTINT COMPARE REGISTER1 SET COMMAND

COMMAND H'99

CNTINT COMPARE REGISTER2 SET COMMAND

COMMAND H'9A

CNTINT COMPARE REGISTER3 SET COMMAND① DRIVE DATA1 PORT に検出値 D15--D0 を書き込みます。

DATA1 PORTWRITE

② DRIVE DATA2 PORT に検出値 D31--D16 を書き込みます。
設定範囲は、-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）です。
負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

D15

D7

D6

D5

D4

D3

D2

D1

D0
D0

検出値

DRIVE DATA2 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

D31

D7

D6

D5

D4

D3

D2

D1

D0
D16

検出値

●リセット後の初期値は H'8000_0000 です。

- 110 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(5) CNTINT COMP1 ADD DATA SET
パルスカウンタの COMP1 の加算データを設定します。
このコマンドは常時実行可能です。
<実行シーケンス>

COMMAND H'9C

DATA1 PORT

CNTINT COMP1 ADD DATA SET COMMAND① DRIVE DATA1 PORT に COMP1 ADD データ D15--D0 を書き込みます。

WRITE② DRIVE DATA2 PORT に COMP1 ADD データ D31--D16 を書き込みます。
設定範囲は、-2,147,483,648 ～+2,147,483,647 （ H'8000_0000 ～ H'7FFF_FFFF ）です。
負数の場合は 2 の補数表現にします。

DATA2 PORTWRITECOMMAND PORT

③ DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D15

D9

D8

D7

D6

D5

D4

D3

D2

D1

COMP1 ADD データ

D0
D0

DRIVE DATA2 PORT の設定データ
D15
D31

D14

D13

D12

D11

D10

D9

D8

D7

D6

COMP1 ADD データ●リセット後の初期値は H'0000_0000 です。

- 111 -

D5

D4

D3

D2

D1

D0
D16

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-2-3. パルス偏差カウンタの設定(1) DFL COUNTER INITIALIZE1
パルス偏差カウンタの各機能を設定します。
このコマンドの実行は常時可能です。
<実行シーケンス>

DATA1 PORTCOMMAND H'A1

DFL COUNTER INITIALIZE1 COMMAND① DRIVE DATA1 PORT に設定データを書き込みます。

WRITE
COMMAND PORTWRITE

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

AUTO

AUTO

COMP

COMP

DFLINTDFLINT

ADD

CLEAR

GATE

GATE

PULSE

PULSE

ENABLEENABLE

TYPE1

TYPE0

TYPE1

TYPE0

D7
DIVISION
TYPE

D9

D8

DFLINTDFLINT

TYPE1

TYPE0

D6

D5

D4

D3

D2

D1

D0

TIMER

TIMER

TIMER

EXT

EXT

COUNT

COUNT

START

START

START

COUNT

COUNT

PULSE

PULSE

TYPE2

TYPE1

TYPE0

TYPE1

TYPE0

SEL1

SEL0

●リセット後の初期値は H'0000 (アンダーライン側) です。
D0 ： COUNT PULSE SEL0
D1 ： COUNT PULSE SEL1
カウンタのカウントパルスを選択します。
＜ Xn, Zn, Bn 軸に設定する場合＞
SEL1

SEL0

カウントパルス１

カウントパルス２

00

自軸(Xn,Zn,Bn 軸)の外部パルス信号

自軸(Xn,Zn,Bn 軸)の出力パルス01

他軸(Yn,An,Cn 軸)の外部パルス信号

自軸(Xn,Zn,Bn 軸)の出力パルス

10

他軸(Yn,An,Cn 軸)の外部パルス信号

自軸(Xn,Zn,Bn 軸)の外部パルス信号

1

1

20 MHz クロック－ (なし)＜ Yn, An, Cn 軸に設定する場合＞
SEL1

SEL0

カウントパルス１

カウントパルス２00

自軸(Yn,An,Cn 軸)の外部パルス信号

自軸(Yn,An,Cn 軸)の出力パルス01

他軸(Xn,Zn,Bn 軸)の外部パルス信号

自軸(Yn,An,Cn 軸)の出力パルス

10

他軸(Xn,Zn,Bn 軸)の外部パルス信号

自軸(Yn,An,Cn 軸)の外部パルス信号

1

1

20 MHz クロック－ (なし)■カウント方向・カウントパルス１ ：＋方向入力でカウントアップ、－方向入力でカウントダウン
・カウントパルス２ ：－方向入力でカウントアップ、＋方向入力でカウントダウン■タイマ機能"11" に設定すると、カウントパルス１を、＋方向にカウントアップします。
カウントパルス１の 20 MHz クロックは、 1/1 ～ 1/256 に分周してカウントできます。

D2 ： EXT COUNT TYPE0
D3 ： EXT COUNT TYPE1
外部パルス信号入力のカウント方法を選択します。
TYPE1

TYPE0

カウント方法00

EA, EB を１逓倍でカウントする

0

1

EA, EB を２逓倍でカウントする

1

0

EA, EB を４逓倍でカウントする

1

1

EA で＋方向のカウント、 EB で－方向のカウント

パルス入力方式- 112 -

位相差信号入力
独立方向パルス入力

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D4 ： TIMER START TYPE0
D5 ： TIMER START TYPE1
D6 ： TIMER START TYPE2
COUNT PULSE SEL を "11" に設定している場合に有効です。
タイマ機能のカウントパルス１のカウントを開始するタイミングを選択します。
TYPE2

TYPE1

TYPE0

カウント開始タイミング <レベル検出>

0

0

0

カウントしない (カウントを終了する)

0

0

1

設定禁止

0

1

0

DRIVE STATUS5 PORT の SS0 = 1 でカウントを開始する

0

1

1

DFL COUNTER INITIALIZE1 コマンドの実行でカウントを開始する

1

0

0

設定禁止

1

0

1

設定禁止

1

1

0

設定禁止

1

1

1

設定禁止

D7 ： DIVISION TYPE
分周するカウントパルスを選択します。
0 ：カウントパルス１を分周する
1 ：カウントパルス２を分周する

D8 ： DFLINT TYPE0
D9 ： DFLINT TYPE1
DRIVE STATUS4 PORT と DFLINT に出力する COMP1, 2, 3 の一致出力の、出力仕様を選択します。
TYPE1

TYPE0

COMP1, 2, 3 の一致出力の出力仕様

クリア条件
検出条件が不一致のときに00

一致出力をレベルラッチして出力する

DRIVE STATUS4 PORTのリード終了でクリア
0

1

一致出力をエッジラッチして出力する

10

一致出力をそのままスルーで出力する

1

1

一致出力をエッジラッチして出力する

DRIVE STATUS4 PORTのリード終了でクリア検出条件の不一致でクリア
INT FACTOR CLR コマンドのDFLINT INT CLR = 1 の実行でクリア

・レベルラッチの場合は、検出条件が一致している間はクリアできません。
スルー出力の場合は、 DFLINT PULSE TYPE で最小出力幅を選択します。
※ 割り込み関数で DFLINT 割り込みを使用するときは、 DFLINT TYPE1,0 = "1,1"の設定にしてください。
・ COMP1,2,3 の一致出力の出力仕様…『一致出力をエッジラッチして出力する』
・クリア条件…『 INT FACTOR CLR コマンドの DFLINT INT CLR = 1 実行でクリア』

D10 ： DFLINT PULSE TYPE0
D11 ： DFLINT PULSE TYPE1
COMP1, 2, 3 の一致出力をスルー出力に選択したときの、最小出力幅を選択します。
TYPE1

TYPE0

一致出力の最小出力幅00200 ns

0

1

10 µs

1

0

100 µs111,000 µs

・スルー出力にオートクリア機能または自動加算機能を併用した場合は、この最小出力幅を出力します。
この最小出力幅はリトリガ出力です。

- 113 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D12 ： COMP GATE TYPE0
D13 ： COMP GATE TYPE1
DFLINT に出力する COMP1, 2, 3 の一致出力の、合成出力を選択します。
TYPE1

TYPE0

0

0

COMP1

OR

(COMP2

OR

0

1

COMP1

OR

(COMP2

AND

COMP3)

1

0

COMP1

AND

(COMP2

ORCOMP3)

1

1

COMP1

AND

(COMP2

AND

COMP3)

一致出力の合成出力
COMP3)

OR ：論理和、 AND ：論理積

D14 ： AUTO CLEAR ENABLE
COMP1 のオートクリア機能で、カウンタを「クリアする／クリアしない」を選択します。
0 ： COMP1 の一致出力でカウンタをクリアしない
1 ： COMP1 の一致出力でカウンタをクリアする■オートクリア機能
COMP1 の一致検出と同時に、パルス偏差カウンタのデータを "0" にクリアします。
COMP1 の一致出力がスルー出力のときは、一致出力の最小出力幅を出力します。

D15 ： AUTO ADD ENABLE
COMP1 の自動加算機能で、検出データを「再設定する／再設定しない」を選択します。
0 ： COMP1 の一致出力でデータを再設定しない
1 ： COMP1 の一致出力でデータを再設定する■自動加算機能COMP1 の一致検出と同時に、 COMP1 ADD データに設定されているデータを、COMPARE REGISTER1 のデータに加算して、 COMPARE REGISTER1 を再設定します。
COMPARE REGISTER1 <= COMPARE REGISTER1 ＋ COMP1 ADD データ
COMP1 の一致出力がスルー出力のときは、一致出力の最小出力幅を出力します。

- 114 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) DFL COUNTER INITIALIZE2
パルス偏差カウンタの各機能を設定します。
このコマンドの実行は常時可能です。
<実行シーケンス>

DATA1 PORTWRITECOMMAND PORTWRITECOMMAND H'A2

DFL COUNTER INITIALIZE2 COMMAND① DRIVE DATA1 PORT に設定データを書き込みます。

② DRIVE COMMAND PORT に COMMAND を書き込みます。
推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

COMP3

COMP3

COMP2

COMP2

TYPE1

TYPE0

TYPE1

TYPE0

D11

D10

D9

D8

COMP3

COMP3

COMP3

COMP3

DETECT

STOP

STOP

INT

TYPE

TYPE

ENABLEENABLE

D7

D6

D5

D4

D3

D2

D1

D0

COMP2

COMP2

COMP2

COMP2

COMP1

COMP1

COMP1

COMP1

DETECT

STOP

STOP

INT

DETECT

STOP

STOP

INT

TYPE

TYPE

ENABLEENABLE

TYPE

TYPE

ENABLEENABLE●リセット後の初期値は H'9000 (アンダーライン側) です。
D0 ： COMP1 INT ENABLE
COMP1 の一致出力を、 DFLINT に「出力する／出力しない」を選択します。
0 ： COMP1 の一致出力を DFLINT に出力しない
1 ： COMP1 の一致出力を DFLINT に出力する
D1 ： COMP1 STOP ENABLE
COMP1 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP1 の一致出力の停止機能を実行しない
1 ： COMP1 の一致出力の停止機能を実行する
D2 ： COMP1 STOP TYPECOMP1 の一致出力による停止機能を選択します。
0 ：一致出力でパルス出力を即時停止する
1 ：一致出力でパルス出力を減速停止する
D3 ： COMP1 DETECT TYPECOMP1 が比較するカウンタ値の、検出方法を選択します。
0 ：カウンタ値を絶対値に変換して比較する
1 ：カウンタ値を符号付きのまま比較する
・ COMP1 の検出条件は、「カウンタの値 ＝ COMPARE REGISTER1 の値」です。

D4 ： COMP2 INT ENABLE
COMP2 の一致出力を、 DFLINT に「出力する／出力しない」を選択します。
0 ： COMP2 の一致出力を DFLINT に出力しない
1 ： COMP2 の一致出力を DFLINT に出力する
D5 ： COMP2 STOP ENABLE
COMP2 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP2 の一致出力の停止機能を実行しない
1 ： COMP2 の一致出力の停止機能を実行する- 115 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

D6 ： COMP2 STOP TYPECOMP2 の一致出力による停止機能を選択します。
0 ：一致出力でパルス出力を即時停止する
1 ：一致出力でパルス出力を減速停止する

D7 ： COMP2 DETECT TYPECOMP2 が比較するカウンタ値の、検出方法を選択します。
0 ：カウンタ値を絶対値に変換して比較する
1 ：カウンタ値を符号付きのまま比較する

D8 ： COMP3 INT ENABLE
COMP3 の一致出力を、 DFLINT に「出力する／出力しない」を選択します。
0 ： COMP3 の一致出力を DFLINT に出力しない
1 ： COMP3 の一致出力を DFLINT に出力する

D9 ： COMP3 STOP ENABLE
COMP3 の一致出力による停止機能を「実行する／実行しない」を選択します。
0 ： COMP3 の一致出力の停止機能を実行しない
1 ： COMP3 の一致出力の停止機能を実行する

D10 ： COMP3 STOP TYPECOMP3 の一致出力による停止機能を選択します。
0 ：一致出力でパルス出力を即時停止する
1 ：一致出力でパルス出力を減速停止する

D11 ： COMP3 DETECT TYPECOMP3 が比較するカウンタ値の、検出方法を選択します。
0 ：カウンタ値を絶対値に変換して比較する
1 ：カウンタ値を符号付きのまま比較する

D12 ： COMP2 TYPE0
D13 ： COMP2 TYPE1
COMP2 の検出条件を選択します。
TYPE1

TYPE0

COMP2 の検出条件

00

カウンタの値 ＝ COMPARE REGISTER2 の値

01

カウンタの値 ≧ COMPARE REGISTER2 の値

10

カウンタの値 ≦ COMPARE REGISTER2 の値

1

1

設定禁止

D14 ： COMP3 TYPE0
D15 ： COMP3 TYPE1
COMP3 の検出条件を選択します。
TYPE1

TYPE0

COMP3 の検出条件

00

カウンタの値 ＝ COMPARE REGISTER3 の値

01

カウンタの値 ≧ COMPARE REGISTER3 の値

10

カウンタの値 ≦ COMPARE REGISTER3 の値

1

1

設定禁止

- 116 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) DFL COUNTER INITIALIZE3
パルス偏差カウンタの各機能を設定します。
このコマンドの実行は常時可能です。
COMMAND H'A3

<実行シーケンス>

DATA1 PORTDFL COUNTER INITIALIZE3 COMMAND① DRIVE DATA1 PORT に設定データを書き込みます。

WRITE

COMMAND PORT

② DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

－

－

－

－

－

－

－

－

D7

D6

D5

D4

D3

D2

D1

D0

DIVISION

DIVISION

DIVISION

DIVISION

DIVISION

DIVISION

DIVISION

DIVISION

D7

D6

D5

D4

D3

D2

D1

D0

●リセット後の初期値は H'00 です。
D7--D0 ： DIVISION D7--D0
DIVISION TYPE で選択したカウントパルスのカウントタイミングの分周数を選択します。
D7--D0

H'FF

H'FE

H'FD

～

H'03

H'02

H'01

H'00

分周数

256

255

254

～

4

3

2

1 (分周なし)

・分周したカウントタイミングが、カウンタのカウントパルスになります。
外部パルス信号の分周機能は、 COUNT TYPE の逓倍機能と組み合わせて使用できます。
■分周機能（分周数４の場合）
・ COUNT PULSE SEL と DIVISION TYPE で選択したカウントパルスのカウントタイミングを分周します。
外部パルス信号の場合は、 COUNT TYPE で逓倍したカウントタイミングを分周します。
分周したカウントタイミングで、カウンタをアップダウンカウントします。
・ DFL COUNTER INITIALIZE3 コマンドを実行すると、分周中の分周カウント値をクリアします。
<カウントパルスの入力>
アップタイミング
0

1

2

3

0

1

2

クリア

ダウンタイミング
2

1

0

3

2

1

0

3

2

0

7

<分周後のカウントタイミング>
カウントアップ
1
カウントダウン
1

0

DFL COUNTER INITIALIZE3 コマンドの実行（分周数８に変更）- 117 -

-1

-2

6

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(4) DFL COUNTER PRESET
パルス偏差カウンタのカウント初期値を設定します。このコマンドは常時実行可能です。
<実行シーケンス>

COMMAND H'A0

DFL COUNTER PRESET COMMAND① DRIVE DATA1 PORT にカウント初期値 D15--D0 を書き込みます。
設定範囲は、-32,767 ～+32,767 （ H'8001 ～ H'7FFF ）です。
負数の場合は 2 の補数表現にします。

DATA1 PORTWRITECOMMAND PORT

② DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D15

D9

D8

D7

D6

D5

D4

D3

D2

D1

カウント初期値●リセット後の初期値は H'0000 です。
・現在位置には、 H'8000 を設定することもできます。
但し、 H'8000 を設定すると、 DRIVE STATUS4 PORT の DFL OVF = 1 になります。

- 118 -D0
D0

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(5) DFLINT COMPARE REGISTER1,2,3 SET
パルス偏差カウンタの COMPARE REGISTER1, 2, 3 に検出値を設定します。
このコマンドの実行は常時可能です。

<実行シーケンス>

COMMAND H'A8DFLINT COMPARE REGISTER1 SET COMMAND

COMMAND H'A9

DFLINT COMPARE REGISTER2 SET COMMAND

COMMAND H'AADFLINT COMPARE REGISTER3 SET COMMAND① DRIVE DATA1 PORT に検出値 D15--D0 を書き込みます。
設定範囲は、-32,767 ～+32,767 （ H'8001 ～ H'7FFF ）です。
負数の場合は 2 の補数表現にします。

DATA1 PORTWRITECOMMAND PORT

② DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D9

D8

D15

D7

D6

D5

D4

D3

D2

D1

D0
D0

検出値

●リセット後の初期値は H'8000_0000 です。

・検出値は、 DFL COUNTER INITIALIZE2 コマンドの COMP1, 2, 3 の各 COMP DETECT TYPE の設定により、絶対値検出または符号付き検出の比較データになります。
・ COMP DETECT TYPE = 0 の場合（絶対値検出）
検出値を絶対値に変換して、絶対値に変換したカウンタ値と比較します。
|H'8001 ～ H'FFFF| = +32,767 ～+1になります。
|H'0000 ～ H'7FFF| = 0 ～+32,767になります。
・ COMP DETECT TYPE = 1 の場合（符号付き検出）
検出値はそのまま符号付きの値で、符号付きのカウンタ値と比較します。
H'8001 ～ H'7FFF = -32,767 ～+32,767 です。

- 119 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(6) DFLINT COMP1 ADD DATA SET
パルス偏差カウンタの COMP1 の加算データを設定します。
このコマンドは常時実行可能です。
<実行シーケンス>

COMMAND H'ACDFLINT COMP1 ADD DATA SET COMMAND① DRIVE DATA1 PORT に COMP1 ADD データ D15--D0 を書き込みます。
設定範囲は、-32,767 ～+32,767 （ H'8001 ～ H'7FFF ）です。
負数の場合は 2 の補数表現にします。

DATA1 PORTWRITECOMMAND PORT

② DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE

推奨:MC07_LWDrive 関数(DATA2 PORT は、 H'0000 を書き込み)

DRIVE DATA1 PORT の設定データ
D15

D14

D13

D12

D11

D10

D15

D9

D8

D7

D6

COMP1 ADD データ●リセット後の初期値は H'0000 です。

- 120 -

D5

D4

D3

D2

D1

D0
D0

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
4-2-4. カウントデータの読み出し■カウントデータの読み出しシーケンス<実行シーケンス>
COMMAND PORT

① DRIVE COMMAND PORT に COMMAND を書き込みます。

WRITE(DATA1,2 PORT は、 H'0000 にして COMMAND を書き込み)

DATA1 PORT

② DRIVE DATA1 PORT からカウントデータ D15--D0 を読み出します。

READ
DATA2 PORT

③ DRIVE DATA2 PORT からカウントデータ D31--D16 を読み出します。

READ

推奨:MC07_LWRDrive 関数

DRIVE DATA1 PORT の読み出しデータ
D15

D14

D13

D12

D11

D10

D9

D15

D8

D7

D6

D5

D4

D3

D2

D1

D0
D0

カウントデータ

DRIVE DATA2 PORT の読み出しデータ
D15

D14

D13

D12

D11

D10

D31

D9

D8

D7

D6

D5

D4

D3

D2

D1

カウントデータD0
D16・各 COUNTER READ コマンドを実行すると、カウンタのカウントデータを DRIVE DATA1, 2 PORT(READ)にセットします。

(1) ADDRESS COUNTER READ
アドレスカウンタのカウントデータを読み出します。
このコマンドの実行は常時可能です。
COMMAND H'D8

ADDRESS COUNTER READ COMMAND(2) PULSE COUNTER READ
パルスカウンタのカウントデータを読み出します。
このコマンドの実行は常時可能です。
COMMAND H'D9

PULSE COUNTER READ COMMAND(3) DFL COUNTER READ
パルス偏差カウンタのカウントデータを読み出します。
このコマンドの実行は常時可能です。
COMMAND H'DADFL COUNTER READ COMMAND- 121 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

５．機能説明5-1. ドライブ仕様
5-1-1. 入出力仕様(1)パルス出力仕様
CWP,CCWP 信号から出力するパルスの出力方式を以下の 4 種類の中から選択できます。
(初期値は独立方向出力/各軸で動作します。)
各軸のパルス出力方式は、対象の軸に SPEC INITIALIZE1 コマンドで設定します。
<＋方向パルス出力><－方向パルス出力>●独立方向出力
CWP:パルス出力CCWP :パルス出力●方向指定出力
CWP:パルス出力CCWP :方向出力● 2 逓倍の位相差信号出力
CWP:A 相出力CCWP :B 相出力● 4 逓倍の位相差信号出力
CWP:A 相出力CCWP :B 相出力・矢印はパルス出力の終了エッジ(アドレスカウンタのカウントエッジ)です。
・方向指定出力の方向出力は、出力するパルスの方向が確定すると変化します。
JOG, SCAN, INDEX, ORIGIN, 直線補間ドライブでは、 STBY = 1 で方向が確定します。
円弧補間ドライブでは、 STBY = 1 で方向確定し、パルス出力直後に次のパルスの方向が確定します。
MANUAL ドライブでは、 CWMS または CCWMS 検出後の STBY = 1 で方向が確定します。
外部パルス出力では、出力する外部パルスの検出で方向が確定します。
・位相差信号出力は、独立方向出力のパルス終了エッジのタイミングで変化します。

- 122 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2)サーボ対応機能
各軸にはサーボドライバに対応する信号として以下の信号があります。
・ DRST 信号出力
・ DEND/PO 信号入力
・ INn0--INn3 信号入力
・ OUTn0--OUTn3 信号出力

(サーボリセット出力）(サーボ位置決め完了入力／ PO 入力）(ドライバアラーム入力など）(サーボ ON など)※ 6 軸,12 軸の製品は、 INnx 信号入力、 OUTnx 信号出力機能はありません。
汎用入力(停止機能設定可能)信号として、 SENSORn0,SENSORn1 信号を使うことができます。
汎用出力信号として、 DRST 信号を使用することができます。

■ DRST 信号
サーボ対応無効時は、汎用出力としてステッピングモータドライバの M.F 信号(モータ励磁電流の ON/OFF)などに使用できます。
サーボ対応有効時は、ドライブ中に即時停止指令、または LIMIT 即時停止指令を検出すると、 DRST 信号が10 ms 間アクティブレベルを出力します。
また、 ORIGIN SPEC SET 関数の AUTO DRST ENABLE=1 の時は、 ORIGIN ドライブ終了時に 10ms 間アクティブ
レベルを出力します。初期設定はサーボ対応無効です。
・ DRST 信号がサーボ対応でアクティブレベルを出力中は DRIVE STATUS1 PORT の BUSY=1 となります。
DRST 信号および DEND 信号の<サーボ対応>終了後に、ドライブを終了します。
・ DRST 信号を汎用出力に設定すると、 SIGNAL OUT コマンドで ON/OFF レベルを出力することができます。
・ DRST 信号のサーボ対応は SPEC INITIALIZE3 コマンドで設定します。

■ DEND/PO 信号
サーボ対応無効時は、ステッピングモータドライバの PO 信号入力、または汎用入力として使用できます。
サーボ対応有効時は、ドライブ実行時にパルス出力が終了しても、 DEND/PO 信号のアクティブレベルを検出するまでドライブを終了しません。初期設定はサーボ対応無効です。
DEND 信号の状態は、 MCC07E の DRIVE STATUS2 PORT から確認することができます。
・ DEND/PO 信号がサーボ対応でアクティブレベルの検出待ちの間は、 DRIVE STATUS1 PORT の BUSY = 1 、DRIVE STATUS2 PORT の DEND BUSY ＝ 1 になります。
・即時停止指令を検出した場合は、サーボ対応を中止してドライブを終了します。
即時停止指令の検出で、 BUSY = 0 、 DEND BUSY = 0 になります。
・ DEND/PO 信号のサーボ対応は SPEC INITIALIZE3 コマンドで設定します。

■ INnx 信号
汎用入力 INnx 信号の入力状態は、汎用入力 PORT から確認することができます。
また、 MCC07E の入力機能を選択すると、ドライバからのアラーム信号に使用することができます。
DALM 信号としては、減速停止、または即時停止させることができます。初期設定は汎用入力です。
INnx 信号による DALM 状態は、 MCC07E の DRIVE STATUS2 PORT から確認することができます。
・ INnx 信号による MCC07E の DALM 入力機能は SPEC INITIALIZE3 コマンドで設定します。
・ MCC07E への DALM 信号入力は、汎用入力信号 INn0--INn3 によって機能します。
汎用入力信号 C-VX870(E)v1

汎用入力信号

C-VX872v1

IN0
IN1
IN2
IN3

IN10
IN11
IN12
IN13
IN20
IN21
IN22
IN23

X1 軸
Y1 軸
Z1 軸
A1 軸
X2 軸
Y2 軸
Z2 軸
A2 軸

X軸
Y軸
Z軸
A軸

■ OUTnx 信号
汎用出力として使用することができます。
サーボオン信号やステッピングモータドライバの分解能切替信号などに使用できます。
・汎用出力 OUTnx 信号の状態は、汎用 I/O 関数で確認することができます。

- 123 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-1-2. ドライブパラメータ(1) 第 1 パルス出力周期
ドライブ開始時の第 1 パルス目は FSPD で設定したパルス周期を必ず出力します。
FSPD を調整することにより、パルス出力の指令を与えてからパルス出力開始までの時間を速くすることができます。
・初期値は 5kHz (1 周期 200 μ s)です。
・駆動するドライバ側の入力応答周波数の範囲内で調整してください。
コマンド予約機能と第 1 パルス出力周期を組み合わせることで、連続したドライブを作ることができます。
FSPD は SPEED･RATE 関数で設定します。
FSPD

･･･

ドライブ開始時の第 1 パルスの出力周期を 1Hz 単位で設定します。
( 0 ～ 8,388,607Hz )DRIVE STATUS1 の DRIVE
CWP
パルス出力
CCWP

1 パルス目OFF 周期

2 パルス目ON 周期

第 1 パルス出力周期(FSPD)

一定速度又は加速開始速度

・ FSPD の設定値と実際に出力する周期は以下の通りとなります。
設定値
8,388,607 ～ 6,666,667 Hz
6,666,666 ～ 5,000,001 Hz
5,000,000 ～ 4,000,001 Hz
4,000,000 ～ 3,333,334 Hz
3,333,333 ～ 2,857,143 Hz

OFF 周期 = 50 ns
OFF 周期 = 50 ns
OFF 周期 = 100 ns
OFF 周期 = 100 ns
OFF 周期 = 150 ns

実際に出力する周期(周波数)ON 周期 = 50 ns(10,000,000 Hz)
ON 周期 = 100 ns(6,666,666 Hz)
ON 周期 = 100 ns(5,000,000 Hz)
ON 周期 = 150 ns(4,000,000 Hz)
ON 周期 = 150 ns(3,333,333 Hz)■ FSPD による DELAY TIME の挿入
コマンド予約機能(応用機能)で連続ドライブを行う場合には、次のドライブの FSPD の周期を調整することにより、
FSPD を連続ドライブ時の DELAY TIME として利用できます。
● FSPD で停止しない連続ドライブを行う
現在のドライブ → 次の連続ドライブ間を、開始速度のパルス周期でつなげます。
・最初のドライブ実行中に、予約コマンドで「次の連続ドライブ」を設定します。
「次の連続ドライブ」の FSPD を、「次の連続ドライブ」の開始速度に設定します。
・ MCC07E は、現在のドライブ終了後に予約コマンドの処理を行います。
「次の連続ドライブ」の１パルス目（ FSPD ）に「次の連続ドライブ」の開始速度を１周期出力します。
２パルス目以降は、「次の連続ドライブ」の開始速度からパルス出力します。
● FSPD で反転ドライブの停止時間を挿入する
現在のドライブ → 次の反転ドライブ間に、 DELAY TIME （例： 50 ms （ 20 Hz ））を挿入します。
・最初のドライブ実行中に、予約コマンドで「次の反転ドライブ」を設定します。
「次の反転ドライブ」の FSPD を、 20 Hz に設定します。
・ MCC07E は、現在のドライブ終了後に予約コマンドの処理を行います。
「次の反転ドライブ」の１パルス目（ FSPD ）に 20 Hz を１周期出力します。
２パルス目以降は、「次の反転ドライブ」の開始速度からパルス出力します。
DELAY TIME の挿入としては、 SPEC INITIALIZE1 コマンドの PULSE OUTPUT MASK の機能を使用して、「パルス出力をマスクしたドライブの実行時間」を DELAY TIME として利用することもできます。

- 124 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) 加減速パラメータ
加減速ドライブは、加速カーブと減速カーブで加減速を行うドライブです。
加減速ドライブには以下の加減速パラメータの設定が必要です。
SPEED･RATE 関数で以下の加減速パラメータを設定します。
最高速度
開始速度
終了速度
SUAREA
SDAREA
URATE
DRATE
速度倍率

･･･
･･･
･･･
･･･
･･･
･･･
･･･
･･･

加減速ドライブの最高速時の PULSE 速度を 1Hz 単位で設定します。
加減速ドライブの加速開始時の PULSE 速度を 1Hz 単位で設定します。
加減速ドライブの減速終了時の PULSE 速度を 1Hz 単位で設定します。
加速カーブの S 字変速領域を 1Hz 単位で設定します。
減速カーブの S 字変速領域を 1Hz 単位で設定します。
加速時定数を設定します。(RATE テーブル表の RATE No.で指定してください。)
減速時定数を設定します。(RATE テーブル表の RATE No.で指定してください。)
速度倍率を設定します。 (RATE テーブル表の RESOL No.で指定してください。)

・設定した SPEED の値が設定範囲を越えていた場合は、最大値に補正します。
・設定した RESOL No.、 URATE No.、 DRATE No.が設定範囲を越えていた場合、関数エラーとなります。

■最高速度、開始速度、終了速度、 SUAREA 、 SDAREA の設定範囲
RESO RESOL
No. (速度倍率)
0
0.1
1
0.2
2
0.5
3
1
4
2
5
5

HSPD,LSPD,ELSPDの設定範囲
0 ～ 3,276Hz
0 ～ 6,553Hz
0 ～ 16,383Hz
0 ～ 32,767Hz
0 ～ 65,534Hz
0 ～ 163,835Hz

SUAREA,SDAREARESO RESOLの設定範囲
0 ～ 1,638Hz
0 ～ 3,276Hz
0 ～ 8,191Hz
0 ～ 16,383Hz
0 ～ 32,767Hz
0 ～ 81,950Hz

No.
6
7
8
9
10
－

(速度倍率)
10
20
50
100
200
－

HSPD,LSPD,ELSPDの設定範囲
0 ～ 327,670Hz
0 ～ 655,340Hz
0 ～ 1,638,350Hz
0 ～ 3,276,700Hz
0 ～ 6,553,400Hz

SUAREA,SDAREAの設定範囲
0 ～ 163,830Hz
0 ～ 327,660Hz
0 ～ 819,150Hz
0 ～ 1,638,300Hz
0 ～ 3,276,600Hz■ RATE テーブル表
RATE
No.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

RATE
(ms/kHz)
5,000
3,000
2,000
1,000
500
300
200
100
50
30
20
10
5
3
2
1
0.5
0.3
0.2
0.1
0.05
0.03
0.02
0.01
0.005
0.0025RESOL No.0
RESOL=0.1
U/D CYCLE
1,000
600
400
200
100
60
40
20
10
6
4
2
1

RESOL No.1
RESOL=0.2
U/D CYCLE
2,000
1,200
800
400
200
120
80
40
20
12
8
4
2
1

RESOL No.2
RESOL=0.5
U/D CYCLE
5,000
3,000
2,000
1,000
500
300
200
100
50
30
20
10
5
3
2
1

- 125 -RESOL No.3
RESOL=1
U/D CYCLE
10,000
6,000
4,000
2,000
1,000
600
400
200
100
60
40
20
10
6
4
2
1

RESOL No.4
RESOL=2
U/D CYCLE
12,000
8,000
4,000
2,000
1,200
800
400
200
120
80
40
20
12
8
4
2
1

RESOL No.5
RESOL=5
U/D CYCLE

10,000
5,000
3,000
2,000
1,000
500
300
200
100
50
30
20
10
5
3
2
1

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ RATE テーブル表(続き)
RATE
No.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

RATE
(ms/kHz)
5,000
3,000
2,000
1,000
500
300
200
100
50
30
20
10
5
3
2
1
0.5
0.3
0.2
0.1
0.05
0.03
0.02
0.01
0.005
0.0025RESOL No.6
RESOL=10
U/D CYCLE

10,000
6,000
4,000
2,000
1,000
600
400
200
100
60
40
20
10
6
4
2
1

RESOL No.7
RESOL=20
U/D CYCLE

12,000
8,000
4,000
2,000
1,200
800
400
200
120
80
40
20
12
8
4
2
1

RESOL No.8
RESOL=50
U/D CYCLE

10,000
5,000
3,000
2,000
1,000
500
300
200
100
50
30
20
10
5
3
2
1

RESOL No.9
RESOL=100
U/D CYCLE

10,000
6,000
4,000
2,000
1,000
600
400
200
100
60
40
20
10
6
4
2
1

RESOL No.10
RESOL=200
U/D CYCLE

12,000
8,000
4,000
2,000
1,200
800
400
200
120
80
40
20
12
8
4
2
1

■直線加減速動作
直線加減速ドライブは、 S 字加速の変速領域を "0" に設定した加速カーブと、 S 字減速の変速領域を "0" に設定した減速カーブで加減速を行うドライブです。
開始速度から最高速度まで、 S 字変速領域がない直線加速カーブで加速し、最高速度から終了速度まで、 S 字
変速領域がない直線減速カーブで減速します。
速度
最高速度
直線加速カーブ

直線減速カーブ

開始速度
FSPD

終了速度
第１パルス

オフセットパルス数
時間- 126 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ S 字加減速動作
S 字加減速ドライブは、 S 字加速の変速領域を設定した加速カーブとＳ字減速の変速領域を設定した減速カーブ
で加減速を行うドライブです。
加速開始時の S 字変速領域と加速終了時の S 字変速領域を、放物線に近似したＳ字加速カーブで加速し、減速開始時の S 字変速領域と減速終了時の S 字変速領域を、放物線に近似したＳ字減速カーブで減速します。
速度
最高速度

Ｓ字加速終了部

Ｓ字減速開始部

の変速領域

の変速領域

(SUAREA)(SDAREA)

直線加速カーブ
Ｓ字加速開始部

開始速度
FSPD

直線減速カーブ
Ｓ字減速終了部

の変速領域

の変速領域

(SUAREA)(SDAREA)

終了速度

第１パルス

オフセットパルス数時間■ S 字加減速 INDEX ドライブの三角駆動回避動作
S 字加減速の INDEX ドライブで、停止位置までのパルス数が少なくて最高速度（目標速度）に達しない場合は自動的に最高速度を引き下げて、滑らかな S 字加減速カーブで INDEX ドライブを停止します。
この機能は常時有効です。
速度
最高速度(目標速度)

最高速度を補正して滑らかな S 字加減速カーブにします
自動減速開始
開始速度

終了速度
時間

INDEX 指令

指定位置で停止■減速停止指令検出時の三角駆動回避動作
S 字加速中に減速停止指令を検出した場合は、 SUAREA の S 字加速終了カーブで滑らかに加速を終了し、S 字減速カーブで減速停止します。この機能は常時有効です。
速度
最高速度

滑らかに加速を終了してＳ字減速カーブで停止します

開始速度

終了速度
時間

加減速ドライブ指令

減速停止指令- 127 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) JOG パラメータ■ JOG パルス速度
JOG ドライブを実行すると設定した JOG パルス速度の一定速でドライブを行います。
JOG パルス速度の設定範囲は 1 ～ 4,194,303Hz(1Hz 単位)です。
速度
JOG パルス速度
第 1 パルス出力周期

JOG PULSE 数
時間

JOG 指令・ JOG パルス速度は JSPD SET コマンドで設定します。
・ JOG パルス速度は ORIGIN ドライブ工程の CONSTANT SCAN ドライブのパルス速度にも適用します。

■ JOG パルス数
JOG ドライブを実行すると設定した JOG パルス数のパルスを出力します。
JOG パルス数設定範囲は、 0 ～ 65,535 （ H'0000 ～ H'FFFF ）です。
・ JOG ドライブパルス数は JOG PULSE SET コマンドで設定します。

- 128 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-1-3. 基本ドライブ(1) JOG ドライブ+/- JOG コマンドを実行すると、 JOG パルス速度の一定速で JOG パルス数のパルスを出力します。
減速停止指令を検出すると、パルス出力を即時停止してドライブを終了します。
即時停止指令を検出すると、パルス出力を即時停止してドライブを終了します。
速度
JOG パルス
速度

JOG パルス数
時間

JOG 指令(2) SCAN ドライブ+/- SCAN コマンドを実行すると、停止指令を検出するまで連続してパルスを出力します。
減速停止指令を検出すると、パルス出力を減速停止してドライブを終了します。
即時停止指令を検出すると、パルス出力を即時停止してドライブを終了します。
●減速停止指令による停止動作
速度
最高速度
加速カーブ

減速カーブ

減速カーブ
開始速度

終了速度

時間
減速して終了速度で停止

減速して終了速度で停止

SCAN 指令
減速停止指令減速停止指令●即時停止指令による停止動作
速度
最高速度
加速カーブ
加速中のドライブ速度で停止

ドライブ中の最高速度で停止

開始速度

時間
SCAN 指令
即時停止指令即時停止指令- 129 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) INDEX ドライブ
INC INDEX コマンドを実行すると、指定した相対アドレスに達するまでパルスを出力します。
ABS INDEX コマンドを実行すると、指定した絶対アドレスに達するまでパルスを出力します。
加減速ドライブ中には、パルス速度を自動減速して指定位置で停止します。
減速停止指令を検出すると、パルス出力を減速停止してドライブを終了します。
即時停止指令を検出すると、パルス出力を即時停止してドライブを終了します。
●自動減速機能による停止動作
速度

自動減速

自動減速

最高速度
加速カーブ

減速カーブ

減速カーブ

終了速度

開始速度
パルス数が少なくて最高速度に達しないとき
時間
自動減速して指定位置で停止

自動減速して指定位置で停止

INDEX 指令・現在速度が終了速度以下の場合は、減速停止指令を検出すると終了速度に向かって加速します。
自動減速地点を検出すると終了速度に向かって加速し、指定位置でパルス出力を停止します。

- 130 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-1-4. ORIGIN ドライブ
(1) ORIGIN ドライブ仕様
ORIGIN ドライブは、センサを検出する各種ドライブ工程を順次行い、機械原点信号を検出してドライブを終了します。
ORIGIN ドライブは、 MCC07E が持っている ORIGIN ドライブを組み合わせて、コントローラが ORIGIN ドライブを実現する機能です。
ORIGIN ドライブには、 ORG-0 ～ 5, 10,11,12 の 9 種類のドライブ型式があります。
■ドライブ型式の特徴
所要時間

精度

CWLM 信号のCCWLM 信号の

入力機能

入力機能

ドライブ

検出する

検出完了時の

ドライブ

型式

センサ数

センサの状態

工程数

ORG-0

1

OFF

2

短

低

＋方向の LIMIT－方向の LIMIT

ORG-1

1

ON

2

短

低

＋方向の LIMIT－方向の LIMIT

ORG-2

1

OFF

4

長

中

＋方向の LIMIT－方向の LIMIT

ORG-3

1

ON

4

長

中

＋方向の LIMIT－方向の LIMIT

ORG-4

2

OFF

4/5

最長

高

＋方向の LIMIT－方向の LIMIT

ORG-5

2

ON

4/5

最長

高

＋方向の LIMIT－方向の LIMIT

ORG-10

2

ON

2

最短

低

＋方向の LIMIT－方向の LIMIT

ORG-11

1

OFF

2

短

低

ORG-12

1

OFF

4

長

中

＋方向の LIMIT

検出信号

検出信号

－方向の LIMIT＋方向の LIMIT

検出信号

検出信号

－方向の LIMIT

ORG-0 ～ 5,10 で検出するセンサ信号は、 ORG, NORG, ZPO 信号入力を合成した ORG, NORG 検出信号です。
・ NORG 検出信号は、 ORIGIN SPEC SET 関数の NORG SIGNAL TYPE で選択します。
・ ORG 検出信号は、 ORIGIN SPEC SET 関数の ORG SIGNAL TYPE で選択します。
また、 ORG-0 ～ 5,10,11,12 の各工程では 1 度検出された機械原点の ADDRESS を記憶し、以後の機械原点検出を短時間で行う機能が付加されています。このため内部に検出 FLAG を用意しており、この FLAG が ON の場合は、機械原点近傍 (原点+OFFSET PULSE)まで INDEX ドライブで移動し、その後に原点検出の工程を行います。
FLAG が OFF の場合は INDEX ドライブを行わず各原点検出工程の DRIVE から行います。
※ 1 度機械原点検出した後に、機械側だけを手動で動かした場合は、実際の機械の位置とコントローラ側で管理しているアドレスが異なる可能性があります。
このような状態で 2 回目の ORIGIN ドライブを起動すると、正しく機械原点が検出できない場合があります。
一度 ORIGIN FLAG RESET 関数により ORIGIN FLAG をリセットしてください。
これにより、電源投入時の最初の 1 回目と同じように、 ORIGIN センサを検出する ORIGIN ドライブとなります。
●検出 FALG ON 条件
ORIGIN ドライブで正常に機械原点が検出されたとき。
●検出 FALG OFF 条件
Windows 起動時。
ORIGIN FLAG RESET 関数実行時。
ORIGIN SPEC SET 関数実行時。
ドライブが即時停止(ORIGIN STATUS1 PORT FSEND BIT=1)したとき。
･FAST STOP コマンド･FSSTOP 信号･入力機能を即時停止に設定した DALM 信号･停止機能を即時停止に設定した各種カウンタのコンパレータ出力･MANUAL ドライブ実行中の MAN 信号 OFF によるドライブの強制終了
ドライブが LIMIT 停止(ORIGIN STATUS1 PORT LSEND BIT=1)したとき。
･CWLM, CCWLM 信号
CPP STOP したとき。
ADDRESS COUNTER がオーバフローしたとき。
MCC07E 動作エラー、または ORIGIN ドライブエラーが発生したとき。
前回の ORIGIN ドライブと異なる型式の ORIGIN ドライブを起動したとき。
ADDRESS COUNTER MAX COUNT SET コマンドを実行したとき。
ADDRESS COUNTER の最大カウント数を H'FFFF_FFFF 以外に設定している場合。
AUTO DRST ENABLE=1 にして、 ORG DRIVE を起動した場合。

- 131 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ADDRESS COUNTER PRESET COMMAND が実行され、機械原点 ADDRESS が更新された結果、機械原点 ADDRESS が± 2,147,483,647 の範囲を超えたとき。
・検出 FLAG が ON の時に戻る機械原点 ADDRESS は内部で管理されておりユーザは何も考慮する必要はありません。また、 MCC07E ADDRESS COUNTER PRESET COMMAND により ADDRESS を更新しても、機械原点 ADDRESS も同時に更新されるので物理的な位置は保存されます。
・機械原点 ADDRESS は、次のように機械原点検出型式により異なります。
ORG-0 ～ 3 の場合は、機械原点検出終了位置が機械原点 ADDRESS となります。
ORG-4,5 の場合は、 NORG 信号検出位置が機械原点 ADDRESS となります。
尚、 OFFSET PULSE は、 ORIGIN OFFSET PULSE SET 関数で設定します。
・回転系等のような絶対 ADDRESS が無意味となるシステムの場合、 ORIGIN FLAG RESET 関数により、FLAG をクリアしてください。

■ ORIGIN ドライブの各種ドライブ工程
ORIGIN ドライブには、 SCAN 工程、 CONSTANT SCAN 工程、 1PULSE 送り工程の３つの工程があります。
● SCAN 工程
加減速ドライブのパラメータで ORIGIN SCAN ドライブを行います。センサ信号を検出すると減速停止します。
● CONSTANT SCAN 工程
JSPD 速度で ORIGIN CSCAN ドライブ(一定速ドライブ)を行います。センサ信号を検出すると停止します。
● 1PULSE 送り工程
ORIGIN SPEC SET 関数の PULSE SENSOR TYPE 設定と AUTO DRST ENABLE 設定により、次の示すように動作が異なります。
・ PULSE SENSOR TYPE =0(機械原点のエッジを検出して工程を終了する)、または AUTO DRST ENABLE=1(DRST 信号出力する)のときは、 PULSE DELAY TIME を SPEED 換算して、 ORIGIN CSCAN ドライブ(一定速ドライブ)を行います。
例) PULSE DELAY TIME=20ms のとき、 50Hz でドライブします。
AUTO DRST ENABLE=1 のとき、 PULSE SENSOR TYPE の設定にかかわらず、機械原点検出のエッジを検出して工程を終了します。
・ PULSE SENSOR TYPE=1(機械原点のレベルを検出して工程を終了する)のときは、 PULSE DELAY TIME で設定した時間間隔で 1PULSE ドライブを繰り返し行います。 センサ信号を検出すると終了します。

PULSE DELAY TIME

PULSE DELAY TIME

PULSE DELAY TIME

尚、 PULSE DELAY TIME は、 ORIGIN DELAY SET 関数で設定します。

■ ORIGIN ドライブの LIMIT 信号について
ORIGIN ドライブでは、 CWLM, CCWLM 信号を LIMIT 信号として使用します。
CWLM, CCWLM 信号にはシステムの LIMIT センサ信号を入力してください。
ORIGIN ドライブ(SCAN 工程、 CONSTANT SCAN 工程、 1PULSE 送り工程)では CWLM 信号を＋方向、
CCWLM 信号を－方向の LIMIT 停止信号として検出します。
ORG-11,ORG-12 では、 CWLM,CCWLM 信号の一方が機械原点信号になります。
ORIGIN ドライブの起動方向が CCW 方向の場合は、 CCWLM 信号が機械原点になり、 CWLM 信号は LIMIT
停止信号になります。
ORIGIN ドライブの起動方向が CW 方向の場合は、 CWLM 信号が機械原点になり、 CCWLM 信号は LIMIT
停止信号になります。
ORIGIN ドライブに付属したドライブ機能の、機械原点近傍アドレスまでの INDEX ドライブ、および、 PRESET パルス数の INDEX ドライブは、 ORIGIN ドライブ以外のドライブとして扱います。
これらの INDEX ドライブ実行中には、 CWLM, CCWLM 信号は以下のように機能します。
・ CWLM, CCWLM 信号は、 SPEC INITIALIZE2 コマンドで設定されている「 CWLM TYPE 」と、「 CCWLM TYPE 」で機能します。
・入力機能が LIMIT 停止機能の場合は、 LIMIT 停止後に ORIGIN ドライブを終了します。

- 132 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ ORIGIN ドライブパラメータ
ORIGIN SPEC 関数により、次に示す ORIGIN ドライブの動作仕様の選択が可能です。
・ ORIGIN ドライブの起動方向
・最終工程となる 1PULSE 送り工程での機械原点信号の検出方法
・機械原点信号のレベルエラー発生時の動作仕様
・ ERROR PULSE ENABLE 機能の『有効にする/無効にする』
・機械原点信号の検出完了時に DRST 信号を『出力する/出力しない』
・ SCAN 工程時に MARGIN PULSE を入れる/入れない。
・ ORG 検出信号
・ NORG 検出信号

■プリセットドライブ
機械原点検出ドライブが正常終了後、 PRESET PULSE 数で設定された位置までドライブを行います。
PRESET PULSE 数は、 ORIGIN PRESET PULSE SET 関数で設定します。

■ ERROR PULSE 検出機能
CONSTANT SCAN 工程、 1PULSE 送り工程実行中に検出信号を検出できずに出力した PULSE 数がエラー判定
PULSE 数に達し場合、 ORIGIN STATUS の ERROR PULSE ERROR = 1 で ORIGIN ドライブエラーとなり、ドライブが終了します。
エラーパルス検出機能は、 ORIGIN SPEC 関数で ERROR PULSE ENABLE = 1 にした場合のみ機能します。
エラー判定 PULSE 数は、 ORIGIN ERROR PULSE SET 関数で設定します。

■ MARGIN パルス機能
SCAN 工程および CSCAN 工程のときに MARGIN パルスを挿入します。
NORG 検出工程および ORIGIN ドライブの最終工程では、 MARGIN PULSE を挿入しません。
・ CONSTANT SCAN 工程では、機械原点信号を検出すると進行方向へ MARGIN パルス分の進入を行ってから停止します。
・ SCAN 工程では機械原点信号を検出し、ドライブを減速停止した後、 MARGIN パルス数分の進入を行います。
MARGIN パルスは、 MARGIN PULSE SET 関数で設定します。
SCAN 工程では ORIGIN SPEC SET 関数の SCAN MARGIN PULSE ENABLE = 1 場合のみ MARGIN パルス数分の進入を行います。

■ DELAY TIME・ SCAN 工程、および CSCAN 工程の動作反転時に SCAN DELAY TIME を挿入します。
・ SCAN 工程に LIMIT 停止し、反転する場合に LIMIT DELAY TIME を挿入します。
尚、 SCAN DELAY TIME 、 LIMIT DELAY TIME は、 ORIGIN DELAY SET 関数で設定します。

- 133 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ ORIGIN ドライブの設定と実行
直線加減速ドライブ、または S 字加減速のパラメータを設定します。
ORIGIN ドライブの SCAN 工程と ORIGIN ドライブに付属したドライブの機械原点近傍アドレスまでの
INDEX ドライブ、および PRESET パルス数の INDEX ドライブは、加減速ドライブのパラメータで動作します。
ORIGIN ドライブの動作仕様と各種ドライブ工程の機能を設定して、 ORIGIN ドライブを実行します。
各設定は、変更が必要な場合に設定します。
■ ORIGIN ドライブの実行シーケンス

SPEED･RATE関数①加減速ドライブに必要なパラメータを設定します。

MCC07E JSPD SETコマンド② CONSTANT SCAN 工程の PULSE 速度を設定します。

ORIGIN SPEC SET関数③ ORIGIN ドライブの動作仕様を設定します。

ORIGIN DELAY SET関数④各種ドライブ工程間の DELAY TIME を設定します。

ORIGIN MARGIN PULSE SET関数⑤機械原点検出後の MARGIN PULSE 数を設定します。

ORIGIN OFFSET PULSE SET関数⑥機械原点近傍 ADDRESS の OFFSET PULSE 数を設定します。

ORIGIN PRESET PULSE SET関数⑦ PRESET PULSE 数を設定します。

ORIGIN ERROR PULSE SET関数

ORIGINドライブ 関数⑧ CONSTANT SCAN 工程時にエラー判定する最大 PULSE 数、
1PULSE 送り工程時にエラー判定する最大 PULSE 数を設定します。
ORIGIN SPEC SET 関数で ERROR PULSE ENABLE=1 のときに設定します。
⑨ ORIGIN ドライブを実行します。

- 134 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) ORG-0 ドライブ型式
ORIGIN ドライブの起動方向が －(CCW)方向の場合
CCW 方向の ORG-0 型式は、 ORG 検出信号の CW 側エッジ検出で機械原点を検出します。
ORG 検出信号には、１つのパルス、または －(CCW)側レベル保持のセンサ信号を入力します。
最高速度でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT
開始位置
終了位置

検出信号

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
LDLY: LIMIT DELAY● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します(MP)② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します

SDLY● 開始位置がCCW側のとき① SCAN工程を行います
CCWLM信号の検出で停止します② LIMIT DELAY TIMEを挿入します

LDLY
(MP)
SDLY
(MP)

(LE)

(MP)
SDLY

SDLY
(LE)

④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します

SDLY

(MP)

③ SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します● 開始位置がセンサ内／CCW LIMIT内のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します- 135 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ ORIGIN ドライブの起動方向が ＋(CW)方向の場合
起動方向が CW 方向の場合は、 CCW 方向と対称の動作で、対称方向のエッジを検出します。
CW 方向の ORG-0 型式は、 ORG 検出信号の CCW 側エッジ検出で機械原点を検出します。
ORG 検出信号には、１つのパルス、または ＋(CW)側レベル保持のセンサ信号を入力します。
最高速度でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT

検出信号

(MP)
SDLY

開始位置
終了位置

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
LDLY: LIMIT DELAY● 開始位置がCCW側のとき① SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します● 開始位置がCW側のとき① SCAN工程を行います
CWLM信号の検出で停止しますLDLY ② LIMIT DELAY TIMEを挿入します③ SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します

(MP)
SDLY
(MP)
SDLY
(LE)

④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します● 開始位置がセンサ内／CW LIMIT内のとき① SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します

(MP)
SDLY
(MP)
SDLY
(LE)

② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します- 136 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) ORG-1 ドライブ型式
ORIGIN ドライブの起動方向が －(CCW)方向の場合
CCW 方向の ORG-1 型式は、 ORG 検出信号の CCW 側エッジ検出で機械原点を検出します。
ORG 検出信号には、１つのパルス、または ＋(CW)側レベル保持のセンサ信号を入力します。
最高速度でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT

検出信号

開始位置
終了位置

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
LDLY: LIMIT DELAY● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します(MP)② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します

SDLY● 開始位置がCCW側のとき① SCAN工程を行います
CCWLM信号の検出で停止します② LIMIT DELAY TIMEを挿入します

LDLY
(MP)
SDLY
(MP)

(LE)

(MP)
SDLY

SDLY
(LE)

④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します

SDLY

(MP)

③ SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します● 開始位置がCCW LIMIT内のとき① SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します- 137 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ ORIGIN ドライブの起動方向が ＋(CW)方向の場合
起動方向が CW 方向の場合は、 CCW 方向と対称の動作で、対称方向のエッジを検出します。
CW 方向の ORG-1 型式は、 ORG 検出信号の CW 側エッジ検出で機械原点を検出します。
ORG 検出信号には、１つのパルス、または －(CCW)側レベル保持のセンサ信号を入力します。
最高速度でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT
開始位置
終了位置

検出信号

(MP)
SDLY

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
LDLY: LIMIT DELAY● 開始位置がCCW側のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がCW側のとき① SCAN工程を行います
CWLM信号の検出で停止しますLDLY ② LIMIT DELAY TIMEを挿入します③ SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します

(MP)
SDLY
(MP)
SDLY
(LE)

④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がCW LIMIT内のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します

(MP)
SDLY
(MP)
SDLY
(LE)

② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します- 138 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(4) ORG-2 ドライブ型式
ORIGIN ドライブの起動方向を、－(CCW)方向として説明します。
ORG-2 型式は、 ORG-0 型式に 1PULSE 送り工程を付加して精度を高めた型式です。
－(CCW)LIMIT＋(CW)LIMIT
開始位置
終了位置

検出信号

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
LDLY: LIMIT DELAY
PDLY: PULSE DELAY● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します

(MP)
SDLY
(MP)
SDLY
(MP)

(LE)

SDLY
(LE)

PDLY

② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ 1PULSE送り工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がCCW側のとき① SCAN工程を行います
CCWLM信号の検出で停止します② LIMIT DELAY TIMEを挿入します

LDLY
(MP)
SDLY
(MP)
SDLY
(LE)

PDLY

(MP)
SDLY
(MP)
SDLY
(LE)

PDLY

③ SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ 1PULSE送り工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がセンサ内／CCW LIMIT内のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ 1PULSE送り工程を行います
検出信号のCW側エッジ検出で停止します- 139 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(5) ORG-3 ドライブ型式
ORIGIN ドライブの起動方向を、－(CCW)方向として説明します。
ORG-3 型式は、 ORG-1 型式に JOG 工程を付加して精度を高めた型式です。
－(CCW)LIMIT＋(CW)LIMIT

検出信号

開始位置
終了位置

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
LDLY: LIMIT DELAY
PDLY: PULSE DELAY● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCCW側エッジ検出で停止します

(MP)
SDLY

② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します
SDLY
(MP)

(LE)

SDLY
(LE)

PDLY

④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ 1PULSE送り工程を行います
検出信号のCCW側エッジ検出で停止します● 開始位置がCCW側のとき① SCAN工程を行います
CCWLM信号の検出で停止します② LIMIT DELAY TIMEを挿入します

LDLY
(MP)
SDLY
(MP)
SDLY
(LE)

PDLY

(MP)
SDLY
(MP)
SDLY
(LE)

PDLY

③ SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ 1PULSE送り工程を行います
検出信号のCCW側エッジ検出で停止します● 開始位置がCCW LIMIT内のとき① SCAN工程を行います
検出信号のCCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ 1PULSE送り工程を行います
検出信号のCCW側エッジ検出で停止します- 140 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(6) ORG-4,ORG-5 ドライブ型式
ORG-4, ORG-5 型式は、 NORG 検出信号と ORG 検出信号で機械原点を検出します。
ORG-4, ORG-5 型式は、最初に NEAR ORIGIN 工程を実行します。次に ORIGIN 工程を実行します。
■ ORG-4 、 ORG-5 型式の NEAR ORIGIN 工程
ORIGIN ドライブの起動方向を、－(CCW)方向として説明します。
起動方向が CW 方向の場合は、対称の動作で、対称方向のエッジを検出します。
NORG 検出信号には、１つのパルス、または －(CCW)側レベル保持のセンサ信号を入力します。
最高速度でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT
開始位置
終了位置

NORG

SDLY: SCAN DELAY
LDLY: LIMIT DELAY● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します

SDLY● 開始位置がCCW側のとき① SCAN工程を行います
CCWLM信号の検出で停止します② LIMIT DELAY TIMEを挿入します

LDLY③ SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します
SDLY④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がセンサ内／CCW LIMIT内のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します

SDLY② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します- 141 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ ORG-4 型式の ORIGIN 工程
ORIGIN ドライブの起動方向を、－(CCW)方向として説明します。
起動方向が CW 方向の場合は、対称の動作で対称方向のエッジを検出します。
ORG 検出信号には、回転軸のスリットなど周期的に信号を発生するセンサ信号を入力します。
CONSTANT SCAN 工程の速度（ CSPD ）でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT
開始位置
終了位置

NORG
ORG

ORG

● NORG検出時にORGがハイレベルのとき① SCAN DELAY TIMEを挿入します② CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します

SDLY
(MP)
SDLY
(LE)

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
PDLY: PULSE DELAY③ SCAN DELAY TIMEを挿入します④ 1PULSE送り工程を行います
検出信号のCW側エッジ検出で停止します

PDLY

NORG
ORG
SDLY
(MP)
SDLY
(MP)

(LE)

SDLY
(LE)

PDLY

● NORG検出時にORGがローレベルのとき① SCAN DELAY TIMEを挿入します② CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します③ SCAN DELAY TIMEを挿入します④ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します⑤ SCAN DELAY TIMEを挿入します⑥ 1PULSE送り工程を行います
検出信号のCW側エッジ検出で停止します＊ 原点センサに検出幅が狭い Z 相を用いる場合、レベルエラーになる場合があります。
このようなときは、 ORIGIN SPEC SET 関数の SENSOR ERROR TYPE を「レベルエラーを無視して次工程に進む」の設定にしてください。

- 142 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ ORG-5 型式の ORIGIN 工程
ORIGIN ドライブの起動方向を、－(CCW)方向として説明します。
起動方向が CW 方向の場合は、対称の動作で、対称方向のエッジを検出します。
ORG 検出信号には、回転軸のスリットなど周期的に信号を発生するセンサ信号を入力します。
CONSTANT SCAN 工程の速度（ CSPD ）でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT
開始位置
終了位置

NORG
ORG

ORG
SDLY
(MP)
SDLY
(MP)

(LE)

SDLY
(LE)

PDLY

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY
PDLY: PULSE DELAY● NORG検出時にORGがハイレベルのとき① SCAN DELAY TIMEを挿入します② CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します③ SCAN DELAY TIMEを挿入します④ CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します⑤ SCAN DELAY TIMEを挿入します⑥ 1PULSE送り工程を行います
検出信号のCCW側エッジ検出で停止します

NORG
ORG
SDLY
(MP)
SDLY
(LE)

PDLY

● NORG検出時にORGがローレベルのとき① SCAN DELAY TIMEを挿入します② CONSTANT SCAN工程を行います
検出信号のCCW側エッジ検出で停止します③ SCAN DELAY TIMEを挿入します④ 1PULSE送り工程を行います
検出信号のCCW側エッジ検出で停止します＊ 原点センサに検出幅が狭い Z 相を用いる場合、レベルエラーになる場合があります。
このようなときは、 ORIGIN SPEC SET 関数の SENSOR ERROR TYPE を「レベルエラーを無視して次工程に進む」の設定にしてください。

- 143 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(7) ORG-10 ドライブ型式
ORIGIN ドライブの起動方向を、－(CCW)方向として説明します。
起動方向が ＋(CW)方向の場合は、対称の動作で、対称方向のエッジを検出します。
ORG-10 型式は、 NORG 検出信号と ORG 検出信号で機械原点を検出します。
検出信号には、１つのパルス、または －(CCW)側レベル保持のセンサ信号を入力します。
最高速度でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
－(CCW)LIMIT＋(CW)LIMIT

NORG

開始位置
終了位置

(MP)：MARGINパルス挿入
SDLY : SCAN DELAY
LDLY : LIMIT DELAY

ORG● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します
連続② DELAY TIMEは挿入しません③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がNORGセンサ内のとき① CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します

(MP)
SDLY

● 開始位置がORGセンサ内のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がCCW側のORGセンサ外のとき① SCAN工程を行います
CCWLM信号の検出で停止します② LIMIT DELAY TIMEを挿入します

LDLY
(MP)
SDLY

③ SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します- 144 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
メカ限界点へぶつかり、メカや加工品などを破損させるおそれがあります。

 注意

RATE,HSPD などを変更した場合、停止点が変化するのでメカ限界点までの距離を確認し直してください。
ORG-11,12 型式では ORG 検出中での LIMIT 停止は減速停止になります。

(8) ORG-11 ドライブ型式
起動方向が CCW 方向の場合は、 CCWLM 信号の CW 側エッジ検出で機械原点を検出します。
起動方向が CW 方向の場合は、 CWLM 信号の CCW 側エッジ検出で機械原点を検出します。
ORIGIN ドライブの起動方向を、-(CCW)方向として説明します。
起動方向が+(CW)方向の場合は、対称の動作で、機械原点を検出します。
CCWLM 信号には、 1 つのパルス、または －(CCW)側レベル保持のセンサ信号を入力します。
最高速度でセンサを通過したときに、 1ms 以上の幅の信号が検出されるようにします。
SCAN 工程では、 CCWLM 信号検出後の停止機能は減速停止になります。
CCWLM 信号からシステムの -(CCW)方向の限界までの距離は、減速停止するのに十分な距離にします。
－(CCW)LIMIT

開始位置
終了位置

CCWLM

② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します

SDLY

(MP)
SDLY

SDLY
(LE)

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します

(MP)

(MP)

＋(CW)LIMIT(LE)● 開始位置がCCW LIMIT内のとき① CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します- 145 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(9) ORG-12 ドライブ型式
起動方向が CCW 方向の場合は、 CCWLM 信号の CW 側エッジ検出で機械原点を検出します。
起動方向が CW 方向の場合は、 CWLM 信号の CCW 側エッジ検出で機械原点を検出します。
ORIGIN ドライブの起動方向を、-(CCW)方向として説明します。
ORG-12 型式は、 ORG-11 型式に JOG 工程を付加して精度を高めた型式です。
－(CCW)LIMIT

開始位置
終了位置

CCWLM

SDLY
(MP)
SDLY
(LE)

SDLY
(LE)

PDLY

(MP)

④ SCAN DELAY TIMEを挿入します⑤ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します⑥ SCAN DELAY TIMEを挿入します⑦ JOG工程を行います
検出信号のCW側エッジ検出で停止します● 開始位置がCCW LIMIT内のとき① CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します

(LE)

PDLY

④ SCAN DELAY TIMEを挿入します⑤ JOG工程を行います
検出信号のCW側エッジ検出で停止します

SDLY
(LE)

② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します② SCAN DELAY TIMEを挿入します③ CONSTANT SCAN工程を行います
検出信号のCW側エッジ検出で停止します

SDLY
(MP)

(MP)：MARGINパルス挿入(LE)：レベルエラーチェック
SDLY: SCAN DELAY PDLY: PULSE DELAY● 開始位置がCW側のとき① SCAN工程を行います
検出信号のCW側エッジ検出で減速停止します

(MP)

(MP)

＋(CW)LIMIT- 146 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-1-5. 補間ドライブ(1) 補間ドライブ仕様
次の補間ドライブ関数を用意しています。
・メインチップ 2 軸相対アドレス直線補間ドライブ関数 (2 軸相関直線補間ドライブ)・メインチップ 2 軸相対アドレス円弧補間ドライブ関数 (2 軸相関円弧補間ドライブ)
メインチップ 2 軸相対アドレス直線補間ドライブ、メインチップ 2 軸相対アドレス円弧補間ドライブは、
ドライブが実行される軸の加減速パラメータで補間ドライバの基本 PULSE を発生します。
補間は、発生した基本 PULSE を補間演算して補間 PULSE を出力します。

(2) 直線補間ドライブ
各補間軸は任意の長軸と短軸で座標を構成し、指定軸の PULSE を出力して直線補間します。
指定直線に対する位置誤差は、± 0.5LSB です。
座標指定出来る相対アドレス範囲は、-2,147,483,648 ～+2,147,483,647(32 ビット)です。
長軸のパルス出力が INDEX ドライブと同様の加減速ドライブとなります。
直線補間ドライブの軌跡(長軸 20:短軸 9 の例)
短軸

9

5

0

5

10

15

20 長軸

直線補間ドライブの軌跡は、現在位置と目的地を結ぶ直線に沿います。
直線補間 SCAN ドライブの場合は、停止指令を検出するまで目的地の指定方向にパルス出力を続けます。
直線補間 INDEX ドライブの場合は、長軸のパルス数が目的地のパルス数になるとドライブを終了します。
●直線補間の長軸と短軸補間パルス数が大きい方の軸が長軸、小さい方の軸が短軸になります。

■メインチップ 2 軸相対アドレス直線補間ドライブの実行シーケンス

SPEED･RATE関数①ドライブ実行軸に加減速ドライブに必要なパラメータを設定します。

メインチップ2軸相対アドレス
直線補間ドライブ関数の実行②ドライブ仕様を指定して、メインチップ 2 軸相対アドレス直線補間ドライブを実行します。

- 147 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(3) 円弧補間ドライブ
現在の座標と中心点で形成する円弧曲線上を指定の短軸 PULSE 数に達するまで円弧補間を行います。
円弧曲線に対する位置誤差は、± 1LSB です。
座標指定出来る相対アドレス範囲は、-8,388,608 ～+8,388,607(24 ビット)です。
円弧補間ドライブの軌跡(CCW 回転の例)

CCW
現在位置

停止位置

Y
円弧補間ドライブの軌跡は、現在位置と円弧の中心点の距離を半径とした円周に沿います。
目的地が円周上に存在しない場合は、目的地と同じ象限内の短軸が一致した位置でドライブを終了します。
●円弧補間の短軸 : 円弧補間の中心点( 0, 0 )としたときに補間座標( X, Y )の絶対値が小さい方の軸が短軸になります。

象限2

象限1

象限3

象限0

象限4

象限7

X

象限5

象限6

目的地が円周上に存在しない場合は、目的地と同じ象限内の短軸が一致した位置でドライブが終了しますが目的地を下図の斜線部分に指定した場合は、各斜線部分と円周が接した点でドライブが終了します。
XY- 148 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■メインチップ 2 軸相対アドレス円弧補間ドライブの実行シーケンス

SPEED･RATE関数①ドライブ実行軸に加減速ドライブに必要なパラメータを設定します。

メインチップ2軸相対アドレス
円弧補間ドライブ関数の実行②ドライブ仕様を指定して、メインチップ 2 軸相対アドレス円弧補間ドライブを実行します。

【注意】
線速一定制御を「有効」にして、円弧補間ドライブを実行するときは、下記のように円弧補間ドライブの終了処理を実行してください。円弧補間ドライブの終了処理が行われないと、円弧補間ドライブの後に直線補間ドライブを実行したとき、設定速度が出力されないことがあります。
・CIRCULAR XPOSITION SETコマンド
・CIRCULAR YPOSITION SETコマンド
・CIRCULAR PULSE SETコマンド
・メイン軸円弧補間ドライブ(H'28)(H'29)(H'2A)(H'3A)： H'00_0000 に設定： H'00_0000 に設定： H'0000_0000 に設定： DATA1=H'0001 で実行*上記の各コマンドは応用機能編をご覧ください。
*円弧補間ドライブの終了処理で動作することはありません。

- 149 -

円弧補間ドライブ(0 パルス、終了位置 0 ゜)

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(4) 線速一定制御
補間ドライブする 2 軸の合成速度を一定にする制御です。
コマンド実行軸が発生する補間ドライブの基本パルスを線速一定制御します。
コマンド実行軸に設定された速度が合成速度に反映されます。
2 軸同時にパルス出力したときに、次の基本パルスの出力周期を 1.414 倍にします。

■線速一定の補間パルス出力 (2 軸直線補間ドライブの例)
ON 周期の幅はそのままで、 OFF 周期の幅が長くなります。
1

1.414

1

1.414

1

長軸の補間パルス
0.5

0.5

0.914

0.5

短軸の補間パルス・直線補間ドライブでは、コマンド実行軸の長軸と短軸の２軸間で、線速一定制御します。
・円弧補間ドライブでは、 X 座標軸と Y 座標軸の２軸間で、線速一定制御します。
・線速一定制御は各補間ドライブの実行コマンドで設定します。

直線補間ドライブの軌跡(長軸 10:短軸 10 の例)<線速一定制御なしのとき>
短軸<線速一定制御ありのとき>

10短軸
合成速度=√ 2 × 1000 Hz

長軸の設定速度=1000 Hz

10
合成速度=1000 Hz

10 長軸

10 長軸

長軸の設定速度=1000 Hz

長軸の速度を一定速の 1000Hz とすると、
2 軸直線補間で描かれる軌跡の合成速度は√ 2 × 1000Hz でドライブします。

コマンド実行軸の速度を一定速の 1000Hz として
線速一定制御を設定すると、 2 軸直線補間で描かれる軌跡の合成速度が 1000Hz となるようにドライブします。

※線速一定で加減速ドライブを行うと、減速後の終了速度でのドライブが長くなります。
速度
設定された最高速度

最高速度

線速一定制御で加減速ドライブすると、パルス出力

補間演算による線速一定の速度
加速カーブ

減速カーブ

開始速度
FSPD

できなかったパルス分は終了速度で出力します。

終了速度
第１パルス
時間

- 150 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-1-6. パルス出力停止機能
パルス出力停止機能は、実行中のドライブを終了させる機能です。
パルス出力停止機能には、減速停止機能、即時停止機能、 LIMIT 減速停止機能、 LIMIT 即時停止機能があります。
※ ORIGIN ドライブ中の停止機能には、以下の制限があります。
・多用途センサ信号(SS0,SS1)による減速停止、および即時停止は無効です。
・各種カウンタのコンパレータの一致による減速停止、および即時停止は無効です。

(1) 減速停止機能
減速停止指令のアクティブを検出すると、実行中のドライブパルス出力を終了速度まで減速してから、パルス出力を停止後にドライブを終了します。減速停止機能には、以下の減速停止指令があります。
・ SLOW STOP コマンド・停止機能を減速停止に設定した各種カウンタのコンパレータ出力
・入力機能を減速停止に設定した DALM 信号・入力機能を減速停止に設定した多用途センサ信号(SS0, SS1)
(応用機能)
減速停止機能は DRIVE STATUS1 PORT の STBY = 1 または DRIVE = 1 のときに有効になる停止機能です。
減速停止指令のアクティブ検出と同時に、 DRIVE STATUS1 PORT の SSEND = 1 になります。

(2) 即時停止機能
即時停止指令のアクティブを検出すると、実行中のドライブを強制終了します。
即時停止機能には、以下の即時停止指令があります。
・ FAST STOP コマンド・停止機能を即時停止に設定した各種カウンタのコンパレータ出力
・入力機能を即時停止に設定した DALM 信号・入力機能を即時停止に設定した多用途センサ信号(SS0, SS1)
(応用機能)・ FSSTOP 信号(FSSTOP1,2 信号)、 FSSTOP 信号
即時停止機能は DRIVE STATUS1 PORT の BUSY = 1 のときに有効になる停止機能です。
即時停止指令のアクティブ検出と同時に、 DRIVE STATUS1 PORT の FSEND = 1 になります。
データ設定コマンド実行中は、即時停止指令を検出しても強制終了しません。 FSEND フラグも変化しません。

(3) LIMIT 停止機能
LIMIT 停止機能は方向別のドライブ停止機能です。減速停止か即時停止を選択できます。
減速停止の場合、 LIMIT 停止指令のアクティブを検出すると、実行中のドライブパルス出力を終了速度まで減速してから、パルス出力を停止後にドライブを終了します。
即時停止の場合、 LIMIT 停止指令のアクティブを検出すると、実行中のドライブを強制終了します。
LIMIT 停止機能は、 SPEC INITIALIZE2 コマンドで設定します。
LIMIT 停止機能には以下の LIMIT 停止指令があります。
・+方向ドライブ中の LIMIT 停止指令
CWLM 信号各カウンタの COMP2 コンパレータ出力・-方向ドライブ中の LIMIT 停止指令
CCWLM 信号各カウンタの COMP3 コンパレータ出力
DRIVE STATUS1 PORT の DRIVE = 1 のときに有効になる停止機能です。
また、 DRIVE STATUS2 PORT の DEND BUSY = 1 のときには、 LIMIT 停止機能の検出のみ行います。
LIMIT 停止指令検出と同時に、 DRIVE STATUS1 PORT の LSEND = 1 になります。

■停止によるエラー出力
各停止機能の停止ステータスの発生 または 停止信号のアクティブ入力検出でエラー出力することができます。
詳しくは 5-1-7.「エラー出力機能」を参照してください。
【エラー出力できる停止ステータス】
・ STATUS1 PORT の FSEND・ STATUS1 PORT の LSEND・ STATUS1 PORT の SSEND【エラー出力できる停止信号】
・ FSSTOP 信号(FSSTOP1,2 信号)、 FSSTOP 信号
・ DALM 信号(INnx 信号)- 151 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-1-7. エラー出力機能
以下の 15 個の ERROR STATUS の内、設定した ERROR STATUS を検出すると、 DRIVE STATUS1 PORT のERROR フラグを出力します。
ERROR フラグ = 1 の間は汎用コマンドの書き込みが無効になり、インターロック状態になります。
ERROR フラグ = 1 は発生した ERROR STATUS をクリアすることで ERROR フラグ=0 に戻ります。
・コマンド予約機能(応用機能)によりコマンドを予約している状態で ERROR フラグ = 1 になると、予約コマンドを全てクリアしてインターロック状態になります。
・ ERROR フラグ = 1 の間は COMREG FL = 1, COMREG EP = 1 になります。

■ ERROR STATUS
ERROR STATUS

エラー内容

COMMAND ERROR

未定義の汎用コマンドを実行した。

COMREG CLR ERROR

コマンド予約機能で格納している実行待ちの予約コマンドをクリアした。

INC INDEX ERROR

相対アドレスのオーバフローで、 INC INDEX ドライブを終了した。

ABS INDEX ERROR

アドレスカウンタのオーバフローで、 ABS INDEX ドライブを終了した。

INDEX CHANGE ERROR

反転動作が必要な INDEX CHANGE 指令を検出した。

CHANGE CLR ERROR

実行待ちの INDEX CHANGE 指令を無効にした。

CPP STOP ERROR

補間ドライブのメイン軸の CPP STOP 機能でドライブを終了した。

EXT PULSE ERROR

外部パルス出力機能を実行中に正常な外部パルス出力ができなかった。

FSEND ERROR

BUSY = 1 のときに、 DRIVE STATUS1 PORT の FSEND = 1 を検出した。

LSEND ERROR

BUSY = 1 のときに、 DRIVE STATUS1 PORT の LSEND = 1 を検出した。

SSEND ERROR

BUSY = 1 のときに、 DRIVE STATUS1 PORT の SSEND = 1 を検出した。

ADDRESS OVF ERROR

BUSY = 1 のときに、 DRIVE STATUS4 PORT の ADDRESS OVF = 1 を検出した。

PULSE OVF ERRORDRIVE STATUS4 PORT の PULSE OVF = 1 を検出した。

DALM ERRORDALM 信号のアクティブ入力を検出した。

FSSTOP ERRORFSSTOPn 信号又は FSSTOP 信号のアクティブ入力を検出した。

・ ERROR STATUS は、 ERROR STATUS READ コマンドで読み出すことができます。
・ ERROR STATUS は、動作エラー関数でクリアします。

■エラー発生要因と ERROR 出力の構成
ERROR STATUS
MASK

ERROR STATUS
READ

<ラッチ>

ERROR STATUS 出力
エラー発生要因の検出
<ラッチ>
<クリア>

ERROR STATUS <トリガ>
CLR(動作エラークリア関数にて)- 152 -

<マスク>
ERROR
STATUSMASKERRORSTATUSOR 出力

ERROR フラグ 出力

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■ ERROR フラグ
DRIVE STATUS1 PORT の ERROR フラグは、 ERROR STATUS の論理和(OR)出力です。
ERROR フラグに出力する ERROR STATUS は、 ERROR STATUS MASK コマンドで個別にマスクすることができます。
但し、以下の ERROR STATUS はマスクすることはできません。
・ COMMAND ERROR・ COMREG CLR ERROR
・ INC INDEX ERROR・ ABS INDEX ERROR
・ INDEX CHANGE ERROR

リセット後の初期設定は、以下の ERROR STATUS がマスクされています。
・ LSEND ERROR
・ SSEND ERROR,
・ ADDRESS OVF ERROR・ PULSE OVF ERROR・ DALM ERROR・ FSSTOP ERROR【注意】
停止機能を ERROR = 1 の発生要因に設定している場合で、予約コマンドを格納したドライブを実行して、 ERROR = 1 が発生した場合は、
STATUS1 PORT の DRVEND, LSEND, SSEND フラグが "1" にならない場合があります。
予約コマンドを格納したドライブを実行して ERROR = 1 が発生した場合は、以下のフラグで停止・終了を確認してください。
・停止要因は、 ERROR STATUS の FSEND ERROR, LSEND ERROR, SSEND ERROR で確認する。
・ドライブの終了は、 STATUS1 PORT の BUSY=0 で確認する。

- 153 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-1-8. 読み出し機能(1) ステータス読み出し
各 STATUS 読み出し関数にて、 MCC07E および HARD CONFIGURATION(応用機能)コマンドの
STATUS PORT を読み出すことで、各軸のドライブコントロール、入出力信号、 INT 出力、カウンタのコンパレータ出力の現在の状態などが読み出せます。

(2) 設定データ読み出し
MCC07E 、および HARD CONFIGURATION(応用機能)に各 SET DATA READ コマンドを実行すると、設定したデータが読み出せます。

(3) 出力中のドライブ速度読み出し
MCC07E に MCC SPEED READ コマンドを実行すると、現在出力中のドライブパルス速度が読み出せます。
読み出されたデータは、ドライブパルス速度(Hz)の 10 倍のパルス速度データです。

(4) エラーステータス読み出し
MCC07E に ERROR STATUS READ コマンドを実行すると、現在発生しているエラーの状態が読み出せます。

(5) カウントデータ読み出し
MCC07E に各カウンタ READ コマンドを実行すると、現在のカウントデータが読み出せます。

- 154 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書5-2. カウンタ仕様
5-2-1. エンコーダパルス入力方式
EA, EB 信号に外部パルス信号を入力して各カウンタでカウントできます。
カウント方法はカウンタ毎に以下の 4 種類の中から選択できます。
※ 6 軸、 12 軸製品はエンコーダパルス入力機能はありません。
<＋方向パルス出力><－方向パルス出力>● 1 逓倍の位相差信号入力
EA:A 相入力EB:B 相入力● 2 逓倍の位相差信号入力
EA:A 相入力EB:B 相入力● 4 逓倍の位相差信号入力
EA:A 相入力EB:B 相入力●独立方向パルス入力
EA:パルス入力EB:パルス入力・矢印は入力パルスのカウントエッジです。
・各カウンタのパルスカウント方法は各 COUNTER INITIALIZE1 コマンドで行います。
【位相差信号入力タイミング】
・アドレスカウンタの場合
2 逓倍のとき t1, t2, t3, t4 ＞ 50 ns
t1 ＋ t2 ≧ 200 ns
t3 ＋ t4 ≧ 200 ns

EA 入力
EB 入力

4 逓倍のときt1

t2

t3

t1, t2, t3, t4 ≧ 200 ns

・その他のカウンタの場合
t1, t2, t3, t4 ＞ 50 ns

t4【独立方向パルス入力タイミング】
EA 入力

・アドレスカウンタの場合
t1, t2, t4 ＞ 50 ns
t3 ≧ 200 ns

EB 入力
t1

t2

t4

t1

t3

t2
t3

- 155 -

・その他のカウンタの場合
t1, t2, t4 ＞ 50 ns
t3 ＞ 100 ns

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-2-2. 外部パルス出力機能
アドレスカウンタのカウントパルスを「外部パルス」に設定すると、 EA, EB 信号に入力されるパルスのカウントタイミングを選択したアクティブ幅のパルスに変換して、 CWP, CCWP 信号から出力します。
※ 6 軸、 12 軸製品はエンコーダパルス入力による外部パルス出力機能はありません。
<入力パルス>● 2 逓倍の位相差信号入力
EA:A 相入力EB:B 相入力<出力パルス>●独立方向出力
CWP:パルス出力CCWP :パルス出力
選択したアクティブ幅● 2 逓倍の位相差信号出力
CWP:A 相出力CCWP :B 相出力

・アドレスカウンタのカウントパルスの設定は ADDRESS COUNTER INITIALIZE1 コマンドで行います。
・選択したアクティブ幅の 2 倍の時間内に、次の外部パルスのカウントタイミングが入力した場合は、正常なパルス出力ができません。この場合は、エラーになります。
(ERROR STATUS の EXT PULSE ERROR = 1 にします。)
・ LIMIT 停止指令を検出すると、検出方向の外部パルス出力を停止して、 STBY 状態にします。
・減速停止指令、即時停止指令または DRIVE STATUS1 PORT の ERROR = 1 を検出すると、外部パルス出力を停止して、外部パルス出力機能を無効状態にします。
・外部パルス出力機能が有効状態でもコマンド予約機能、同期スタート機能、 DEND, DRST 信号のサーボ
対応機能が有効です。
また、 DRIVE STATUS1, 2 PORT の以下のフラグが有効です。
DRIVE STATUS1 … BUSY 、 STBY 、 DRIVE 、 ERROR 、 LSEND 、 SSEND 、
FSEND 、 PAUSE 、 COMREG EP 、 COMREG FL
DRIVE STATUS2 … DEND BUSY
・方向指定出力の場合は、カウントタイミングの入力でパルスの出力方向が確定するため、方向出力信号の変化とアクティブ幅の立ち下がりエッジ出力が同時になります。
・ 2 逓倍の位相差信号出力の場合は、 EXT PULSE TYPE で選択したアクティブ幅が、出力信号の位相差になります。

- 156 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■外部パルス出力中のステータスと停止機能
外部パルス出力がアクティブレベルを出力中に、外部パルス出力の停止要因を検出した場合は、 出力中のパルスのアクティブ幅を確保した後にパルス出力を停止します。
外部パルス出力中のステータスフラグは、以下のように変化します。
●外部パルス出力の開始と終了
・ EXT PULSE = 0 、 BUSY = 0 、 ERROR = 0 のときに、
COUNT PULSE SEL の「 01, 10, 11 」（他軸の発生パルス、外部パルス信号）設定を検出すると、
EXT PULSE = 1 、 BUSY = 1 、 STBY = 1 、 DRIVE = 0 になります。
・ EXT PULSE = 0 、 BUSY = 1 のときに、 COUNT PULSE SEL を「 01, 10, 11 」に設定すると、現在の BUSY = 1 状態終了後に、 EXT PULSE = 1 、 BUSY = 1 になります。
・ EXT PULSE = 1 、 STBY = 1 の状態は、出力する外部パルス信号の入力待ちの状態です。
・ 出力する外部パルス信号を検出すると、外部パルス出力を開始して、EXT PULSE = 1 、 BUSY = 1 、 STBY = 0 、 DRIVE = 1 になります。
EXT PULSE = 1 、 DRIVE = 1 の状態は、外部パルス出力中の状態です。
・ EXT PULSE = 1 のときに、 COUNT PULSE SEL の「 00 」（自軸の発生パルス）設定を検出すると、
EXT PULSE = 0 、 BUSY = 0 になります。
EXT PULSE = 0 、 BUSY = 0 の状態は、外部パルス出力を終了した状態です。
・ STBY = 1 または DRIVE = 1 のときに COUNT PULSE SEL の「 00 」を検出した場合は、
DEND 信号の<サーボ対応>も実行します。
DEND 信号の<サーボ対応>中は、 BUSY = 1 になります。
● LIMIT 停止機能による外部パルス出力の停止
・ EXT PULSE = 1 のときに、 LIMIT 停止指令を検出すると、外部パルス出力を停止して、
EXT PULSE = 1 、 BUSY = 1 、 STBY = 1 、 DRIVE = 0 になります。
EXT PULSE = 1 、 STBY = 1 の状態は、出力する外部パルス信号の入力待ちの状態です。
LIMIT 停止指令がアクティブ状態でも、 LIMIT 停止指令と反対方向の外部パルスが出力できます。
・ LSEND フラグも変化します。 DEND 信号または DRST 信号の<サーボ対応>も実行します。
DEND 信号または DRST 信号の<サーボ対応>中は、 STBY = 0 になります。
・ LIMIT 減速停止指令は、 DRIVE = 0 → 1 の直前と DRIVE = 1 、 DEND BUSY = 1 のときに検出します。
LIMIT 即時停止指令は、 DRIVE = 0 → 1 の直前と DRIVE = 1 、 DEND BUSY = 1 のときに検出します。
●その他の停止機能による外部パルス出力機能の無効
・ EXT PULSE = 1 のときに、減速停止指令、即時停止指令または ERROR = 1 を検出すると、外部パルス出力を停止して、 EXT PULSE = 1 、 BUSY = 1 、 STBY = 0 、 DRIVE = 0 になります。
EXT PULSE = 1 、 BUSY = 1 、 STBY = 0 、 DRIVE = 0 の状態は、外部パルス出力機能が無効の状態です。
・ SSEND 、 FSEND フラグも変化します。
DEND 信号または DRST 信号の<サーボ対応>も実行します。
・ 減速停止指令は、 STBY = 1 または DRIVE = 1 のときに検出します。
即時停止指令および ERROR = 1 は、 BUSY = 1 のときに検出します。
・ SSEND = 1 、 FSEND = 1 または ERROR = 1 で外部パルス出力を停止した場合は、
COUNT PULSE SEL を「 00 」に設定して、外部パルス出力を終了させてください。

- 157 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-2-3. アドレスカウンタ
アドレスカウンタは CWP, CCWP 信号に出力するドライブパルスをカウントして、絶対アドレスを管理する
32 ビットのカウンタです。
・+(CW)方向のパルスでカウントアップ、-(CCW)方向のパルスでカウントダウンします。
・カウンタの有効範囲は、-2,147,483,647 ～ +2,147,483,647 （ H'8000_0001 ～ H'7FFF_FFFF ）です。
負数の場合は、 2 の補数表現になります。

■アドレスカウンタのパルス選択部
外部パルス
EA, EBEXT COUNTTYPE

EXT PULSE
TYPE

発生パルス

COUNT
PULSE
SEL

出力パルス

カウントパルス・アドレスカウンタのパルス選択機能は ADDRESS COUNTER INITIALIZE1 コマンドで設定します。
・アドレスカウンタのパルス選択機能で外部パルスを選択した場合、 CWP, CCWP から出力するパルスは
外部パルスのタイミングで発生します。詳細は 5-2-2.章「外部パルス出力機能」を参照してください。

■アドレスカウンタとコンパレータの構成
ADDRESS
CLR
ENABLE

カウントパルス
DRIVE DATA1, 2 PORT
データリードDRIVE DATA1, 2 PORT
データライト

32BIT<ラッチ信号によるクリア>
COUNT LATCH SPEC SET
コマンドの設定

AUTO CLEARENABLE

アドレスカウンタ

カウントデータADRINT
COMPARE REGISTER1
COMP1 ADD DATA

<比較>
COMP1
＝

COMP1 の出力

AUTO ADDENABLEADRINT
COMPARE REGISTER2

<比較>
COMP2
TYPE

COMP2 の出力

ADRINT
COMPARE REGISTER3

<比較>
COMP3
TYPE

COMP3 の出力・アドレスカウンタとコンパレータの機能は ADDRESS COUNTER INITIALIZE1 コマンドで設定します。
・アドレスカウンタの現在値は ADDRESS COUNTER PRESET コマンドで設定します。
・アドレスカウンタの現在値は ADDRESS COUNTER READ コマンドで読み出せます。

- 158 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-2-4. パルスカウンタ
パルスカウンタは、外部パルス(エンコーダパルス)をカウントして、実位置を管理する 32 ビットのカウンタです。
ドライブ出力パルスのカウントもできます。
・+(CW)方向のパルスでカウントアップ、-(CCW)方向のパルスでカウントダウンします。
・カウンタの有効範囲は、-2,147,483,647 ～ +2,147,483,647 （ H'8000_0001 ～ H'7FFF_FFFF ）です。
負数の場合は、 2 の補数表現になります。

■パルスカウンタのパルス選択部
外部パルス
EA, EBEXT COUNT
TYPE

COUNT
PULSE
SEL

出力パルス

カウントパルス・パルスカウンタのパルス選択機能は PULSE COUNTER INITIALIZE1 コマンドで設定します。

■パルスカウンタとコンパレータの構成
PULSE
CLR
ENABLE

カウントパルス
DRIVE DATA1, 2 PORT
データリードDRIVE DATA1, 2 PORT
データライト

32BIT<ラッチ信号によるクリア>
COUNT LATCH SPEC SET
コマンドの設定

AUTO CLEARENABLE

パルスカウンタ

カウントデータ

CNTINT
COMPARE REGISTER1
COMP1 ADD DATA

<比較>
COMP1
＝

COMP1 の出力

AUTO ADDENABLE

CNTINT
COMPARE REGISTER2

<比較>
COMP2
TYPE

COMP2 の出力

CNTINT
COMPARE REGISTER3

<比較>
COMP3
TYPE

COMP3 の出力

・パルスカウンタとコンパレータの機能は PULSE COUNTER INITIALIZE1 コマンドで設定します。
・アドレスカウンタの現在値は PULSE COUNTER PRESET コマンドで設定します。
・アドレスカウンタの現在値は PULSE COUNTER READ コマンドで読み出せます。

- 159 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-2-5. パルス偏差カウンタ
パルス偏差カウンタは外部パルス(エンコーダパルス)とドライブ出力パルスをカウントして、パルス数の偏差を検出する 16 ビットのカウンタです。
システムクロック(20MHz)のみをカウントしてタイマとして使用することもできます。
※ 6 軸、 12 軸製品は外部パルス入力による偏差カウンタ機能はありません。
・外部入力パルスは+(CW)方向のパルスでカウントアップ、-(CCW)方向のパルスでカウントダウンします。
・ドライブ出力パルスは-(CCW)方向のパルスでカウントアップ、+(CW)方向のパルスでカウントダウンします。
・カウンタの有効範囲は、-32,767 ～ +32,767 （ H'8001 ～ H'7FFF ）です。
負数の場合は、 2 の補数表現になります。

■パルス偏差カウンタのパルス選択部
外部パルス
EA, EBEXT COUNT
TYPE
COUNT
PULSE
SEL

出力パルス

DIVISION
DIVISION
TYPE
DIVISION

カウントパルス 1

カウントパルス 2

システムクロック(20MHz)・パルス偏差カウンタのパルス選択機能は DFL COUNTER INITIALIZE1 コマンドで設定します。

■パルス偏差カウンタとコンパレータの構成
カウントパルス 1

DFL
CLR
ENABLE

カウントパルス 2
DRIVE DATA1, 2 PORT
データリードDRIVE DATA1, 2 PORT
データライト

16BIT
パルス偏差カウンタ

カウントデータ

DFLINT
COMPARE REGISTER1
COMP1 ADD DATA

<ラッチ信号によるクリア>
COUNT LATCH SPEC SET
コマンドの設定

AUTO CLEARENABLE

<比較>
COMP1
＝

COMP1 の出力

AUTO ADDENABLEDFLINT
COMPARE REGISTER2

<比較>
COMP2
TYPE

COMP2 の出力

DFLINT
COMPARE REGISTER3

<比較>
COMP3
TYPE

COMP3 の出力・パルス偏差カウンタとコンパレータの機能は DFL COUNTER INITIALIZE1 コマンドで設定します。
・パルス偏差カウンタの現在値は DFL COUNTER PRESET コマンドで設定します。
・パルス偏差カウンタの現在値は DFL COUNTER READ コマンドで読み出せます。

- 160 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
■分周機能
パルス偏差カウンタでは COUNT PULSE SEL で選択したカウントパルスのカウントタイミングを分周することができます。
カウンタは分周したカウントタイミングでカウントアップ、またはカウントダウンします。

●カウントタイミングを 4 分周する場合<カウントパルスの入力>
アップタイミング
0

1

2

3

0

1

2

クリア

ダウンタイミング
2

1

0

3

2

1

0

3

2

0

7

<分周後のカウントタイミング>
カウントアップ
1
カウントダウン
1

0

-1

-2

DFL COUNTER INITIALIZE3 コマンドの実行（分周数８に変更）

・パルス偏差カウンタの分周機能は DFL COUNTER INITIALIZE3 コマンドで設定します。
・ DFL COUNTER INITIALIZE3 コマンドを実行すると分周中の分周カウント値をクリアします。

- 161 -

6

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
5-2-6. コンパレータ機能
各カウンタには 3 個の専用コンパレータが付いており、カウンタ値と COMPARE REGISTER1, 2, 3 の値を比較して、検出条件が一致すると停止指令またはカウンタ割り込み要求(応用機能)を出力します。
各カウンタ割り込み要求の出力状態は DRIVE STATUS4 PORT で確認できます。

■コンパレータ出力の構成
COMP1 の出力

COMP2 の出力

COMP1
STOP
TYPE

COMP1
STOP
ENABLE

停止指令出力

INT
PULSE
TYPE
INT
TYPE

COMP1
INT
ENABLEDRIVE STATUS4 出力

COMP2
STOP
TYPE

COMP2
STOP
ENABLE

停止指令出力

INT
PULSE
TYPE
INT
TYPE

COMP2
INT
ENABLEDRIVE STATUS4
出力

COMP
GATE
TYPE

カウンタ
割り込み要求初期値

COMP3 の出力

COMP3
STOP
TYPE

COMP3
STOP
ENABLE

INT
PULSE
TYPE
INT
TYPE

COMP3
INT
ENABLE

SIGNAL OUTn0:XnCTTINT

停止指令出力SIGNAL OUTn1:YnCNTINT*別な信号を割付できます。
(応用機能)
DRIVE STATUS4
出力・コンパレータ出力機能は各カウンタ COUNTER INITIALIZE1, 2 コマンドで設定します。

■ COMP GATE TYPE の構成
COMP GATE TYPECOMP1 INT ENABLE
COMP2 INT ENABLE
COMP3 INT ENABLE

OR
選択
AND

OR
選択
AND

カウンタ割り込み要求

・ COMP GATE TYPE は各カウンタ COUNTER INITIALIZE1 コマンドで設定します。

- 162 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書■コンパレータ出力仕様とクリア方法(INT TYPE)
コンパレータの出力仕様を以下の内から選択できます。
COMP1, 2, 3 の一致出力の出力仕様

クリア条件
検出条件が不一致のときにDRIVE STATUS4 PORTのリード終了でクリア

一致出力をレベルラッチして出力する

一致出力をエッジラッチして出力する

DRIVE STATUS4 PORTのリード終了でクリア

一致出力をそのままスルーで出力する

検出条件の不一致でクリア

一致出力をエッジラッチして出力する

INT FACTOR CLR コマンドのADRINT INT CLR = 1 の実行でクリア

・コンパレータ出力仕様とクリア方法(INT TYPE)は各カウンタ COUNTER INITIALIZE1 コマンドで設定します。
・レベルラッチ出力の場合は、検出条件が一致している間はクリアできません。
・スルー出力の場合は、最小出力幅が選択できます。

■オートクリア機能
COMP1 の一致検出と同時に各カウンタの値を "0" にクリアします。
・オートクリア機能は各カウンタ COUNTER INITIALIZE1 コマンドで設定します。

■自動加算機能COMP1 の一致検出と同時に、 COMP1 ADD データに設定されている値を COMPARE REGISTER1 に加算して、COMPARE REGISTER1 を再設定します。
COMPARE REGISTER1 <= COMPARE REGISTER1 ＋ COMP1 ADD データ
・自動加算機能は各カウンタ COUNTER INITIALIZE1 コマンドで設定します。

- 163 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書5-3. I/O 仕様
5-3-1. ボード上の I/O PORT
(1) 汎用 I/O PORTC-VX870v1 シリーズの 4 軸コントローラおよび 8 軸コントローラは下記の I/O を制御することができます。
＜ C-VX870v1,C-VX870Ev1 上の I/O PORT ＞
・汎用I/O入力PORTの場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

IN3

IN2

IN1

IN0

・汎用I/O出力PORTの場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT3

OUT2

OUT1

OUT0

＜ C-VX872v1 上の I/O PORT ＞
・汎用I/O入力PORT1の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

IN13

IN12

IN11

IN10

・汎用I/O入力PORT2の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

IN23

IN22

IN21

IN20

・汎用I/O出力PORT1の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT13

OUT12

OUT11

OUT10

・汎用I/O出力PORT2の場合
D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

0

0

0

0

0

0

0

0

0

0

0

0

OUT23

OUT22

OUT21

OUT20

■アクセス方法
以下の I/O 関数により、ポート単位でアクセスできます。
関数

アクセス方法

MC07_BPortOut

指定された汎用 I/O PORT にデータを書き込む

MC07_BPortIn指定された汎用 I/O PORT からデータを読み出す- 164 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) 多用途入力信号
各コントローラに装備している SENSOR 信号入力は、汎用入力機能の他に、他の応用が可能です。
● SPEC INITIALIZE2 コマンドにより、 SS0 信号,SS1 信号/各軸に次の機能を設定することができます。
・外部トリガ信号として使用する
・減速停止信号として使用する・即時停止信号として使用する●各 COUNTER INITIALIZE1 コマンドにより、外部トリガ信号(SS0 信号)を次の機能として使うことができます。
・アドレスカウンタのラッチ信号
・パルスカウンタのラッチ信号
・パルス偏差カウンタのラッチ信号
・パルス偏差カウンタをハードタイマとしたときのカウント開始信号
各カウンタには、ラッチタイミングによるカウンタクリア機能があります。
この SS0 信号のラッチ・クリア機能を使うことで、パソコンの OS などの遅れに影響を受けない、
センサ入力(SENSOR 信号)を起点とした位置決め(自動停止)の応用も可能です。

●各 SPEED CHANGE 系の SPEC SET コマンド(応用機能)により、外部トリガ信号を次の機能として使用できます。
・ UP/DOWN/CONST ドライブのドライブ CHANGE 変更動作点
・ SPEED CHANGE の変更動作点
・ INDEX CHANGE の変更動作点＊各コントローラの初期値は SENSORn0 信号が Zn 軸の SS0 信号に、 SENSORn1 信号が An 軸の SS0 信号に割り付いています。
この入力信号の割り付け、ならびに SS0 信号から SS1 信号に変更することができます。
詳しくは応用機能編の HARD CONFIG 仕様をご覧ください。

- 165 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

６．付録
6-1. 初期仕様一覧(1) 基本設定
項

目

初期仕様

対応関数/コマンド■パルス出力機能
パルス出力方式

独立方向出力

パルス出力マスク

マスクしないMANUAL ドライブモード(応用)SCAN ドライブ

SPEC INITIALIZE1 コマンド

■ LIMIT 停止機能
CWLM 信号入力機能+方向の LIMIT 即時停止入力

CCWLM 信号入力機能-方向の LIMIT 即時停止入力

SPEC INITIALIZE2 コマンド

■割り込み要求出力機能(応用)RDYINT 出力仕様

DRVEND 検出で RDYINT 出力

SPEC INITIALIZE2 コマンド

■多用途センサ機能(応用)
多用途センサ(SS0)機能

汎用入力、各種機能のトリガ入力

多用途センサ(SS1)機能

汎用入力、各種機能のトリガ入力

SPEC INITIALIZE2 コマンド

■サーボ対応機能
DRST 信号出力機能

汎用出力

DEND/PO 信号入力機能

汎用入力

DALM 信号入力機能

汎用入力

SPEC INITIALIZE3 コマンド
*C-VX870(E)v1,C-872v1 のみ■同期スタート機能(応用)
STBY 解除条件

PAUSE=0 で解除

SPEC INITIALIZE3 コマンドマスクしないSPEC INITIALIZE3 コマンド

■自動減速停止機能(応用)
DOWN PULSE マスク■エラー出力要因
COMMAND ERROR

マスクしないCOMREG CLR ERROR

マスクしないINC INDEX ERROR

マスクしない(変更できません)

ABS INDEX ERROR

マスクしない(変更できません)

INDEX CHANGE ERROR

マスクしない(変更できません)

CHANGE CLR ERROR

マスクしないCPP ST ERROR

マスクしないEXT PULSE ERROR

マスクしないFSEND ERROR

マスクしないLSEND ERROR

マスクするSSEND ERROR

マスクする

ADDRESS OVF ERROR

マスクする

PULSE OVF ERROR

マスクする

DALM ERROR

マスクするFSSTOP ERROR

マスクする

ERROR STATUS MASK コマンド

■アドレスカウンタ
カウントパルス

発生パルス

エンコーダ入力パルスカウント方法

1 逓倍

外部パルス出力のアクティブ幅

1μs

ADRINT 出力仕様

レベルラッチADDRESS COUNTER INITIALIZE1ADRINT スルー時最小出力幅

200ns

コマンド

COMP 合成出力選択

論理和(OR)COMP1 クリア機能

クリアしないCOMP1 自動加算機能

加算再設定しない

COMP1,2,3 INT ENABLE

出力しない

COMP1,2,3 STOP ENABLE

停止しない

ADDRESS COUNTER INITIALIZE2

COMP1,2,3 STOP TYPE

即時停止

コマンド

COMP2,3 検出条件

＝(一致)

カウンタ値

H'0000_0000

ADDRESS COUNTER PRESET コマンド

COMPA REGISTER 値(1,2,3)

H'8000_0000

ADRINT COMPARE REGISTER1,2,3 SET

COMP1 自動加算値

H'0000_0000

ADRINT COMP ADD DATA SET コマンド■パルスカウンタ
カウントパルス

出力パルス

エンコーダ入力パルスカウント方法

1 逓倍

CNTINT 出力仕様

レベルラッチCNTINT スルー時最小出力幅

200ns

COMP 合成出力選択

論理和(OR)COMP1 クリア機能

クリアしないCOMP1 自動加算機能

加算再設定しない

PULSE COUNTER INITIALIZE1 コマンド

- 166 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

項

目

初期仕様

COMP1,2,3 INT ENABLE

出力しない

COMP1,2,3 STOP ENABLE

停止しない

COMP1,2,3 STOP TYPE

即時停止

COMP2,3 検出条件＝(一致)

対応関数/コマンド

PULSE COUNTER INITIALIZE2 コマンド

カウンタ値

H'0000_0000

PULSE COUNTER PRESET コマンド

COMPA REGISTER 値(1,2,3)

H'8000_0000

CNTINT COMPARE REGISTER1,2,3 SET

COMP1 自動加算値

H'0000_0000

CNTINT COMP ADD DATA SET コマンド

■パルス偏差カウンタ
カウントパルス 1

エンコーダ入力パルス

カウントパルス 2

出力パルス

エンコーダ入力パルスカウント方法

1 逓倍

基準クロックカウント開始タイミング

カウントしない

分周するカウントパルス

カウントパルス 1

DFLINT 出力仕様

レベルラッチDFLINT スルー時最小出力幅

200ns

COMP 合成出力選択

論理和(OR)COMP1 クリア機能

クリアしないCOMP1 自動加算機能

加算再設定しない

COMP1,2,3 INT ENABLE

出力しない

COMP1,2,3 STOP ENABLE

停止しない

DFL COUNTER INITIALIZE1 コマンド

COMP1,2,3 STOP TYPE

即時停止

COMP1,2,3 比較方法

カウンタ値を絶対値に変換して比較する

COMP2 検出条件

≧ COMP2

DFL COUNTER INITIALIZE2 コマンド

COMP3 検出条件

≦ COMP3

カウントパルス分周数

0 (分周なし)DFL COUNTER INITIALIZE3 コマンド

カウンタ値

H'0000DFL COUNTER PRESET コマンド

COMPA REGISTER 値(1,2,3)

H'8000DFLINT COMPARE REGISTER1,2,3 SET

COMP1 自動加算値

H'0000DFLINT COMP ADD DATA SET コマンド(2) 基本ドライブパラメータ項目■第 1 パルス出力周期

初期仕様(FSPD)

5,000Hz(200 μ s)

対応関数/コマンド
SPEED ・ RATE 関数■加減速パラメータ
最高速度3,000Hz

開始速度

300Hz
300Hz

終了速度
加速カーブ S 字変速領域(SUAREA)

変速領域なし減速カーブ S 字変速領域(SDAREA)

変速領域なし

加速時定数(URATE)

100ms/kHz

減速時定数(DRATE)

100ms/kHz

速度倍率(RESOL)

1 (No.3)

SPEED ・ RATE 関数■ JOG パラメータ
JOG パルス速度

300Hz

JSPD SET コマンド

JOG パルス数

1PULSEJOG PULSE SET コマンド

■ ORIGIN パラメータ
ORG START DIR-(CCW)方向 ORG 信号と± ZORG 信号の論理和(OR)PULSE SENSOR TYPE

機械原点信号のエッジを検出して工程を終了する

SENSOR ERROR TYPE

エラー終了する

ERROR PULSE ERROR ENABLE

ERROR PULSE ERROR 検出機能 無効

AUTO DRST ENABLE

DRST 信号を出力しない

SCAN MARGIN ENABLE

SCAN 工程時に MARGIN PULSE を入れない

ORG SIGNAL TYPE

ORG 信号

NORG SIGNAL TYPENORG 信号MARGIN PULSE

5 パルス

LIMIT DELAY TIME

300ms

SCAN DELAY TIME

50ms

PULSE DELAY TIME

20ms

CSCAN ERROR PULSE

2,147,483,647 パルス

PULSE ERROR PULSE

2,147,483,647 パルス

ORIGIN SPEC SET 関数

ORIGIN MARGIN PULSE SET 関数
ORIGIN DELAY SET 関数

ORIGIN ERROR PULSE SET 関数

OFFSET PULSE

100 パルス

ORIGIN OFFSET PULSE SET 関数

PRESET PULSE

0 パルス

ORIGIN PRESET PULSE SET 関数- 167 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書6-2. 関数一覧

デ バ イ ス 関 数

種 名称
記号C-VX870(E)v1
別C-VX872v1
説明
RESULT構造体
MC07_S_RESULT○
関数を実行した結果を格納する。
デバイスオープン関数
MC07_BOpen○
デバイスオープンし､引数 phDevの変数にデバイスハンドルを格納する。
デバイスクローズ関数
MC07_BClose○
指定されたデバイスをクローズする。
動作エラークリア関数
MC07_ClrError○
指定されたデバイスの動作エラーをクリアする。
DRIVE COMMAND 32ビット一括書き込み/読み出し関数 MC07_LWRDrive○
指定デバイスのDRIVE DATA,COMMAND PORTにデータ､コマンドを書き込み､DRIVE DATA PORTを読み出す。
DRIVE COMMAND 32ビット書き込み関数
MC07_LWDrive○
指定デバイスのDRIVE DATA1 PORT､DRIVE DATA2 PORTにデータを書き込んだ後コマンドを書き込む。
DRIVE COMMAND PORT書き込み関数
MC07_BWDriveCommand○
指定デバイスのDRIVE COMMAND PORTにコマンドコードを書き込む。
DRIVE DATA 32ビット書き込み関数
MC07_LWDATA○
指定デバイスのDRIVE DATA1 PORT､DRIVE DATA2 PORTにデータを書き込む。
DRIVE DATA1 PORT書き込み関数
MC07_BWDriveData1○
指定デバイスのDRIVE DATA1 PORTにデータを書き込む。
DRIVE DATA2 PORT書き込み関数
MC07_BWDriveData2○
指定デバイスのDRIVE DATA2 PORTにデータを書き込む。
DRIVE STATUS1 PORT読み出し関数
MC07_BRStatus1○
指定デバイスのDRIVE STATUS1 PORTを読み出す。
DRIVE STATUS2 PORT読み出し関数
MC07_BRStatus2○
指定デバイスのDRIVE STATUS2 PORTを読み出す。
DRIVE STATUS3 PORT読み出し関数
MC07_BRStatus3○
指定デバイスのDRIVE STATUS3 PORTを読み出す。
DRIVE STATUS4 PORT読み出し関数
MC07_BRStatus4○
指定デバイスのDRIVE STATUS4 PORTを読み出す。
DRIVE STATUS5 PORT読み出し関数
MC07_BRStatus5○
指定デバイスのDRIVE STATUS5 PORTを読み出す。
DRIVE DATA 32ビット一括読み出し関数
MC07_LRDrive○
指定デバイスのDRIVE DATA1 PORT、DRIVE DATA2 PORTを一括で読み出す。
DRIVE DATA1 PORT読み出し関数
MC07_BRDriveData1○
指定デバイスのDRIVE DATA1 PORTを読み出す。
DRIVE DATA2 PORT読み出し関数
MC07_BRDriveData2○
指定デバイスのDRIVE DATA2 PORTを読み出す。
READY WAIT関数
MC07_BWaitDriveCommand○
指定デバイスがREADY(STATUS1 BUSY BIT=0)まで待機し、最大待ち時間を超えるとエラー終了する｡
WAIT状態読み出し関数
MC07_BIsWait○
指定デバイスのWAIT状態を返す。
WAIT中止関数
MC07_BBreakWait○
指定デバイスのREADY WAIT関数またはCOMREG NOT FULL WAIT関数の実行を中止する。
SPEED・RATE構造体
MC07_S_SPEED_RATE○
SPEED・RATEセット関数で使用する。
SPEED・RATEセット関数
MC07_SetSpeedRate○

C-VX871(E)v1
C-VX873v1

○

21

○

23

○

24

○

25

○

28

○

29

○

30

○

31

○

32

○

33

○

34

○

37

○

39

○

40

○

42

○

44

○

45

○

46

○

47

○

48

○

49

○

50

○

51

○

52

指定のRESOL No.とSPEED･RATE構造体を元にSPEEDパラメータ設定､加減速時定数(RATE)設定を実行する。

SPEED・RATE読み出し関数
MC07_ReadSpeedRate
指定デバイスからSPEEDパラメータ､加減速時定数設定を読み出し､SPEED･RATE構造体に格納する。

- 168 -○

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

ボ ー ド I / O 関 数

デ バ イ ス 関 数

種 名称
記号
別
説明
ORIGINドライブパラメータ構造体
MC07_TAG_S_ORG_PARAM
ORIGINドライブ パラメータ読み出し関数で読み出した内容を格納する。
ORIGIN STATUS 読み出し関数
MC07_ReadOrgStatus
ORIGIN STATUSの内容を読み出す。
ORIGIN SPEC SET関数
MC07_SetOrgSpec
ORIGINドライブの動作仕様を設定する。
ORIGIN MARGIN PULSE SET関数
MC07_SetOrgMarginPulse
ORIGINドライブの機械原点信号検出後のMARGINパルス数を設定する。
ORIGIN DELAY SET関数
MC07_SetOrgDelay
ORIGINドライブの各工程後で挿入するDELAYを設定する。
ORIGIN ERROR PULSE SET関数
MC07_SetOrgErrorPulse
CONSTANT SCAN工程時および1PULSE送り工程時にエラー判定する各最大パルス数を設定する。
ORIGIN OFFSET PULSE SET関数
MC07_SetOrgOffsetPulse
機械原点近傍アドレスのOFFSETパルス数を設定する。
ORIGIN PRESET PULSE SET関数
MC07_SetOrgPresetPulse
機械原点検出終了後に実行するORIGINドライブのPRESETパルスを設定する。
ORIGINドライブパラメータ読み出し関数
MC07_ReadOrgParam
設定されたORIGINドライブパラメータを読み出し､ORIGINドライブパラメータ構造体に格納する。
ORIGIN FLAG RESET関数
MC07_ResetOrgFlag
ORIGIN FLAGをRESETする。
ORIGINドライブ関数
MC07_Org指定された機械原点の型式に従いORIGINドライブを行う。
POSITION構造体
MC07_S_XY_POSITIONX･Y座標を指定するときに使用する。
メインチップ2軸相対アドレス直線補間ドライブ関数 MC07_McIncStrCp
相対アドレスで指定された目的地までメインチップ2軸直線補間ドライブを行う。
メインチップ2軸相対アドレス円弧補間ドライブ関数 MC07_McIncCirCp
相対アドレスで指定された目的地までメインチップ2軸円弧補間ドライブを行う。
円の中心点ゲット関数
MC07_GetCirCenterPosition
円弧の通過点相対アドレス､目的地相対アドレスを元に中心点相対アドレス､回転方向を求める。
相対アドレス変換関数
MC07_IncFromAbs
指定された絶対アドレスを相対アドレス(絶対アドレス - 現在位置)に変換する。
I/O PORTオープン関数
MC07_BPortOpen
汎用I/O PORTをオープンし､引数 phPort の変数にPORTハンドルを格納する。
I/O PORTクローズ関数
MC07_BPortClose
指定された汎用I/O PORTをクローズする。
I/O PORT書き込み関数
MC07_BPortOut
指定されたボード上の汎用I/O PORTにデータを書き込む。
I/O PORT 読み出し関数
MC07_BPortIn指定されたボード上の汎用I/O PORTのデータを読み出す。

- 169 -C-VX870(E)v1

C-VX871(E)v1

C-VX872v1

C-VX873v1

○

○

53

○

○

54

○

○

56

○

○

58

○

○

59

○

○

60

○

○

61

○

○

62

○

○

63

○

○

64

○

○

65

○

○

66

○

○

67

○

○

68

○

○

70

○

○

71

○

72

○

73

○

74

○

75

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書6-3. ドライブコマンド一覧
C-VX870v1 シリーズの各製品で対応している MCC07E 基本ドライブコマンドの一覧を示します。
応用機能については、デバイスドライバ取扱説明書 応用機能編 をご覧ください。
●汎用コマンド

各軸 DRIVE STATUS1 PORT の ERROR=0 および BUSY=0(または COMREG FL=0)のときに DRIVE COMMAND PORT に書き込み可能なコマンドです。

●特殊コマンド

各軸 DRIVE COMMAND PORT に常時書き込み可能なコマンドです。
カウンタコマンドもドライブ特殊コマンドの中に含まれます。

(1) 汎用コマンド

汎 用 コ マ ン ド

種 コマンド名別
説明NO OPERATION
機能なし
SPEC INITIALIZE1
ドライブパルスの出力仕様の設定
SPEC INITIALIZE2CWLM,CCWLM,SS0の設定
SPEC INITIALIZE3
DRST,DEND/PO,DALMの設定
JSPD SETJOGドライブのパルス速度の設定
JOG PULSE SETJOGドライブのパルス数の設定+JOG+方向JOGドライブの実行-JOG-方向JOGドライブの実行+SCAN+方向SCANドライブの実行-SCAN-方向SCANドライブの実行
INC INDEX
相対アドレスINDEXドライブの実行
ABS INDEX
絶対アドレスINDEXドライブの実行

コマンドコードC-VX870(E)v1

C-VX871(E)v1

C-VX872v1

C-VX873v1

H'00

○

○

95

H'01

○

○

76

H'02

○

○

77

H'03

○

○

79

H'0C

○

○

81

H'0D

○

○

82

H'10

○

○

83

H'11

○

○

83

H'12

○

○

84

H'13

○

○

84

H'14

○

○

85

H'15

○

○

86

- 170 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書(2) 特殊コマンド

特 殊 コ マ ン ド

種 コマンド名別
説明
ADDRESS COUNTER PRESET
アドレスカウンタの現在位置設定
ADDRESS COUNTER INITIALIZE1
アドレスカウンタの各機能の設定
ADDRESS COUNTER INITIALIZE2
アドレスカウンタの各機能の設定
ADRINT COMPARE REGISTER1 SETADRINTのコンペアレジスタ1の設定
ADRINT COMPARE REGISTER2 SETADRINTのコンペアレジスタ2の設定
ADRINT COMPARE REGISTER3 SETADRINTのコンペアレジスタ3の設定
ADRINT COMP1 ADD DATA SETADRINTのCOMP1 ADDデータの設定
PULSE COUNTER PRESET
パルスカウンタのカウント初期値の設定
PULSE COUNTER INITIALIZE1
パルスカウンタの各機能の設定
PULSE COUNTER INITIALIZE2
パルスカウンタの各機能の設定
CNTINT COMPARE REGISTER1 SET
CNTINTのコンペアレジスタ1の設定
CNTINT COMPARE REGISTER2 SET
CNTINTのコンペアレジスタ2の設定
CNTINT COMPARE REGISTER3 SET
CNTINTのコンペアレジスタ3の設定
CNTINT COMP1 ADD DATA SET
CNTINTのCOMP1 ADDデータの設定
DFL COUNTER PRESET
パルス偏差カウンタのカウント初期値の設定
DFL COUNTER INITIALIZE1
パルス偏差カウンタの各機能の設定
DFL COUNTER INITIALIZE2
パルス偏差カウンタの各機能の設定
DFL COUNTER INITIALIZE3
パルス偏差カウンタの各機能の設定
DFLINT COMPARE REGISTER1 SETDFLINTのコンペアレジスタ1の設定
DFLINT COMPARE REGISTER2 SETDFLINTのコンペアレジスタ2の設定
DFLINT COMPARE REGISTER3 SETDFLINTのコンペアレジスタ3の設定
DFLINT COMP1 ADD DATA SETDFLINTのCOMP1 ADDデータの設定
ERROR STATUS READERROR STATUSの読み出し
MCC SPEED READ
ドライブパルス速度の読み出し
MCC SET DATA READ
設定データの読み出し

コマンドコードC-VX870(E)v1

C-VX871(E)v1

C-VX872v1

C-VX873v1

H'80

○

○

101

H'81

○

○

96

H'82

○

○

99

H'88

○

○

102

H'89

○

○

102

H'8A

○

○

102

H'8C

○

○

103

H'90

○

○

109

H'91

○

○

104

H'92

○

○

107

H'98

○

○

110

H'99

○

○

110

H'9A

○

○

110

H'9C

○

○

111

H'A0

○

118

H'A1

○

112

H'A2

○

115

H'A3

○

117

H'A8

○

119

H'A9

○

119

H'AA

○

119

H'AC

○

120

H'D1

○

○

90

H'D4

○

○

92

H'D5

○

○

93

- 171 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

特 殊 コ マ ン ド

種 コマンド名別
説明
ADDRESS COUNTER READ
アドレスカウンタの読み出し
PULSE COUNTER READ
パルスカウンタの読み出し
DFL COUNTER READ
パルス偏差カウンタの読み出し
ERROR STATUS MASKERRORに出力するERROR STATUSのマスク
SIGNAL OUT
汎用出力信号の操作
SLOW STOP
減速停止の実行
FAST STOP
即時停止の実行

コマンドコードC-VX870(E)v1

C-VX871(E)v1

C-VX872v1

C-VX873v1

H'D8

○

○

121

H'D9

○

○

121

H'DA

○

H'E5

○

○

121

H'FC

○

○

88

H'FE

○

○

87

H'FF

○

○

87

- 172 -

121

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書6-4. ボード仕様一覧
一般仕様
C-VX870v1

項目

C-VX871v1

制御対象

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

ステッピングモータ、およびサーボモータドライバユニット(パルス列入力方式)
4軸

制御軸数

6軸

8軸

搭載 PG

12 軸

4軸

6軸

3.3V,1.4A 以下

3.3V,1.6A 以下+24V,200mA 以下+24V,250mA 以下

MCC07E(弊社製)

PC 消費電流5V,1.0A 以下

I/F 消費電流+24V,200mA 以下

5V,1.2A 以下

5V,1.6A 以下

5V,1.8A 以下+24V,250mA 以下 +24V,400mA 以下 +24V,500mA 以下

0-45 ℃、 80 ％ RH 以下 (非結露)使用条件
PCI バス仕様

PCI Local Bus Specification Rev2.3

PCI Express Base Specification Rev2.1

32bit, 33MHz, 3.3V/5V ユニバーサル対応(このボードは拡張スロットから+5V 電源の供給が必要です。)
I/O 領域 :128 バイト＋ 256 バイト占有

システムリソース

I/O 領域 :128 ﾊﾞｲﾄ+256 ﾊﾞｲﾄ占有

1 点(INTA#)

割り込み
107mm × 170mm × 17mm

外形寸法(mm)
ユーザ I/O コネクタ

DX10A -100S(50)107mm × 170mm × 17mm

HDRA-E100W1LFDT1EC-SL(ヒロセ電機製)

DX10A-100S(50)(本多製)(ヒロセ電機製)

特殊 I/O コネクタ

MIL20P

質量

約 0.2kg

パルス出力
項目
パルス出力

C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

独立出力/方向指定出力/位相差信号出力
ラインドライバ出力(非絶縁:AM26LS31 相当)

出力周波数

0.1Hz ～ 6.5 MHz(独立ドライブ時)

出力電流± 20mA

加減速時定数5000ms/1kHz ～ 0.0025ms/1kHz(台形/S 字)

加減速形状

台形/S 字エンコーダ入力信号
項目
EA/EB 相C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

○(各軸)

×*1

○(各軸)

×*1

○(各軸)

×*1

○(各軸)

○(各軸)

エンコード形式:インクリメンタル(位相差信号入力/独立入力)

Z相

入力回路

:ラインレシーバ入力(非絶縁:AM26LS32 相当)

終端抵抗:220 Ω

入力周波数:～ 5MHz

信号延長距離:10m(差動出力と接続)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

入力回路

:ラインレシーバ入力(非絶縁:AM26LS32 相当)

終端抵抗:220 Ω

入力周波数:～ 100KHz

信号延長距離:10m(差動出力と接続)*1 6 軸,12 軸の製品は、エンコーダ EA/EB 相入力はありません。

- 173 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
センサ信号入力
項目

C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

ORG 信号

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

NORG 信号

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

CWLM 信号

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

CCWLM 信号

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

SENSORn0 信号

○

○

○*1

○*1

○

○

SENSORn1 信号

○

○

○*1

○*1

○

○

各信号共通

入力回路

:フォトカプラ入力(絶縁)

応答時間

:1ms

入力抵抗

:6.8k Ω入力 ON 電流:2.5mA 以上

入力 OFF 電流 :0.8mA 以下
外部 I/F 電源:+24VDC(± 10%)

*1 8 軸,12 軸の製品は 100 ピンコネクタ毎に各 1 点あります。

制御用入力/汎用入力信号
項目

C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

DEND/PO 信号

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

FSSTOPn 信号

○

○

○*1

○*1

○

○

RESETn 信号

○

○

○*1

○*1

○

○

×*2

○*1

×*2

○

×*2

INn0--INn3 信号

○

各信号共通

入力回路

:フォトカプラ入力(絶縁)

応答時間:RESET 信号以外

1ms

RESET 信号

5ms

入力抵抗

:6.8k Ω入力 ON 電流:2.5mA 以上

入力 OFF 電流 :0.8mA 以下
外部 I/F 電源:+24VDC(± 10%)

*1 8 軸,12 軸製品は、同機能の信号が 100 ピンコネクタ毎に各 1 点あります。
*2 6 軸,12 軸製品は、汎用入力はありません。

制御用出力/汎用出力信号
項目

C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

DRST 信号

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○(各軸)

○

×*2

○*1

×*2

○

×*2

OUTn0--OUTn3 信号

各信号共通

出力回路

:トランジスタオープンコレクタ出力(フォトカプラ絶縁)

応答時間

:1ms

出力 ON 電流:30mA (Vce=1V 以下)

出力 OFF 電流 :0.1mA 以下
外部 I/F 電源:+24VDC(± 10%)

*1 8 軸製品は、同機能の信号が 100 ピンコネクタ毎に各 1 点あります。
*2 6 軸,12 軸製品は、汎用出力はありません。

- 174 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
MANUAL 機能/特殊 I/O 入力信号
項目

C-VX870v1

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1

○

○

○

○

○

○

○(2 点)○(2 点)○(4 点)○(4 点)○(2 点)○(2 点)

○

○

○

○

○

○

MAN,CWMS,CCWMS

SS0,SS1
SIGNAL INnx 信号
FSSTOP 信号
各信号共通

入力回路

:TTL レベル CMOS シュミット入力(非絶縁)

応答時間:MAN,CWMS,CCWMS 信号

5ms 以下SS0,SS1,FSSTOP 信号

1ms 以下SIGNAL INnx 信号

10 μ s 以下

ローレベル:0.8V 以下

ハイレベル

:オープン

インタフェース電圧 :5 Ｖ
SIGNAL IN 信号は、 MANUAL 動作時の軸選択信号(SEL 信号)と兼用です。

特殊 I/O 出力信号
項目
SIGNAL OUTnx 信号

各信号共通

C-VX870v1○(2 点)
出力回路

C-VX871v1

C-VX872v1

C-VX873v1

C-VX870Ev1

C-VX871Ev1○(2 点)○(4 点)○(4 点)○(2 点)○(2 点):オープンコレクタ出力(非絶縁)応答時間:1 μ s 以下

出力 ON 電流:10mA(Vce=0.6V 以下)

出力 OFF 電流 :0.3mA 以下
インターフェース電圧:+30V 以下

- 175 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書

７．トラブルシューティング
No.

現

象

チェックポイント1

アプリケーションからコマンドを実行しているが受け付けない。

2

アクセスは正常に行われているようだが・ DRIVE STATUS1 内の ERROR BIT を調べてください。
ドライブコマンドを書き込んでもドライブがERROR BIT が 1 の時は汎用コマンドを受け付けません。
行われない。
動作エラークリア関数を実行して ERROR BIT を 0 に
この時 DRIVE STATUS 内 DRIVE BIT,BUSY
クリアしてください。
BIT が共に 0 である。
・出力 PULSE が 0 の INDEX DRIVE ではありませんか？
（指定した絶対 ADDRESS が現在位置の場合など）

3

ドライブを開始したが、いつまでもドライブが終了しない。

・ SCAN,ORIGIN ドライブではありませんか？
・ INDEX ドライブの場合
INCREMENTAL 指定の時 …
設定された PULSE 数が多い。
ABSOLUTE 指定の時 ……
設定された ADDRESS が遠い。と思われます。この場合はいずれ停止します4

ドライブのパルス出力は終了したが、いつまでも DRIVE STATUS 内 BUSY BIT が0 にならない。

・ DEND/PO 信号のサーボ対応が設定されており、
DEND/PO 信号が戻って来ていない状態ではありませんか？
DEND/PO 信号が ON になることにより DRIVE STATUS1
内の BUSY BIT は 0 となります。

5

機械原点検出(ORIGIN ドライブ)が正常にできない。
または、いつまでたっても終了しない。

・センサの論理(入光時 ON ､あるいは入光時 OFF)は合っていますか？
・センサの接続(特に GND ライン)は合っていますか？
ORG-1,ORG-3 型式の場合、遮光板が長すぎて
CCWLM エリア内にエッジを作っていませんか？

・ボードがスロットに差し込まれているか確認してください。
・ボードが 10 枚以上差し込まれていないか確認してください。
・ボード番号の設定を確認してください。
ボード番号のスイッチ設定が重複していないか確認してください。
・ LIMIT 信号および FSSTOP 信号の配線を確認してください。
上記信号は未使用のときでも GND に接続されていないとパルス出力を行いません。
・ RESULT 構造体を確認してください。
各関数は、アプリケーションプログラムによって与えられた引数の内容をチェックし、エラーがある場合は、 FALSE(0)を返し、正常である場合は、 TRUE(1)を返します。
関数が正常に動作していないと思われるステップの後にブレークポイントを設定し、関数が返した値が TRUE(1) であることを確認してください。
TRUE でない場合は、エラー原因を特定するために
RESULT 構造体の内容を参照してください。
・デバイスドライバで制限しているコマンドを実行していませんか？
2-6.(1)の制限事項を確認してください。
・ ORIGIN ドライブ中に、制限されているコマンドを実行していませんか？
2-6.(2)の制限事項を確認してください。
・ DRIVE STATUS1 内の ERROR BIT を調べてください。
ERROR BIT が 1 の時は汎用コマンドを受け付けません
動作エラークリア関数を実行して ERROR BIT を 0 にクリアしてください。

- 176 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
No.

現

象

チェックポイント5

機械原点検出(ORIGIN ドライブ)が正常にできない。
または、いつまでたっても終了しない。

・ ORG-2,3,4,5 の場合、メカ振動が影響しますので注意が必要です。
振動がある場合は ORG-0,1 のいずれかを使用するか、
ORIGIN DELAY を SET してディレイを長く取るか、または MARGIN PULSE を設定してください。
・サーボ対応を設定している場合、各工程毎にDEND 信号を確認します。このため DEND が戻らない
場合は途中の工程で止まってしまいます。
・ ORG センサ内で ORG DRIVE を完了させるために
ORG-3 または ORG-5 を選択した場合、 ORG DRIVE
完了時、センサエッジより 5PULSE 分しかセンサ
エリア内に入り込んでいないため、わずかなメカの振動でセンサが OFF となってしまうことがあります。
この場合、 MARGIN PULSE を多く取り、センサエリア
へ確実に入るようにしてください。

6

機械原点検出(MPL ORIGIN ドライブ)の終了状態を正しく確認することができない。

・ ORIGIN ドライブ後に DRIVE STATUS1 を確認していませんか？
ORIGIN ドライブの終了状態は ORIGIN ステータス読み出し
関数で確認してください。
尚、 ORIGIN ドライブの終了待ちについては他のドライブと同様、 RDY WAIT 関数で行ってください。

7

読み出したカウンタ値が正しくない。

・読み出したい COUNTER の READ コマンドを実行していますか？
読み出す際は読み出したい COUNTER の READ
コマンドを都度実行する必要があります。

8

読み出した ドライブパルス速度 が正しくない。

・ SPEED READ コマンドを実行していますか？
読み出す際は SPEED READ コマンドを都度実行する必要があります。
・読み出されるデータは実際速度の 10 倍の値です。

9

ADRINT,CNTINT,DFLINT が設定した値と異なるカウンタ値で発生している様である。

・ DATA 未設定の各 COMPARE REGISTER が存在し、更に各 COUNTER のカウンタ値がオーバフローしていませんか？
各 COMPARE REGISTER は、リセット時オーバフロー
値と同じに初期化されるため､ DATA 未設定の COMPARE REGISTER があるとオーバフロー値でカウンタ INT
信号が発生します。
未使用の COMPARE REGISTER の COMP INT は、
各 COUNTER INITIALIZE COMMAND で禁止して
ください。

10

パルス出力周波数が設定値と異なっている様である。

・高速域の周波数を指定した場合、設定値と実際の値が異なる場合があります。

11

パルス出力の加減速時定数が設定値と違っている様である。

・ SPEED･RATE 関数で選択した RATE No.は RESOL No.
の設定範囲内ですか？
RATE No.が RESOL No.の設定範囲外であった場合、指定された RESOL No.の範囲内で最大または最小のRATE No.に補正します。

12

パルス出力の速度が設定した最高速度にならない。

・ INDEX DRIVE の場合、 INDEX 量が少ないと最高速度に達しない場合があります。

13

DALM 信号が入ると、パルスが停止してしまう。

・ MCC07E の DALM 機能の設定が停止機能に設定されていませんか？
汎用入力として使用するときは、 DALM 機能を汎用入力に設定してください。

- 177 -

MPL-31-01v2.00/PCIW64
MPL-31-02v1.00/PCIW64

取扱説明書
本版で改訂された主な箇所
箇所

内- 178 -

容

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

技術相談のお問い合わせ
販売に関するお問い合わせTEL.(042)664-5384 FAX.(042)666-2031
E-mail s-support@melec-inc.com〒193-0834 東京都八王子市東浅川町516-10
www.melec-inc.com
記載内容は、製品改良のため予告なく変更することがありますのでご了承ください。

C2301