dSPACEツールの使い方を日本語で

interactive python using subprocess

Python script

import subprocess
from subprocess import Popen, PIPE, STDOUT
import time

cmd2_2 = 'askbirthmonth2.exe'

the_directory = "C:/MinGW/msys/1.0/home/****"
p = Popen(cmd2_2.split(), shell=True, stdin=PIPE, cwd = the_directory,stdout=PIPE)
print p.stdout.readline()
time.sleep(3)
p.stdin.write("10\n")
print p.stdout.readline()

C program for command prompt
#include

int main(void)
{
int birthmonth;
printf("what is your birth month?\n");
fflush(stdout);
scanf("%d", &birthmonth);
printf("your birth month is %d.\n",birthmonth);
return 0;
}

AutomationDeskで波形をキャプチャーする方法

ポイント
  • Test Builderライブラリを使用する。
  • XIL Mappingを使用する。
  1. AUDプロジェクトでの準備
    1. AUDプロジェクトにMAPortオブジェクト、MAPortConfigurationオブジェクト、Mappingオブジェクト、Captureオブジェクト、CaptureResultオブジェクト、Stringオブジェクト、Listオブジェクトを追加する。
    2. MAPortConfigurationオブジェクトで、sdfファイルを読み込む。
    3. Mappingオブジェクトで、変数を指定する。
    4. StringオブジェクトにTaskNameを入れる。
    5. Listオブジェクトに信号名を入れる。
  2. シーケンスの準備
    1. TestBuilderライブラリからTestCaseブロックをプロジェクトにドラッグドロップし、ダブルクリックする。
    2. Initializationの中に、LoadSimulationApplication、InitMAPortの順にブロックを置く。
    3. Cleanupの中にReleaseMAPortブロックを置く。
下図のような簡単なSimulinkモデルを作成し、VEOS向けにビルドします。
simple_model
Project ManagerのProjectを右クリックして、NewDataObject からMAPortを選択して追加します。

add_objects_to_project
同様にMAPortConfigurationも追加します。
maport__configuration_added
ProjectManagerの中のMAPortConfigurationをダブルクリックすると下のように、Platformとsdfファイルを選択する画面になる。
double_clicked_maportconfiguration
VEOSを選択する。
choose_veos
先ほどのSimulinkモデルをVEOS向けにビルドしてできたsdfファイルを選択する。
choose_sdf
Showボタンを押すと...
click_show
モデル変数などがツリー構造で表示される。
model_root_shown
次にMappingオブジェクトを追加する。
add_mapping
Mapping Viewerでの表示。変数はまだ何も表示されていない。
mapping_viewer
Mapping Viewerの空白のところで右クリック、Editを選択。
edit_menu
Mapping Editorが表示される。
mapping_editor
モデルのツリー構造が現れる。
mapping_editor_tree_shown
真ん中のペインの変数を右のペインにドラッグドロップする。そしてMapping Editorを閉じる。
alias_registered
Mapping Viewerに変数が表示されている。
mapping_viewer_result
次に、CaptureとCaptureResultオブジェクトを追加する。
add_capture
追加したあと。
capture__captureresult_added
次に、String型とList型のオブジェクトを追加する。
string__list_object_added
オブジェクトの名前を下記のように変える。
change_names
TaskNameをダブルクリックして、ValueEditorで Periodic Task 1と入力する。
taskname_input
Mapping ViewerでAlias名をコピーする。
copy_alias_name2
List型オブジェクトSignalNamesのメンバーとしてコピーしたエイリアス名をペーストする。
edit_list
TestBuilderライブラリからTestCaseをプロジェクトにドラッグドロップする。
add_testcase
TestCaseを追加したあと。
testcase_added
TestCaseを開いて中身を確認。これが初期状態。
outlook_of_testcase

