keimei main -> キハポスト@VRM -> リスト

VRM4スクリプト(12)〜フィードバック編リスト

//TRAIN00 reference
VarLayout L00
Var v
Var s

//SetEnableHomeKey Zero
getlayout L00

BeginFunc getSpeed
 GetCurrentVoltage v
 GetCurrentSpeed s
 mov L00 Speed this s
 mov L00 Volt this v
EndFunc

//TRAIN01 feedback
VarLayout L00
Var i
Var v
Var s
Var acctime

set acctime 100
//SetEnableHomeKey Zero
getlayout L00

BeginFunc getSpeed
 GetCurrentVoltage v
 GetCurrentSpeed s
 mov L00 Speed01 this s
 mov L00 Volt01 this v
EndFunc

BeginFunc setSpeed
 mov this i L00 input1
 SetTimerVoltage i acctime
EndFunc

//TRAIN02 feedforward
VarLayout L00
Var v
Var acctime

set acctime 100
//SetEnableHomeKey Zero
getlayout L00

BeginFunc setSpeed
 mov this v L00 input2
 SetTimerVoltage v acctime
EndFunc

01 //レイアウトスクリプト
02 Var Speed
03 Var Volt
04 Var Speed01
05 Var Volt01
06 Var delt
07 Var ID0
08 Var input1
09 Var input2
10 Var gain
11
12 //フィードバックゲイン
13 setf gain 0.01
14 
15 SetEventTimer this ctrl ID0 500
16 
17 BeginFunc ctrl
18  call TRAIN00 getSpeed
19  call TRAIN01 getSpeed
20 //simple feedforward
21  mov input2 Volt
22  call TRAIN02 setSpeed
23 //feedback
24  mov input1 Speed
25  sub input1 Speed01
26  mul input1 gain
27  add input1 input2
28  DrawVar input1
29  call TRAIN01 setSpeed
30 EndFunc

行番号はこちらで追加。青字はメソッド名および共通変数。