DP1x 仕様マニュアル v2.2 2016/09/27 更新
前提として、DP1(ハードウエア)のインストールが完了していて、DccPgm3,もしくはDccPgm4が正常に作動していなければなりません。
ただし、DccPgm3,4を起動した状態では、DP1xを使用することはできませんので、ご注意ください。
DccPgm3,4の最新版 (2016/9/27)以降のインストールが必要です。
なお、DP1の要求バージョンは v.41以降となります。
以下の様にタイプ入力する
|
→ | インストール成功 |
DP1xは、COMオブジェクトと呼ばれるもので、Visual C++ , Visual Basic等のプログラム開発ツールを用いて、利用できるだけでなく、OS付属の VBScript,MS Excel , MS Access等の一般アプリケーションからも簡単に使うことが出来るものです。
Visual C++を除いては、基本的には、Visual Basicの文法にのっとって使用します。Visula Basic と Excel等で使用できるVBAでは、少し文法が異なりますが、基本的に以下の様に使います。
Dim oDp1 As Object | オブジェクト宣言 |
Set oDp1 = CreateObject("Dp1x.oDp1x") | オブジェクト生成 |
Call oDp1.open("SNJPN.COM DP1","****") | DP1接続 |
CALL oDp1.*** |
メソッド呼び出し |
Call oDp1.close() | DP1切断 |
Set oDp1 = Nothing | オブジェクト消去 |
項目 | 内容 |
アプリケーションタイプ | ATL COM |
ビルドタイプ | Win32 Release MinDependency |
動作確認 OS | Windows/XP/7/10 |
オブジェクトの複数生成 | 不可 |
マルチスレッド | スレッドセーフ、ただし、内部でシリアライズ。 |
関数 |
戻り値 |
説明 |
情報取得 | ||
getDevInfo | 接続機器情報 | DP1のバージョン情報 |
getInfo | Dp1xバージョン情報 | |
getLastError | エラーメッセージ | エラーが発生したときに、この関数を呼び出すことでエラー内容を確認できます。 |
getCpuVolt | 電圧値 | DP1内部のCPU電圧 (V) (=USB電圧)
※DP1x v2.10 かつ DP1cs からの対応となります。 |
getOutVolt | 電圧値 | DP1出力電圧(V)
※DP1x v2.10 かつ DP1cs からの対応となります。 |
getOutCurr | 電流値 | DP1出力電流(mA)
※DP1x v2.10 かつ DP1cs からの対応となります。 |
システム操作 | ||
open( DevName, OpenKey ) | - | DP1に接続します。 DevName:DP1 OpenKey:使用キー(購入時お知らせします) ※正しいOpenKeyが指定されなかった場合は DEMOモードで動作します。 |
close | - | DP1を切断します。 |
power_on | - | DCC信号を”入”にします |
power_off | - | DCC信号を”切”にします |
wait( nMsec ) | - | ミリ秒の待ち合わせを行います |
車載デコーダ操作 | ||
set_speed28( nAdrs , nDir , nSpeed ) | - | 速度指令 28step nDir : (=1 順行),(=0 逆行) nSpeed : =(-1 から 28) (=-1 緊急停止) |
set_speed128( nAdrs , nDir , nSpeed ) | - | 速度指令 128step nDir : (=1 順行),(=0 逆行) nSpeed : =(-1 から 126) (=-1 緊急停止) |
set_fnc_grp1( nAdrs , nVal ) | - | ファンクション指令 (FL,F1,F2,F3,F4) nValは、BIT情報です。[BIT値 -.-.-.FL.F4.F3.F2.F1] 例えば、0001.1000 = 24 を指定すると FL,F4がONでその他はOFFとなります。 |
set_fnc_grp2( nAdrs , nVal ) | - | ファンクション指令
(F5,F6,F7,F8,F9,F10,F11,F12) nValは、BIT情報です。 |
set_fnc_grp3( nAdrs , nVal ) | ファンクション指令
(F13,F14,F15,F16,F17,F18,F19,F20) nValは、BIT情報です。[BIT値 F20,F19,F18,F17,F16,F15,F15,F13] ※DP1x v2.00 かつ DP1 ver.34からの対応となります。 |
|
set_fnc_grp4( nAdrs , nVal ) | ファンクション指令
(F21,F22,F23,F24,F25,F26,F27,F28) nValは、BIT情報です。[BIT値 F28,F27,F26,F25,F24,F23,F22,F21] ※DP1x v2.00 かつ DP1 ver.34からの対応となります。 |
|
set_consist( nAdrs , nDir , nConAdrs ) | - | 総括重連指令 (Advanced Consist) CV19を更新します |
アクセサリデコーダ操作 | ||
set_sw( nAdrs , nDir , nAct ) | - | アクセサリ指令 nDir : (=0 Thrown反位) , (=1 Closed定位) nAct : (=1 on) , (=0 off) |
PWMパワーユニット操作 | ||
pwm_power_on | - | 主電源を”入”にします。 "切"は "power_off"です。 |
set_dc_pwm_period( nPeriod ) | - | PWM 周波数設定 (0..127) |
set_dc_pwm_speed( nDir , nSpd ) | - | PWM スピード設定 (0..255) |
CVプログラミング操作 | ||
getDecoderMfName( nId ) | メーカ名 | CV8のメーカIDからメーカ名を取り出します |
cv_direct_read( cvn ) | cvdata | DirectモードCV値読み出し |
cv_direct_readex( cvn ) | cvdata | DirectモードCV値読み出し高速版(BITモード) |
cv_direct_verify( cvn , val ) | 1 or 0 | DirectモードCV値照合 (=1:成功) (=0:失敗) |
cv_direct_bit_verify( cvn , bitloc , val ) | 1 or 0 | DirectモードCV BIT値照合 (=1:成功) (=0:失敗) |
cv_direct_write( cvn , val ) | - | DirectモードCV値書込み (DEMOモード非対応) |
cv_direct_bit_write( cvn , bitloc , val ) | - | DirectモードCV値 BIT 書込み (DEMOモード非対応) |
cv_paged_read( cvn ) | cvdata | PagedモードCV値読み出し |
cv_paged_verify( cvn , val ) | 1 or 0 | PagedモードCV値照合 (=1:成功) (=0:失敗) |
cv_paged_write( cvn , val ) | - | PagedモードCV値書込み (DEMOモード非対応) |
cv_register_read( cvn ) | cvdata | RegisterモードCV値読み出し |
cv_register_verify( cvn , val ) | 1 or 0 | RegisterモードCV値照合 (=1:成功) (=0:失敗) |
cv_register_write( cvn , val ) | - | RegisterモードCV値書込み (DEMOモード非対応) |
cv_address_only_read( ) | cvdata | AddressOnlyモードCV1 値読み出し |
cv_address_only_verify( val ) | 1 or 0 | AddressOnlyモードCV1 値照合 (=1:成功) (=0:失敗) |
cv_ops_write( adrs , cvn , val ) | - | OPSモードCV値書込み (DEMOモード非対応) |
cv_ops_bit_write( adrs , cvn , bitloc , val ) | - | OPSモードCV値 BIT 書込み (DEMOモード非対応) |
サンプルプログラムは、DP1xでDCCシステムの機能を実現するための、プログラム作成例を示しています。そのためエラー処理は簡略化しております。
※WindowsXP以降の64bit版のOSをお使いの場合には、.VBSのプログラムの実行はマウスのクリックでは失敗します。 SysWOW64配下の32bit版 cscript.exe もしくは wscript.exe を使用してください。 [例 C:\Windows\SysWOW64\cscript.exe dp1x_ex1.vbs] |