InitializationのOperationのところにXIL Convenience ライブラリからLoadSimulationApplicationブロックを追加する。
add_loadsimulationapplicatin
次にInitMAPortをLoadSimulationApplicationブロックの下に追加する。
add_initmaport
CleanupのOperationのところにReleaseMAPortを追加する。
add_releasemaport
release_maport_added
VEOSをレジスターする。
register_veos
↓レジスタできたときの表示。
veos_registered
ここでテストを実行してみる。
test_execute
レポートが生成される。白地のハテナマークは、テスト自体は実行されたが、合否判定がされなかったことを意味する。
report_generated
↓レポートの中身。
report
↓のシーケンスを参考に、Captureに関する各ブロックをXIL ConvenienceライブラリからDragDropしていく。
goal_of_actionandevaluation1
goal_of_actionandevaluation2

add_initializecapture
InitializeCaptureのTaskNameのところは、DataObjectのTaskNameを参照する。
refer_taskname
VariablePoolはMappingオブジェクトを参照する
refer_mapping
VariablesはSignalNamesを参照する。
refer_signalnames
result_initializecapture
sleep
addcustomplotstoreport1
addcustomplotstoreport2
addcustomplotstoreport_result
release_capture_added
report_got_capture

ConfigurationDeskで、シンプルなSimulinkモデルをビルドする手順

前提
  • とりあえずSCALEXIO I/Oボードを使わない。
  • ProcessingUnit上でモデルを演算することのみを行う。
手順
  1. まずSimulinkで簡単なモデルを作成する。simulink_model
  2. ConfigurationDeskを起動する。Implementation Versionを選択。cfd_launcher
  3. 起動後の画面でNew Project + Application ...をクリック。cfd_entry_page
  4. Root Directoryを適当に選択して、Createボタンを押す。create_new_project
  5. Projectが生成される。cfd_after_prj_creation
  6. Hardware タブをクリックする。Hardware タブはここ。hardware_tab_is_here
  7. Hardware Resources内で右クリックメニュー、New>SCALEXIO Rackを選択。set_scalexio_rack
  8. ラックが1個できた。rack_shown
  9. SCALEXIO Rack(1)の右クリックメニューからSCALEXIO Processing Unitを選択。set_processing_unit
  10. これでハードウェアを定義できた。processing_unit_shown
  11. 続いてModelsのタブを開き、右クリックメニューでAdd Model...add_model
  12. ダイアログが開かれるので、「...」の参照ボタンを押してSimulinkモデルを選択する。add_model_dialog_ok
  13. Simulinkモデルが登録される。simple_model_shown
  14. Tableの下のプルダウンリストを開く。tab_table
  15. Executable Applicationを選択。table_pulldown_list
  16. こんなふうに表示される。table_executable_application
  17. +ボタンをクリックして開く。(確認するだけ)task_configuration
  18. Task Configurationと書いてあるところをクリックして、ProcessingUnitAssgingmentを選ぶ。chosse_processing_assignment
  19. こんな画面になる。table_processing_assignment
  20. ProcessingUnitApplication_1の右にあるプルダウンメニューを開いて、SCALEXIO Processing Unit(1) [SCALEXIO Rack(1)]を選択。assign_processing_unit
  21. アサインされたあと。after_processing_unit_assign
  22. 続いてプルダウンメニューからBuild Configuration 、General Build Settingsを開く。build_configuration
  23. Download Real-Time Application After Buildのチェックボックスを外す。なぜなら今はハードウェアがつながっていないので。general_build_config
  24. Start Buildを押す。      start_build
  25. Build完了。build_finished
  26. プロジェクトルートのフォルダの中のApplication_001> Build Resultsを見ると、.sdfファイルなどが生成されている。build_results.png
きょうはここまで。

Popular Posts

About Me

Weizen Beer A dSPACE user

Icons made by Toast from www.flaticon.com is licensed by CC 3.0 BY

Blog Archive

Labels

Labels

Recent Comments

Recent Post

Video Of Day

Recent

Ad Banner

Popular Posts