V016002-703

CANTOOL-A シリーズ

CANTOOL A1［CANTOOL Script-Manual］
Rev. 01.02 2022-08-31

製品名
CANTOOL A1

型番

対応全体バージョン

CTA101A-D0E0T

Ver01.05.00

CTA101A-D0E0

Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

改定履歴
Revision

日付

変更内容

01.00

2018-03-26

初版(対応全体バージョン:Ver01.03)

01.01

2019-11-05

対応全体バージョン:Ver01.04
・MultiPacket 送受信 API 追加
・Python3.7.3 に対応(python_env_ver01.00.03)

01.02

2022-08-31

対応全体バージョン:Ver01.05
・UART 送信 API 追加( 2 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

商標
Microsoft、Windows、Visual Studio、Visual Basic、Visual C#、Visual C++は、米国 Microsoft Corporation（あるいは米国マイクロソフト・コーポレーション）の米国およびその他の国における登録商標です。（Windows の正式名称は Microsoft
Windows Operating System です）
その他、記載されている会社名、製品名は、各社の商標または登録商標です。

( 3 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

目次
1. 概要............................................................................................................................................ 5
1.1

システム概要 ......................................................................................................................................................... 6

1.2

稼働条件 .............................................................................................................................................................. 8

2. CANTOOL Script について ........................................................................................................ 9
2.1

CANTOOL Script の構成 ................................................................................................................................... 9

2.2

CANTOOL Script で扱うインターフェース情報ついて ............................................................................................. 9

2.3

CANTOOL Script 利用時の作業流れ ................................................................................................................ 10

3. 使用方法 .................................................................................................................................. 11
3.1

CANTOOL Script 使用準備 ............................................................................................................................. 11

3.1.1 Python のインストール .......................................................................................................................................................... 11
3.1.2 Python 用 CANTOOL 制御ライブラリのインストール ............................................................................................................... 15

3.2

Python スクリプト作成手順 ................................................................................................................................ 16

3.2.1 Python スクリプト作成 ........................................................................................................................................................ 16
3.2.2 Windows 上での Python スクリプトデバッグ .......................................................................................................................... 21

3.3

Python スクリプト実行手順 ................................................................................................................................ 33

3.3.1 事前準備 .......................................................................................................................................................................... 33
3.3.2 Python スクリプトファイルを本体へ設定する ............................................................................................................................ 35
3.3.3 本体での実行 .................................................................................................................................................................... 36
3.3.4 実行結果の確認 ................................................................................................................................................................ 37

3.4

注意事項 ............................................................................................................................................................ 39

4. ライブラリインターフェース仕様..................................................................................................... 40( 4 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

1. 概要"CANTOOL Script”は CANTOOL A1 が提供する機能です。
CANTOOL A1 の CAN、AD/DA、GPIO などを Python によって制御することができます。
CANTOOL Script は、Windows 上で実行することも、CANTOOL A1 に Python スクリプトを設定してスタンドアロンで実行することもできます。

本書では、以降 CANTOOL A1 を"CANTOOL" と称します。

本書は、「V016002-700_CANTOOL_A1-Manual」「V016002-702_CANTOOL_A1_SDK-Manual」を参照し
CANTOOL の基本的な利用方法をご理解されている方向けの記載となっています。

( 5 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

1.1 システム概要
CANTOOL Script は、CANTOOL の I/O などを制御するための制御用関数ライブラリを提供します。
提供する制御用関数ライブラリを使用することにより、制御用アプリケーションと内部通信を行い Python スクリプトに従った制御を行います。

以下にシステム構成を示します。
PC(Windows)

PythonPython スクリプト
RmtDll ライブラリ

Remote I/F
CANTOOL PANEL

USB DriverUSB
CANTOOL A1(HW)
USB Driver
CANTOOL アプリ

PythonPython スクリプト

Remote I/F

CAN/FD

LIN

RmtDll ライブラリ

AD/DA

GPIO

UART

LED

SW

To Target ECU、

図 1-1 CANTOOL システム構成図
表 1-1 システム構成要素一覧
名称

説明

Python スクリプト

ユーザーにて作成される CANTOOL 制御用 Python のスクリプトコードです。

RmtDll ライブラリCANTOOL を制御するための API が含まれたライブラリです。Python スクリプトで Import して利用します。

CANTOOL PANEL、CANTOOL 基本ソフトウェアです。

CANTOOL アプリ
Remote I/F

RmtDll ライブラリとのインターフェースです。

USB Driver

CANTOOL PANEL と CANTOOL アプリが通信するためのドライバです。

( 6 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

CANTOOL および Script のソフトウェア構成を以下に示します。
CANTOOL
スクリプト
ファイル A

ログ
ファイル A

Python
実行エンジン 1

制御ライブラリ(RmtDll)

実行

通信
通信

制御用アプリケーション

機器への制御実施

Python スクリプトを、CANTOOL のユーザスイ
スクリプト
ファイル B

ログ
ファイル B

スクリプト
ファイル B

ログ
ファイル B

Python
実行エンジン 2

実行

制御ライブラリ(RmtDll)通信

Python
実行エンジン 3

実行

制御ライブラリ(RmtDll)

通信

I/O

ッチに割り当て、スタンドアロンで実行させることができます。

USB(通信)Windows PC
CANTOOL_PANEL

Python 実 行 環 境 を イ ン ス ト ー ル し た
Windows PC 上で実行することができます。

スクリプト
ファイル A

IDLE などのデバッガで Python スクリプトをデログ
ファイル A

Python
実行環境(IDLE)

PC 用制御ライブラリ
RmtDll.pyd

バッグすることもできます。

図 1-2 CANTOOL ソフトウェア構成図
表 1-2 ソフトウェア構成要素一覧
名称

説明スクリプトファイル

ユーザーが作成する Python スクリプトです。

Python 実行環境(IDLE)

Python をインストールすることで利用可能なソフトウェアです。

PC 用制御ライブラリCANTOOL を制御するための API が含まれたライブラリです。

(RmtDll.pyd)

Windows 上で Python から利用されます。

CANTOOL PANELCANTOOL 基本ソフトウェアです。

Python 実行エンジン

CANTOOL 上で Python スクリプトを実行するソフトウェアです。

制御ライブラリ(RmtDll)

CANTOOL を制御するための API が含まれたライブラリです。
CANTOOL 上で Python 実行エンジンから利用されます。

( 7 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

1.2 稼働条件
対象オペレーティングシステム
CANTOOL Script は、以下の Microsoft Windows オペレーティングシステムに対応しています。
・Windows 8.1 32bit/64bit
・Windows 10 32bit/64bit

動作確認済み開発環境
CANTOOL Script は、以下の開発環境を使用した動作を確認済みです。
・Python 3.5.4( 8 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

2. CANTOOL Script について

2.1 CANTOOL Script の構成
CANTOOL Script として以下のものが用意されています。
なお、最新データについては、取扱説明書の「製品サポートページ」の章を参照して、入手してください。

Script-root|- Manual

CANTOOL Script マニュアル (本書)|- Library

ライブラリ

|-

Windows 上での動作用|-

RmtDll.pyd|- Header

ヘッダーファイル

|-スクリプト関数用定義値

|-

ctdef

|- Sample|-

各種サンプルプログラム

readme_001R_sample.pdf|-

サンプル 1 の説明:|-

001R_sample|-

サンプル 1 (Python)＊１:＊１:サンプルプログラム名について
XXXY_ZZZXXX:サンプル番号 001~
Y

:開発環境

R＝Python 用ZZZ:サンプルプログラム名＊Library、Heder のファイルは、実行環境に合わせてコピーして使用してください。

2.2 CANTOOL Script で扱うインターフェース情報ついて「V016002-703_CANTOOL_A1_Script-ReferenceManual-API」を参照してください。

( 9 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

2.3 CANTOOL Script 利用時の作業流れ(1)Pythonスクリプトファイル作成する。
テキストエディタ等により、スクリプトファイルを作成する。
処理結果等を print 命令で、実行ログとして出力する。
(2) Pythonスクリプトファイルのデバッグを行う。
Windows PC にて、Python スクリプトファイルをデバッグ実行して動作確認を行う。
デバッグ実行は Python に標準で入っている、IDEL ツール等でステップ実行や連続実行して確認する。
(3) PythonスクリプトファイルをCANTOOLに反映させる。
CANTOOL PANEL を使用し、ユーザスイッチに割り当てるスクリプトを設定し、反映を行う。
(4)CANTOOLのユーザスイッチ操作でスクリプトファイルを実行する。
Python スクリプトファイルを割り当てたユーザスイッチを押して、Python スクリプトファイルを実行する。
(5)実行状態は、CANTOOL3のLED点灯で確認する。
CANTOOL 本体の LED の点灯状態により、実行中/正常終了/異常終了を確認する。
(6)実行結果をログファイルで確認する。
実行終了後、CANTOOL PANEL で本体ログを取得し、実行結果をログファイルにより確認する。

( 10 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

3. 使用方法

3.1 CANTOOL Script 使用準備
ここでは Windows 上で Python スクリプトを作成・デバッグするための準備を行います。

3.1.1 Python のインストール
使用する Python のバージョンは「３．7．3」です。(Python 環境:Ver01.00.03 時)(1) Python のインストールモジュールをダウンロードする。
以下のダウンロード用 URL へブラウザでアクセスする。
URL: https://www.python.org/downloads/

図 3-1 Python3.5.4 ダウンロード(1/4)( 11 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual「Downloads」の選択から、「Windows」を選択してバージョン一覧を表示する。

図 3-2 Python3.5.4 ダウンロード(2/4)
「Python 3.5.4 - 2017-08-08」の、「Download Windows x86 executable installer」(32ビット版)を選択する。

（中略）

図 3-3 Python3.5.4 ダウンロード(3/4)( 12 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual「ファイルを保存」を選択にしてファイルに保存する。

図 3-4 Python3.5.4 ダウンロード(4/4)(2)Pythonをインストールする。
ダウンロードした「python-3.5.4.exe」を開き、「実行」を選択してインストールを実行する。

図 3-5 Python3.5.4 インストール(1/6)

「Add Python 3.5 to PATH」をチェックして、「Install Now」を選択してインストールを開始する。

図 3-6 Python3.5.4 インストール(2/6)( 13 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

インストール実行中になる。

図 3-7 Python3.5.4 インストール(3/6)

インストール成功で、「Close」を選択してインストールを終了する。

図 3-8 Python3.5.4 インストール(4/6)( 14 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(3)正しくインストールされたかを確認する。
DOSプロンプトを開き、インストール確認する。
“python --version”を入力して、“Python 3.5.4”の表示を確認する。
“python”を入力して、“Python 3.5.4”が実行される事を確認する。

図 3-9 Python3.5.4 インストール(5/6)
このインストールで Python 3.5.4 自身と付属のデバッガとして IDEL がインストールされます。
以下はスタートメニュー抜粋のインストール状態です。

図 3-10 Python3.5.4 インストール(6/6)
以上で、Python 3.5.4 のインストールが完了です。

3.1.2 Python 用 CANTOOL 制御ライブラリのインストール
Python で CANTOOL を制御するための制御ライブラリのインストール手順を説明します。
CANTOOL リリースイメージの Script\Library 内の RmtDll.pyd を Python の実行するカレントフォルダまたは Python の実行環境にコピーします。
“C:\Users\(ユーザ名)\AppData\Local\Programs\Python\Python35-32\DLLs”フォルダに RmtDll.pyd をコピーすれば、カレントフォ
ルダに関係なく使用できます。

( 15 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

3.2 Python スクリプト作成手順
ここでは、Windows 上でのスクリプトの作成とデバッグの手順を説明します。

3.2.1 Python スクリプト作成
Python スクリプトはテキストエディタもしくは、Python 関連のツールで作成します。
ここでは、Python 付属のデバッガである IDEL を使用した例を説明します。
IDLE は命令強調表示したり、インデントを自動で行ったりする機能があり、Python スクリプトの作成を助けてくれます。

※IDEL の操作詳細については、下記の「25.5. IDLE」を参照ください。
※URL:https://docs.python.jp/3/library/idle.html(1)IDLEの起動
スタートメニューの「Python 3.5.4」のIDELを選択してIDELを起動します。

図 3-11 Python スクリプト作成手順(1/8)
以下が「Python 3.5.4 Shell」画面です。

図 3-12 Python スクリプト作成手順(2/8)( 16 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(2)編集画面を開く「File」メニューの「New File」を選択して、編集画面を表示します。

図 3-13 Python スクリプト作成手順(3/8)
以下が編集画面です。

図 3-14 Python スクリプト作成手順(4/8)( 17 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(3)Pythonスクリプトコードの入力
CANTOOL 制御用 Python スクリプトの基本的な記載方法として、本体バージョンを取得する Python スクリプトの例を以下に示します。
※より実践的な利用方法については、CANTOOL リリースイメージ内の Script\Sample 内を参照ください。

CANTOOL 制御のため、ライブラリを import する。
CANTOOL PANEL と RmtDll を接続する。
print の出力結果はスクリプト実行ログに記録される。
flush を行わないと、本体 SW で終了させた時にログが記録されないことがあります。
制御用関数を使って任意の処理を実装する。

スクリプト終了処理
LED の制御と結果ログの出力を行う。
CANTOOL PANEL から RmtDll を切断する。

図 3-15 Python スクリプト作成手順(5/8)( 18 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(4) Pythonスクリプトファイルの保存
編集終了で、「File」メニューの「Save As...」を選択しファイルに保存します。

図 3-16 Python スクリプト作成手順(6/8)
ファイル名を指定して、保存します。

図 3-17 Python スクリプト作成手順(7/8)( 19 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manualファイル保存でファイル名が表示されます。

図 3-18 Python スクリプト作成手順(8/8)(5)終了時は、各画面を閉じてください。

( 20 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

3.2.2 Windows 上での Python スクリプトデバッグ
ここでは Windows 上での Python スクリプトのデバッグ手順を説明します。
Python インストールでインストールされている IDEL デバッガを使用して説明します。

(1)CANTOOL PANEL起動
Windows上でCANTOOLの制御ライブラリを使用する場合は、CANTOOL PANELをあらかじめ起動しておく必要があります。
CANTOOL PANELを起動せずに実行すると。後述のScr_Start関数でエラーとなります。
(2)IDLE起動
スタートメニューの「Python 3.5.4」のIDELを選択してIDELを起動します。

図 3-19 Python スクリプトデバッグ手順(1/21)
以下が「Python 3.5.4 Shell」画面です。

図 3-20 Python スクリプトデバッグ手順(2/21)( 21 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(3)デバッグ対象ファイルを開く
デバッグするPythonスクリプトファイルを「File」メニューの「Open..」を選択して開きます。

図 3-21 スクリプトデバッグ手順(3/21)
ファイ名を選択して、Python スクリプトファイルを開きます。

図 3-22 Python スクリプトデバッグ手順(4/21)( 22 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

編集画面に Python スクリプトファイル内容が読み込まれ、表示されます。

図 3-23 Python スクリプトデバッグ手順(5/21)( 23 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(4)デバッグ画面を開く
ステップ実行確認をする場合は、「Debug」メニューの「Debugger」を選択してデバッグ設定を行います。

図 3-24 Python スクリプトデバッグ手順(6/21)
以下のように、４つ全てにチェックしてデバッグ設定を行います。

図 3-25 Python スクリプトデバッグ手順(7/21)
上記チェックで Shell 画面には「DEBUG ON」が表示されます。

図 3-26 Python スクリプトデバッグ手順(8/21)(5)デバッグの開始
デバッグの開始を、編集画面の「Run」メニューの「Run Module」を選択して行います。

図 3-27 Python スクリプトデバッグ手順(9/21)( 24 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

デバッグ開始で、プログラムの最初の行で停止します。

図 3-28 Python スクリプトデバッグ手順(10/21)
Shell 画面には Python スクリプト開始メッセージが表示されます。

図 3-29 Python スクリプトデバッグ手順(11/21)( 25 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(6)デバッグ実行
デバッグ画面操作で、デバッグを開始します。
「Over」でプログラムを進め、6 行目に停止した状態です。

図 3-30 Python スクリプトデバッグ手順(12/21)
編集画面の 6 行目で停止状態表示。

図 3-31 Python スクリプトデバッグ手順(13/21)( 26 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

デバッグ操作は以下の操作で行います。
「Go」ボタンプログラムをブレークポイントの直前まで実行。ブレークポイントがない場合は、最後まで実行される。
「Step」ボタン
現在の行を実行して、次の行で停止します。現在の行に関数呼び出しがあるとデバッガーはその関数の中に入ります。
「Over」ボタン
現在の行を実行して、次の行で停止します。現在の行に関数呼び出しがあるとその関数を実行してから次の行で停止します。
「Out」ボタン
現在の関数を最後まで実行して、関数の外に移ります。Step で関数の中に入った場合、Out で関数の外に出ることができます。
「Quit」ボタン
デバッグを終了 します。残りのコードは実行されません。もう一度、デバ ッグを開始するには、最初と同じように、 Debug >Debugger を選択します。
Step と Over の違いは、現在の行に関数呼び出しがある場合に、関数の中に入るかどうかです。通常は、関数の中に入らないOver の方をよく用います。

( 27 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual「Over」でプログラムを進め6行目の関数実行後、7行目に停止した状態です。
「Globals」欄で、変数等の使用した状態が確認できます。下図では、6 行目の関数の戻り値が 0 であることがわかります。

図 3-32 Python スクリプトデバッグ手順(14/21)
現在の停止位置です。

図 3-33 Python スクリプトデバッグ手順(15/21)( 28 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual「Step」操作により、“print('Scr_Start()={0}'.format(ｒｅｔ))”行で標準ライブラリ内にステップインして、別の編集画面で表示された状態です。
抜ける時は、「Out」操作で元の Python スクリプト編集画面に戻ります。

図 3-34 Python スクリプトデバッグ手順(16/21)
７行目の“print('Scr_Start()={0}'.format(ｒｅｔ))”行によるログ表示内容です。

図 3-35 Python スクリプトデバッグ手順(17/21)( 29 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

上記以外に、ブレーク行を指定して実行を停止する事もできます。
ブレークしたい行で、右クリックによりポップアップ表示で指定できる。
ブレーク行設定で、選択行のバックが黄色表示になります。

図 3-36 Python スクリプトデバッグ手順(18/21)「Go」選択で最後まで実行する。
最後まで実行すると、下記の確認画面が表示されます。
「OK」を選択すると、実行ログを表示した Shell 画面とデバッグ操作画面が消えます。
「キャンセル」を選択すると、実行ログを表示した Shell 画面とデバッグ操作画面は残ります。

図 3-37 Python スクリプトデバッグ手順(19/21)( 30 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

実行終了で、「キャンセル」を選択した時の Shell 画面です。

図 3-38 Python スクリプトデバッグ手順(20/21)( 31 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

実行終了時の操作画面です。Python バージョンがログに出力されています。
Scr_Finish 関数の結果はログ出力されません。

図 3-39 Python スクリプトデバッグ手順(21/21)( 32 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

3.3 Python スクリプト実行手順
CANTOOL 本体での Python スクリプト実行手順を説明します。
なお、Python スクリプトの実行には SD カードが必要となります。

3.3.1 事前準備
(1)CANTOOLにPythonスクリプト実行環境を構築する
CANTOOL PANELを起動します。
「Setting」を選択します。

図 3-40 Python スクリプト実行手順(1/9)
「プロジェクト設定」で「スタンドアロン設定」を選択します。
CANTOOL に SD カードを挿入し、「スクリプト実行環境」「構築」ボタンを選択します。

図 3-41 Python スクリプト実行手順(2/9)( 33 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

Python実行環境のインストールファイルを指定します。
CANTOOL の\Support\ScriptImage\内にある python_env_verXX.XX.XX.zip を選択し、「開く」ボタンを選択します。
※XX はバージョンを表す数字

図 3-42 Python スクリプト実行手順(3/9)
構築が完了すると以下のメッセージが表示されます。

図 3-43 Python スクリプト実行手順(4/9)( 34 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

3.3.2 Python スクリプトファイルを本体へ設定する(1) CANTOOL PANELでPythonスクリプトファイルを設定する。
「プロジェクト設定」で「スタンドアロン設定」を選択します。
各ユーザスイッチに Python スクリプトファイルを設定します。
「実行データ操作」で「スクリプト」を選択し、実行する Python スクリプトファイルを指定します。
画面例ではユーザスイッチ 1 に 4 章で作成したスクリプトファイルを指定しています。

図 3-44 Python スクリプト実行手順(5/9)( 35 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual(2)設定したPythonスクリプトファイルを本体に設定します。
「スタンドアロン設定を反映」「反映」を選択します。

図 3-45 Python スクリプト実行手順(6/9)
反映が完了すると以下のメッセージが表示されます。
CANTOOL の SW に対応する LED が緑点灯し、Python スクリプトが実行可能状態であることを示します。

図 3-46 Python スクリプト実行手順(7/9)

3.3.3 本体での実行
実行したい Python スクリプトを登録した CANTOOL の SW を押下します。
実行開始されると対応する LED が緑点滅します。
緑点滅中に SW を押下した場合は、スクリプトを強制終了します。
Python スクリプトの実行が終了すると、Scr_Finish()関数で指定した LED 状態になります。
システムやスクリプトの問題で Python スクリプトが停止した場合は LED が赤点灯状態になります。

( 36 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

3.3.4 実行結果の確認(1) Pythonスクリプトの実行ログ取得「スタンドアロン設定」の「本体ログ操作」＞「取得」を選択する。

図 3-47 Python スクリプト実行手順(8/9)
ログの保存先を選択(任意)し、「OK」ボタンを選択します。
保存先フォルダ内に"Log_YYYYMMDDhhmmss\ScriptLog\SW１\0001～N\"(※１)内に拡張子"ｔｘｔ”と"result"のログファイルが出来ます。
※１ YYYYMMDDhhmmss はログ取得した年月日時分秒、N は 0001 から実行の度連番となる。

図 3-48 Python スクリプト実行手順(9/9)( 37 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

拡張子”ｔｘｔ”のファイルには、Python スクリプトで print 出力した内容がログ出力されます。

Scr_Start 01.03.00 2018/04/02 : script_RmtDll_Version
Scr_Start()=0
Scr_GetStatus()=0
Version=01.00.01
Scr_GetStatus() : OK
RmtDll.Scr_End=0

拡張子”result”のファイルには、後述の Scr_Finish 関数で指定した出力がログ出力されます。

OK,ORG_ON,Script OK( 38 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

3.4 注意事項
特になし( 39 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

4. ライブラリインターフェース仕様
CANTOOL Script が提供する API の一覧を以下に示します。各 API の詳細は
「V016002-703_CANTOOL_A1_Script-ReferenceManual-API」を参照してください。

表 4-1 ライブラリインターフェース一覧
カテゴリ

説明

名称

スタート

スクリプト使用開始通知処理

Scr_Start

エンドスクリプト使用終了処理

Scr_Endステータス

各種状態を取得する。

Scr_GetStatus

指定の LED を制御する。

Scr_SetLED

スクリプト終了時に、スクリプトを登録した SW に対応した LED を

Scr_Finish

制御する。
また、実行ログとは別に結果ログに文字列を出力する。
結果 OK を判定する文字列を返す。Scr_Finish の引数①用。

OK

結果 NG を判定する文字列を返す。Scr_Finish の引数①用。

NG

LED を OFF に制御する文字列を返す。Scr_Finish の引数②

LGT_OFF用。
LED を緑点灯に制御する文字列を返す。Scr_Finish の引数②

GRN_ON用。
LED を緑点滅に制御する文字列を返す。Scr_Finish の引数②

GRN_FLS用。
LED を橙点灯に制御する文字列を返す。Scr_Finish の引数②

ORG_ON用。
LED を橙点滅に制御する文字列を返す。Scr_Finish の引数②

ORG_FLS用。
LED を赤点滅に制御する文字列を返す。Scr_Finish の引数②

RED_FLS

用。

データ送信

Frame に割り当てられている Signal のリストを取得する。

Scr_ConvertSignalListFromFrameBusID と XID から FrameID を取得する。

Scr_ConvertXID2FrameID

BusID と XID と SignalSymbol から SignalID を取得する。

Scr_ConvertXID2SignalID

本体の UART の設定の変更を行う。

Scr_SetUartSetting

本体の UART の設定を取得する。

Scr_GetUartSetting

指定したフレーム ID のデータサイズ(バイト)を取得する。

Scr_GetFrameSize

指定したシグナル ID のデータサイズ(バイト)を取得する。

Scr_GetSignalSize

指定フレームのデータを送信する。周期送信の値に反映される。

Scr_SendFrameData

指定シグナルのデータを送信する。周期送信の値に反映される。

Scr_SendSignalData

指定ポートの DA の値を変更する。

Scr_SendDaData

指定ポートの GPO の値を変更する。

Scr_SendGpoData

任意の CAN Frame データを送信する。

Scr_SendAnyCANFrame

送信データを Frame サイズに分割し、指定周期で送信を行う。

Scr_SendCyclicData2

MultiPacket データを送信する。

Scr_SendMultiPacketData2

MultiPacket への応答内容設定。

Scr_ResponseMultiPacketData( 40 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

カテゴリ

説明

名称

UART へのデータを送信す。
データ受信

Script-Manual

Scr_SendUartData

指定フレームの最新データを取得する。

Scr_GetFrameData

指定シグナルの最新データを取得する。

Scr_GetSignalData

指定ポートの AD の値を取得する。

Scr_GetAdData

指定ポートの GPI の値を取得する。

Scr_GetGpiData

MultiPacket 状態を取得する。

Scr_GetMultiPacketStatus

MultiPacket の応答結果を取得する。

Scr_GetResponseMultiPacketDataS
tatus( 41 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

CANTOOL A1

Script-Manual

Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

( 42 / 42 )Copyright (C) 2017 ITEC HANKYU HANSHIN CO., LTD. All Rights Reserved.

ライブラリインターフェース仕様(※)各エラーや定義、構造体については、同梱の「ctdef.py」を参照してください。
種別
定義
概要
引数
Connection
Scr_Start
ユーザーアプリをCANTOOL本体 無し
アプリと接続する。

Status

設定可能範囲-Rev. 01.02
最終更新日： 2022/08/31
取得内容(戻り値)
説明①整数型：CT_result
・本APIによりCANTOOL本体アプリに接続すること
ctdef.pyのCT_resultを参 で、スクリプトからAPIでCANTOOL本体が制御可能照となる。複数のスクリプト(最大4個)を接続することが可能。
・すでにCANTOOL本体に読み込んでいるプロジェク
トファイルを使用する。

Scr_End

ユーザーアプリをCANTOOLPANELから切断する。

無し-①整数型：CT_result
・本APIによりCANTOOL本体アプリからスクリプト
ctdef.pyのCT_resultを参 を切断し、接続していたスクリプトの情報を破棄照する。
・Scr_End()を呼び出さずにスクリプトが終了した
場合、その後のスクリプト動作は保証しない。
CANTOOL本体を再起動すること。ただし、本体のSWを押して終了した場合は再起動の必要はない。

Scr_GetStatus

各種状態を取得する無し-①整数型：CT_result
・statusのリストの項目はCT_Configを使って取得
ctdef.pyのCT_resultを参 する。
照②リスト型：status
取得できる情報は
ctdef.pyのCT_Configを参照

Scr_SetLED

指定のLEDを制御する①整数型 LED port [I] LED番号②整数型 LED color [I] 色③整数型 LED Status [I] 動作(点灯、点滅、消灯)①
SCR_LED_PORT_USER1SCR_LED_PORT_USER2②
SCR_LED_COLOR_OFF
SCR_LED_COLOR_RED
SCR_LED_COLOR_GREEN
SCR_LED_COLOR_ORANGE③
SCR_LED_STATUS_OFF
SCR_LED_STATUS_ON
SCR_LED_STATUS_BRINK①整数型：CT_result
・指定したLED番号の色と動作を制御する。
ctdef.pyのCT_resultを参 ・色と動作のどちらかを「消灯」とした場合、LED
照は消灯状態となる。

Scr_Finish

スクリプト終了時に、スクリプトを登録したSWに対応したLEDを制御する。
また、実行ログとは別に結果
ログに文字列を出力する。

①文字列型：OK/NG判定文字列②文字列型：LED制御文字列③文字列型：ユーザーメッセージ
用

①
OK()
NG()
②
LGT_OFF()GRN_ON()GRN_FLS()
ORG_ON()
ORG_FLS()
RED_FLS()③任意の文字列。最大1000文字。

①整数型：CT_result
・本APIをコールすると実行ログとは別にctdef.pyのCT_resultを参 「script_log_XXXX.result」と言うファイルが結照果ログとして出力される。
①と③を利用してスクリプトの実行結果を判断に利用できる。
・コールせずスクリプトを終了させたり、スクリ
プトやシステムの問題で途中で実行が停止した場
合は結果ログは出力されず、対応するLEDは赤点灯となる。
・スクリプト終了後、スクリプトを登録したSWに対応するLEDが、②で指定した点灯/消灯状態となる。ログを確認せずとも、本体LEDで実行結果判断に利用できる。
・③に1000文字以上の文字列を設定した場合の動作は保証しない。

-①文字列型
・「OK」の文字列を返す。
結果OKを判定する文字列①文字列型
・「NG」の文字列を返す。
結果NGを判定する文字列①文字列型
・「LGT_OFF」の文字列を返す。
LEDをOFFに制御する文字列※Windows上での実行は非サポート。
OK

Control

結果OKを判定する文字列を返 無し
す。Scr_Finishの引数①用。
NG
結果NGを判定する文字列を返 無し
す。Scr_Finishの引数①用。
LGT_OFF
LEDをOFFに制御する文字列を 無し返す。Scr_Finishの引数②用。
GRN_ON
LEDを緑点灯に制御する文字列 無しを返す。Scr_Finishの引数②用。
GRN_FLS
LEDを緑点滅に制御する文字列 無しを返す。Scr_Finishの引数②用。
ORG_ON
LEDを橙点灯に制御する文字列 無しを返す。Scr_Finishの引数②用。
ORG_FLS
LEDを橙点滅に制御する文字列 無しを返す。Scr_Finishの引数②用。
RED_FLS
LEDを赤点滅に制御する文字列 無しを返す。Scr_Finishの引数②用。
Scr_ConvertSignalListFromFr Frameに割り当てられている①WORD
FrameId[I] Frameame
Signalのリストを取得する
ID②DWORD FrameSize [I] 1Frame
データのサイズ(バイト)③BYTE* FrameData [I] 1Frameのデータ④DWORD SignalSize [I]SignalDataの格納サイズ(バイト)⑤cfg_signal_data_t_rmt*
SignalData [O] Signalデータ

-

-

①文字列型
・「GRN_ON」の文字列を返す。
LEDを緑点灯に制御する文字列①文字列型
・「GRN_FLS」の文字列を返す。
LEDを緑点滅に制御する文字列①文字列型
・「ORG_ON」の文字列を返す。
LEDを橙点灯に制御する文字列①文字列型
・「ORG_FLS」の文字列を返す。
LEDを橙点滅に制御する文字列①文字列型
・「RED_FLS」の文字列を返す。
LEDを赤点滅に制御する文字列①0～4999①整数型：CT_result
・SignalDataの領域は、内部管理IDのため
ctdef.pyのCT_resultを参 cfg_signal_data_max_t_rmt構造体サイズ分のメモ
Scr_ConvertXID2FrameID()で取得し 照リを確保すること。
た値を使うこと。
・指定されたフレームのデータを登録されている②0～255シグナルデータに変換して返す。
③②の数分セットすること・シグナルデータは、cfg_signal_data_t_rmt構造④SignalDataサイズは、体の情報が取得できる。
「sizeof(cfg_signal_data_max_t_rm
・戻り値のSignalData件数分、SignalDataに情報t)」を固定でセットすること。
が格納される。
⑤cfg_signal_data_t_rmt構造体のメ構造体は、[cfg_signal_data_t_rmt構造体]定義をモリを確保する。
参照。

Scr_ConvertXID2FrameID

BusIdとXIDからFrameIDを取得 ①整数型 BusId [I] バスIDする
②整数型 SidOnly [I] 拡張ID使
用有無③整数型 Sid [I] 標準フォー
マットのベースID 11ビット④整数型 Eid [I] 拡張フォー
マットの拡張ID 18ビット⑤リスト型 FrameId [O] フレームID(フレームを一意に識別する
ID番号)
リストの先頭に整数型の値が格納される。

①
SCR_BUS_ID_CAN0
SCR_BUS_ID_CAN1
SCR_BUS_ID_CAN2
SCR_BUS_ID_CAN3
SCR_BUS_ID_LIN②
1：ベースIDのみ
0：ベースID＋拡張ID③
CAN：0x00～0x7FF
LIN：0x00～0x3F④CAN:0x00～0x3FFFF⑤0～4999①整数型：CT_result
・指定されたバス情報に登録されたSid(標準ctdef.pyのCT_resultを参 フォーマットのベースID 11ビット)とEid(拡張照フォーマットの拡張ID 18ビット)から、FrameId(フレームを一意に識別するID番号)を取得する。
・標準フォーマットのベースID 11ビットのみを指定する場合は、SidOnlyをTRUEで指定すること。
・標準フォーマットのベースIDと拡張IDの29ビッ
トを指定する場合は、SidOnlyをFALSEで指定すること。
・本I/Fで取得したFrameIdを、SendFrameData、
GetFrameDataなどの引数に使用する。

Scr_ConvertXID2SignalID

BusIdとXIDとSignalSymbolからSignalIDを取得する①
SCR_BUS_ID_CAN0
SCR_BUS_ID_CAN1
SCR_BUS_ID_CAN2
SCR_BUS_ID_CAN3
SCR_BUS_ID_LIN②
1：ベースIDのみ
0：ベースID＋拡張ID③
CAN：0x00～0x7FF
LIN：0x00～0x3F④CAN:0x00～0x3FFFF⑤1～63文字⑥0～29999①整数型：CT_result
・指定されたバス情報に登録されたSid(標準ctdef.pyのCT_resultを参 フォーマットのベースID 11ビット)とEid(拡張照フォーマットの拡張ID 18ビット)とシグナル名称から、SignalId(シグナルを一意に識別するID番号)を取得する。
・標準フォーマットのベースID 11ビットのみを指定する場合は、SidOnlyをTRUEで指定すること。
・標準フォーマットのベースIDと拡張IDの29ビッ
トを指定する場合は、SidOnlyをFALSEで指定すること。
・本I/Fで取得したSignalIdを、SendSignalData、
GetSignalDataなどの引数に使用する。

①整数型 BusId [I] バスID
②整数型 SidOnly [I] 拡張ID使用有無(TRUE：ベースIDのみ、
FALSE：ベースID＋拡張ID)③整数型 Sid [I] 標準フォー
マットのベースID 11ビット④整数型 Eid [I] 拡張フォー
マットの拡張ID 18ビット⑤文字列 SignalSymbol [I] シグ
ナル名⑥リスト型 SignalId [O] シグナ
ルID(シグナルを一意に識別する
ID番号)
リストの先頭に整数型の値が格納される。

1 / 4 ページ

Scr_SetUartSetting

本体のUARTの設定の変更を行う。

①整数型 enable[I] UART有効/無効②整数型 baudrate [I] ボーレー
ト③整数型 datalength [I] データ
長④整数型 parity [I] パリティ
⑤整数型 stopbit [I] ストップビット

①FALSE:無効 TRUE:有効②
UART_SETTING_BR_4800
UART_SETTING_BR_9600
UART_SETTING_BR_19200
UART_SETTING_BR_38400
UART_SETTING_BR_115200
UART_SETTING_BR_230400①整数型：CT_result
・指定された値をUARTの設定に反映する。
ctdef.pyのCT_resultを参照③
UART_SETTING_LEN8
UART_SETTING_LEN7④
UART_SETTING_PAR_NONE
UART_SETTING_PAR_ODD
UART_SETTING_PAR_EVEN⑤
UART_SETTING_STPB1
UART_SETTING_STPB2

DataSend

Scr_GetUartSetting

本体のUARTの設定を取得す
る。

無し

-

①整数型：CT_result
・現在のUARTの設定内容を返信する。
ctdef.pyのCT_resultを参照②整数型：enable 有効/無効
③整数型：baudrate ボー
レート④整数型：datalength デー
タ長⑤整数型：parity パリティ
⑥整数型：stopbit ストップビット⑦整数型：FreeMsgCnt 空き
メッセージ数

Scr_GetFrameSize

指定したフレームIDのデータ
サイズ(バイト)を取得する。

①整数型 FrameId [I] フレームID
②リスト型 size [O] フレームのデータサイズ(バイト)リストの先頭に整数型の値が格納される。

①0～4999
内部管理IDのため
Scr_ConvertXID2FrameID()で取得した値を使うこと。
②0～255③②の数分セットすること①整数型：CT_result
・指定したフレームIDのデータサイズ(バイト)を
ctdef.pyのCT_resultを参 取得する。
照

Scr_GetSignalSize

指定したシグナルIDのデータ
サイズ(バイト)を取得する。

Scr_SendFrameData

Scr_SendSignalData

Scr_SendDaData

Scr_SendGpoData

Scr_SendAnyCANFrame

Scr_SendCyclicData2①整数型 SignalId [I] シグナルID
②リスト型 size [O] シグナルのデータサイズ(バイト)リストの先頭に整数型の値が格納される。
指定Frameのデータを送信する ①整数型 FrameId [I] フレーム(周期送信の値も更新される) ID②整数型 size [I] 送信データサ
イズ(バイト)③bytearray data [I] 送信デー
タ
指定Signalのデータを送信す ①整数型 SignalId [I] シグナルる(周期送信の値も更新され
ID
る)②整数型 size [I] 送信データサ
イズ(バイト)③bytearry data [I] 送信データ①0～29999①整数型：CT_result
・指定したシグナルIDのデータサイズ(バイト)を内部管理IDのため
ctdef.pyのCT_resultを参 取得する。
Scr_ConvertXID2SignalID()で取得し 照た値を使うこと。
②0～255

指定ポートのDAの値を変更す
る①
SCR_DA_CHANNEL_0
SCR_DA_CHANNEL_1①整数型 PortNum [I] DAポート
番号②整数型 value [I] 値①0～4999①整数型：CT_result
・指定されたFrameIDでデータを送信する。周期送
内部管理IDのため
ctdef.pyのCT_resultを参 信の値に反映される。
Scr_ConvertXID2FrameID()で取得し 照た値を使うこと。
②0～255③②の数分セットすること①0～29999①整数型：CT_result
・指定されたSignalIDでデータを送信する。周期内部管理IDのため
ctdef.pyのCT_resultを参 送信の値に反映される。
Scr_ConvertXID2SignalID()で取得し 照・送信データへのデータ格納についてた値を使うこと。
下詰めでStart位置に上から送信データに格納され②0～255る③②の数分セットすること(例)Width：9の場合
上 data[0] bit7～bit1:未使用
data[0] bit0→sig data0(Start位置)
data[1] bit7→sig data1
data[1] bit6→sig data2
data[1] bit5→sig data3
data[1] bit4→sig data4
data[1] bit3→sig data5
data[1] bit2→sig data6
data[1] bit1→sig data7
下 data[1] bit0→sig data8②値 = ( 0.0000～5.0000(V) ) *10000
指定ポートのGPOの値を変更す ①整数型 PortNum [I] GPOポート ①
る
番号
SCR_GPIO_CHANNEL_0②整数型 value [I] 値
SCR_GPIO_CHANNEL_1
SCR_GPIO_CHANNEL_2
SCR_GPIO_CHANNEL_3②
SCR_GPIO_BIT_VALUE_LOW
SCR_GPIO_BIT_VALUE_HIGH
任意のCAN Frameデータを送信 ①整数型 BusId [I] バスID①
する
②整数型 SidOnly [I] 拡張ID使 SCR_BUS_ID_CAN0
用有無
SCR_BUS_ID_CAN1③整数型 Sid [I] 標準フォー
SCR_BUS_ID_CAN2
マットのベースID 11ビット
SCR_BUS_ID_CAN3④整数型 Eid [I] 拡張フォー②
マットの拡張ID 18ビット
1：ベースIDのみ⑤整数型 isCANFD [I] CAN-FDフ 0：ベースID＋拡張IDラグ③⑥整数型 BitRateSwitch [I] CAN CAN：0x00～0x7FF
FDデータフェーズ高速化
LIN：0x00～0x3F⑦整数型 DataLength [I] 送信④CAN:0x00～0x3FFFF
データサイズ⑤⑧bytearray Data [I] 送信デー 1：CAN FDフレーム
タ
0：CANフレーム⑥1：有効、0：無効(⑤がCAN FDフ
レームの場合のみ利用可能)⑦0～255⑧⑦の数分セットすること
送信データをFrameサイズに分 ①整数型 number CycleData番号
割し、指定周期で送信を行う ②整数型 enable CycleData送信
有効/無効③整数型 cycle 周期時間(ms)④整数型 BusId [I] バスID
⑤整数型 SidOnly [I] 拡張ID使用有無(TRUE：ベースIDのみ、
FALSE：ベースID＋拡張ID)⑥整数型 Sid [I] 標準フォー
マットのベースID 11ビット⑦整数型 Eid [I] 拡張フォー
マットの拡張ID 18ビット⑧整数型 isCANFD [I] CAN-FDフ
ラグ(1：CAN-FD、0：CAN)⑨整数型 BitRateSwitch [I] 転送速度高速化(1：有効、0：無効)⑩整数型 DataLength [I] 送信
データサイズ(バイト)⑪bytearray Data [I] 送信デー
タ

①0～14
②
TRUE：CycleData送信を行う。
FALSE：CycleData送信を停止する。
③
0～10000(ms)④
RMT_BUS_ID_CAN0
RMT_BUS_ID_CAN1
RMT_BUS_ID_CAN2
RMT_BUS_ID_CAN3⑤
TRUE：ベースIDのみ
FALSE：ベースID＋拡張ID⑥0x00～0x7FF⑦0x00～0x3FFFF⑧
TRUE：CAN-FD
FALSE：CAN⑨
TRUE：有効FALSE：無効
引数⑧がCAN-FDの場合のみ有効⑩
0～1024Byte⑪「⑩」で指定したデータ領域を設定

2 / 4 ページ

①整数型：CT_result
・指定されたポートのDAの値を変更する。
ctdef.pyのCT_resultを参照①整数型：CT_result
・指定されたポートのGPOの値を変更する。
ctdef.pyのCT_resultを参 ・値は、HI(1)、LO(0)を設定すること。
照①整数型：CT_result
・指定されたバスにFrameデータを送信する。
ctdef.pyのCT_resultを参 単発送信とし周期送信のFrameであっても周期送照信データには反映されない。
(周期送信データを更新する場合は、
Scr_SendFrameData/Scr_SendSignalDataを使用する)①整数型：CT_result
・指定されたCycleData番号毎に、指定されたバ
ctdef.pyのCT_resultを参 ス、CAN ID等の設定及び、その周期送信の有効/無照
効を制御する。
・引数の情報はCANTOOL本体に保存され、次回のCANTOOL本体起動時も設定に従った動作を行う。
・設定したデータはFrameサイズに分割され、設定した周期で順番に送信される。
・データの最終まで送信すると、再びデータの先頭から送信を行う。
・summary_t_rmt構造体の「USB通信状態(本体-PC間)」が「USB_STATUS_DISCONNECT」の場合は利用不可。

Scr_SendMultiPacketData2

DataRecieve

MultiPacketデータを送信する ①整数型 fs [I] FS値②整数型 bs [I] BS値③整数型 STmin [I] 最低送信間隔④整数型 timeout [I] タイムア
ウト時間
⑤整数型 BusId [I] バスID
⑥整数型 SidOnly [I] 拡張ID使用有無(TRUE：ベースIDのみ、
FALSE：ベースID＋拡張ID)⑦整数型 Sid [I] 標準フォー
マットのベースID 11ビット⑧整数型 Eid [I] 拡張フォー
マットの拡張ID 18ビット⑨整数型 isCANFD [I] CAN-FDフ
ラグ(1：CAN-FD、0：CAN)⑩整数型 BitRateSwitch [I] 転送速度高速化(1：有効、0：無効)⑪整数型 RecvBusId [I] バスID
⑫整数型 RecvSidOnly [I] 拡張
ID使用有無(TRUE：ベースIDのみ、FALSE：ベースID＋拡張ID)⑬整数型 RecvSid [I] 標準
フォーマットのベースID 11ビット
⑭整数型 RecvEid [I] 拡張
フォーマットの拡張ID 18ビット⑮整数型 RecvIsCANFD [I] CANFDフラグ(1：CAN-FD、0：CAN)⑯整数型 RecvBitRateSwitch [I]
転送速度高速化(1：有効、0：無効)⑰整数型 DataLength [I] 送信
データサイズ(バイト)⑱bytearray Data [I] 送信デー
タ⑲整数型 AddressFormatType [I]⑳整数型 N_TA①FS値①整数型：CT_result
・本APIで送受信ポートの情報を設定する。設定し
MULTI_PACKET_FS_CONTINUOUS_RECEIV
ctdef.pyのCT_resultを参 なければScr_GetMultiPacketStatus()での情報取
E：連続受信可、照
得はできない。
MULTI_PACKET_FS_WAIT:待機、・4095Byteより大きい送受信データサイズでの動MULTI_PACKET_FS_OVERFLOW:Overflow
作は保証しない。
②0～FF
・マルチパケットのシーケンス完了前に本APIを
MULTI_PACKET_BS_ALL_RECEIVE_POSSI
コールした場合の動作は保証しない。
BLE：全て受信可
・引数①の値ごとの挙動は以下となる。
③0～FF(ms)0:正常ケースであり、APIの動作を継続する。
④0～10000(ms)1:待機状態であることをFCにて送信する。その1⑤SCR_BUS_ID_CAN0
秒後に「連続受信可」でFCを送信する。以降は通SCR_BUS_ID_CAN1
常のAPIの動作を継続する。
SCR_BUS_ID_CAN2
2:相受信に失敗したことをFCにて送信する。本
SCR_BUS_ID_CAN3
来、TP上はマルチパケット送受信処理は終了する⑥TRUE：ベースIDのみが、APIとしてはデータを受信できる状態でタイム
FALSE：ベースID＋拡張ID
アウトまで待つ。
⑦0x00～0x7FF
・引数①②③は対象へFCパケットで通知する値で⑧0x00～0x3FFFF
あり、FC情報は相手から受け取った情報に従う。
⑨TRUE：CAN-FD / FALSE：CAN
・複数コネクションには対応せず、本APIコール毎⑩TRUE：有効 / FALSE：無効に情報は上書きされる。
引数⑨がCAN-FDの場合のみ有効
・⑤～⑩の情報で⑰～⑳のデータをTP送信し、そ⑪の後⑪～⑯の情報に一致するデータを待ちTP受信
SCR_BUS_ID_CAN0
する。
SCR_BUS_ID_CAN1
SCR_BUS_ID_CAN2●想定利用方法
SCR_BUS_ID_CAN3
・Scr_SendMultiPacketData2()で送受信情報を設⑫TRUE：ベースIDのみ
定し、データを送信する。
FALSE：ベースID＋拡張ID
・Scr_GetMultiPacketStatus()で100ms程度の間隔⑬0x00～0x7FF
でポーリングして受信したデータを取得する。
⑭0x00～0x3FFFF
・Scr_GetMultiPacketStatus()で送受信の失敗や⑮TRUE：CAN-FD / FALSE：CAN
ターゲットの応答タイムアウトを取得する。
⑯TRUE：有効 / FALSE：無効
引数⑮がCAN-FDの場合のみ有効⑰1～4095Byte⑱「⑰」で指定したデータ領域を設
定⑲
MULTI_PACKET_ADDRESS_FORMAT_TYPE_NORMAL：Normal
MULTI_PACKET_ADDRESS_FORMAT_TYPE_EXTENDED：extended⑳0x00～0xFF

Scr_ResponseMultiPacketData MultiPacketへの応答内容設定 ①整数型 fs [I] FS値②整数型 bs [I] BS値③整数型 STmin [I] 最低送信間隔④整数型 timeout [I] タイムア
ウト時間
⑤整数型 BusId [I] バスID
⑥整数型 SidOnly [I] 拡張ID使用有無(TRUE：ベースIDのみ、
FALSE：ベースID＋拡張ID)⑦整数型 Sid [I] 標準フォー
マットのベースID 11ビット⑧整数型 Eid [I] 拡張フォー
マットの拡張ID 18ビット⑨整数型 isCANFD [I] CAN-FDフ
ラグ(1：CAN-FD、0：CAN)⑩整数型 BitRateSwitch [I] 転送速度高速化(1：有効、0：無効)⑪整数型 RecvBusId [I] バスID
⑫整数型 RecvSidOnly [I] 拡張
ID使用有無(TRUE：ベースIDのみ、FALSE：ベースID＋拡張ID)⑬整数型 RecvSid [I] 標準
フォーマットのベースID 11ビット
⑭整数型 RecvEid [I] 拡張
フォーマットの拡張ID 18ビット⑮整数型 RecvIsCANFD [I] CANFDフラグ(1：CAN-FD、0：CAN)⑯整数型 RecvBitRateSwitch [I]
転送速度高速化(1：有効、0：無効)⑰整数型 DataLength [I] 送信
データサイズ(バイト)⑱bytearray Data [I] 送信デー
タ⑲整数型 AddressFormatType [I]⑳整数型 N_TA [I]①FS値①整数型：CT_result
・本APIでマルチパケットへの応答内容を設定す
MULTI_PACKET_FS_CONTINUOUS_RECEIV
ctdef.pyのCT_resultを参 る。
E：連続受信可、照・4095Byteより大きい送受信データサイズでの動MULTI_PACKET_FS_WAIT:待機、作は保証しない。
MULTI_PACKET_FS_OVERFLOW:Overflow
・マルチパケットのシーケンス完了前に本APIを②0～FFコールした場合の動作は保証しない。
MULTI_PACKET_BS_ALL_RECEIVE_POSSI
・引数①の値ごとの挙動は以下となる。
BLE：全て受信可
0:正常ケースであり、APIの動作を継続する。
③0～FF(ms)1:待機状態であることをFCにて送信する。その1④0～10000(ms)
秒後に「連続受信可」でFCを送信する。以降は通⑤SCR_BUS_ID_CAN0
常のAPIの動作を継続する。
SCR_BUS_ID_CAN1
2:相受信に失敗したことをFCにて送信する。本
SCR_BUS_ID_CAN2
来、TP上はマルチパケット送受信処理は終了する
SCR_BUS_ID_CAN3
が、APIとしてはデータを受信できる状態でタイム⑥TRUE：ベースIDのみ
アウトまで待つ。
FALSE：ベースID＋拡張ID
・引数①②③は対象へFCパケットで通知する値で⑦0x00～0x7FF
あり、FC情報は相手から受け取った情報に従う。
⑧0x00～0x3FFFF
・複数コネクションには対応せず、本APIコール毎⑨TRUE：CAN-FD / FALSE：CANに情報は上書きされる。
⑩TRUE：有効 / FALSE：無効
・⑪～⑯の情報に一致するデータをTP受信し、そ引数⑨がCAN-FDの場合のみ有効の後⑤～⑩の情報で⑰～⑳のデータをTP送信す⑪SCR_BUS_ID_CAN0
る。
SCR_BUS_ID_CAN1
SCR_BUS_ID_CAN2●想定利用方法
SCR_BUS_ID_CAN3
・Scr_ResponseMultiPacketData()で送受信情報を⑫TRUE：ベースIDのみ設定する。
FALSE：ベースID＋拡張ID
・ターゲットの機器から受信情報従ったデータを⑬0x00～0x7FF
受信データを保持し、設定された送信データを送⑭0x00～0x3FFFF
信する。
⑮TRUE：CAN-FD / FALSE：CAN
・Scr_GetResponseMultiPacketStatus()で100ms程⑯TRUE：有効 / FALSE：無効度の間隔でポーリングして受信したデータを取得
引数⑮がCAN-FDの場合のみ有効する。
⑰1～4095Byte。0の場合は応答デー
・Scr_GetResponseMultiPacketStatus()で送受信
タの送信を行わない。他の動作は同の失敗やターゲットの応答タイムアウトを取得すじ。
る。
⑱「⑰」で指定したデータ領域を設
定⑲
MULTI_PACKET_ADDRESS_FORMAT_TYPE_NORMAL：Normal
MULTI_PACKET_ADDRESS_FORMAT_TYPE_EXTENDED：extended⑳0x00～0xFF

Scr_SendUartData①DWORD size [I] 送信データサ
イズ(バイト)②BYTE* data [I] 送信データ
指定Frameの最新データを取得 ①整数型 FrameId [I] フレームする
ID
②整数型 size [I] 受信フレーム
データサイズ(バイト)③bytearray data [O] 受信フ
レームデータ④リスト型 Time [O] 最終更新時
タイムスタンプ((単位：100ns
1601-01-01 00:00:00を基準とした経過時間))
リストの先頭に整数型の値が格納される。

①最大データ長：UARTDATA_SIZE_MAX ①整数型：CT_result
・送信データをUARTに送信する。
②①のサイズ分のメモリを確保
ctdef.pyのCT_resultを参 ・送信データの最大データ長は照
UARTDATA_SIZE_MAX(単位：Bytes)①0～4999①整数型：CT_result
・指定されたFrameIDの最新データを取得する。
内部管理IDのため
ctdef.pyのCT_resultを参 ・一度も受信していない場合は、戻り値がScr_ConvertXID2FrameID()で取得し 照
RET_NOTFOUND、受信フレームデータはNULL、最終た値を使うこと。
更新時タイムスタンプは0となる。
②0～255④0～0xFFFFFFFFFFFFFFFF

Scr_GetSignalData

指定Signalの最新データを取得する①整数型 SignalId [I] シグナルID
②整数型 size [I] 受信シグナル
データサイズ(バイト)③bytearray data [O] 受信シグ
ナルデータ
④リスト型 Time [O] 最終更新時
タイムスタンプ((単位：100ns
1601-01-01 00:00:00を基準とした経過時間))
リストの先頭に整数型の値が格納される。

①0～29999①整数型：CT_result
・指定されたSignalIDの最新データを取得する。
内部管理IDのため
ctdef.pyのCT_resultを参 ・一度も受信していない場合は、戻り値がScr_ConvertXID2SignalID()で取得し 照
RET_NOTFOUND、受信フレームデータはNULL、最終た値を使うこと。
更新時タイムスタンプは0となる。
②0～255④0～0xFFFFFFFFFFFFFFFF
・data格納について
下詰めで上からStart位置よりdataに格納される(例)Width：9の場合
上 data[0] bit7～bit1:未使用
data[0] bit0←sig data0(Start位置)
data[1] bit7←sig data1
data[1] bit6←sig data2
data[1] bit5←sig data3
data[1] bit4←sig data4
data[1] bit3←sig data5
data[1] bit2←sig data6
data[1] bit1←sig data7
下 data[1] bit0←sig data8

Scr_GetAdData

指定ポートのADの値を取得する①整数型 PortNum [I] ADポート番号②リスト型 value [O] 値
リストの先頭に整数型の値が格納される。
③リスト型 Time [O] 最終更新時
タイムスタンプ((単位：100ns
1601-01-01 00:00:00を基準とした経過時間))
リストの先頭に整数型の値が格納される。

①
SCR_AD_CHANNEL_0
SCR_AD_CHANNEL_1②値 = ( 0.0000～50.0000(V) ) *③0～0xFFFFFFFFFFFFFFFF

Scr_GetFrameData

UARTへのデータを送信する

3 / 4 ページ

①整数型：CT_result
・指定されたADポートの最新データを取得する。
ctdef.pyのCT_resultを参 ・値は、AD電圧値0V～50Vを1万倍した値が取得で照きる。
・一度も受信していない場合は、戻り値がRET_NOTFOUND、値はNULL、最終更新時タイムスタ
ンプは0となる。

Scr_GetGpiData

指定ポートのGPIの値を取得す ①整数型 PortNum [I] GPIポートる
番号②リスト型 value [O] 値
リストの先頭に整数型の値が格納される。
③リスト型 Time [O] 最終更新時
タイムスタンプ((単位：100ns
1601-01-01 00:00:00を基準とした経過時間))
リストの先頭に整数型の値が格納される。

①
SCR_GPIO_CHANNEL_0
SCR_GPIO_CHANNEL_1
SCR_GPIO_CHANNEL_2
SCR_GPIO_CHANNEL_3②HI(1)、LO(0)③0～0xFFFFFFFFFFFFFFFF①整数型：CT_result
・指定されたGPIポートの最新データを取得する。
ctdef.pyのCT_resultを参 ・値は、HI(1)、LO(0)が取得できる。
照・一度も受信していない場合は、戻り値がRET_NOTFOUND、値はNULL、最終更新時タイムスタ
ンプは0となる。

Scr_GetMultiPacketStatus

MultiPacket状態を取得する①bytearray Data [O] 受信デー
タ

①4095Byteのメモリを確保すること。

①整数型：CT_result・マルチパケット送受信の状態を取得することがctdef.pyのCT_resultを参 できる。
照・先にScr_SendMultiPacketData2()で送受信ポー②整数型 データ有無状態 トの設定を行っておく必要がある。
「MULTI_PACKET_STATE_～」 ・送受信データサイズが4095Byte以上となる環境の定義を参照での動作は保証しない。
0:データがある
・状態は1バッファのみ保持する。Get前に新しい
1:データがない状態に変化すると情報を上書きする。
10:送信エラー(タイムアウ ・本APIをコールすると情報を破棄し、取得内容②
ト)が「1」となる。
11:送信エラー(内部エラー) ・取得内容②が「データがある」と「FC情報」の12:送信エラー(シーケンス 場合のみ取得内容③と引数①は有効。
異常)「30」の時は受信したFCのデータが格納され20:受信エラー(タイムアウ る。
ト)
1Byte目：FS値、2Byte目：BS値、3Byte目：
21:受信エラー(内部エラー) STmin値
22:受信エラー(シーケンス ・FCデータのFS値ごとの挙動は以下となる。
異常)
0:正常な応答であり、APIの動作を継続する。
30:FC情報
1:相手の処理待ち状態であり、処理待ちが解除③整数型 受信データサイズ され次第APIの動作を継続する。
1～4095
2:相手側で受信に失敗した状態であり、TP上はデータがない場合は0
マルチパケット送受信処理は終了する。ただしAPI
としてはデータを受信できる状態でタイムアウト
まで待つ。

Scr_GetResponseMultiPacketS MultiPacketの応答結果を取得 ①bytearray Data [O] 受信デー
tatus
する
タ

①4095Byteのメモリを確保すること。

①整数型：CT_result・マルチパケットの応答結果状態を取得すること
ctdef.pyのCT_resultを参 ができる。
照・先にScr_ResponseMultiPacketData()で送受信②整数型 データ有無状態 ポートの設定を行っておく必要がある。
「MULTI_PACKET_STATE_～」 ・受信データサイズが4095Byte以上となる環境での定義を参照の動作は保証しない。
0:データがある
・状態は1バッファのみ保持する。Get前に新しい
1:データがない状態に変化すると情報を上書きする。
10:送信エラー(タイムアウ ・本APIをコールすると情報を破棄し、取得内容②
ト)が「1」となる。
11:送信エラー(内部エラー) ・取得内容②が「データがある」と「FC情報」の12:送信エラー(シーケンス 場合のみ取得内容③と引数①は有効。
異常)「30」の時は受信したFCのデータが格納され20:受信エラー(タイムアウ る。
ト)
1Byte目：FS値、2Byte目：BS値、3Byte目：
21:受信エラー(内部エラー) STmin値
22:受信エラー(シーケンス ・FCデータのFS値ごとの挙動は以下となる。
異常)
0:正常な応答であり、APIの動作を継続する。
30:FC情報
1:相手の処理待ち状態であり、処理待ちが解除③整数型 受信データサイズ され次第APIの動作を継続する。
1～4095Byte
2:相手側で受信に失敗した状態であり、TP上はデータがない場合は0
マルチパケット送受信処理は終了する。ただしAPI
としてはデータを受信できる状態でタイムアウト
まで待つ。

4 / 4 ページ