DP1x         仕様マニュアル    v2.2                            2016/09/27 更新


1.DP1xの導入

以下の様にタイプ入力する


※管理者モードでコマンドプロンプトを開いて、DccPgm3,4をインストールしたディレクトリに移動します。
[ regsvr32.exe dp1x.dll ] が成功すれば完了です。

インストール成功

2.基本的な使い方

3.基本システム仕様

項目 内容
アプリケーションタイプ ATL COM
ビルドタイプ Win32 Release MinDependency
動作確認 OS Windows/XP/7/10
オブジェクトの複数生成 不可
マルチスレッド スレッドセーフ、ただし、内部でシリアライズ。

 

4.命令一覧

関数

戻り値

説明
情報取得
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情報です。
BIT4=1のときは、[BIT値 -.-.-.1.F8,F7,F6,F5]
BIT4=0のときは、[BIT値 -.-.-.0.F12,F11,F10,F9]で指定します。

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モード非対応)

 

5.DEMOモードとは

6.サンプルプログラム

サンプルプログラムは、DP1xでDCCシステムの機能を実現するための、プログラム作成例を示しています。そのためエラー処理は簡略化しております。

※WindowsXP以降の64bit版のOSをお使いの場合には、.VBSのプログラムの実行はマウスのクリックでは失敗します。
SysWOW64配下の32bit版 cscript.exe もしくは wscript.exe を使用してください。

[例 C:\Windows\SysWOW64\cscript.exe dp1x_ex1.vbs]

 

  1. DP1xSmpl (Visual Basic) -> downLoad (dp1xsmpl.zip)
    DccPgm1の簡易コマンドステーションの機能を実現します。(スロットル、ファンクション、ポイント操作)
  2. dp1x_ex1.vbs (VB Script) -> downLoad (dp1x_ex1.vbs)
    簡単なシナリオ運転をコマンドベースで実現します。
  3. dp1x_ex2.vbs (VB Script) -> downLoad (dp1x_ex2.vbs)
    PWMパワーユニットをコントロールします。うまくプログラミングすれば、VVVFユニットのような音をモーターから聞くことが出来ます。
  4. dp1x_ex3.vbs (VB Script) -> downLoad (dp1x_ex3.vbs)
    CVデータの読み出しを行います。ここでは、CV8を読み出して、メーカ名を表示しています。
  5. dp1x_ex4.vbs (VB Script) -> downLoad (dp1x_ex4.vbs)
    CVデータの照合を行います。
  6. dp1x_ex5.vbs (VB Script) -> downLoad (dp1x_ex5.vbs)
    CVデータのBIT照合を行います。
  7. dp1x_ex6.vbs (VB Script) -> downLoad (dp1x_ex6.vbs)
    CVデータの書込みを行います。(DEMOモード非対応)
  8. dp1x_ex7.vbs (VB Script) -> downLoad (dp1x_ex7.vbs)
    CVデータのBIT 書込みを行います。(DEMOモード非対応)
  9. dp1x_ex8.vbs (VB Script) -> downLoad (dp1x_ex8.vbs)
    重連設定を行います。
  10. dp1x_ex10.xls (EXCEL) -> downLoad (dp1x_ex10.xls)
    EXCELでコマンドステーションのような使い方をしてみました。