• 検索結果がありません。

ラピッドコントロールプロトタイピング(RCP)による 制御アルゴリズムのテスト

N/A
N/A
Protected

Academic year: 2021

シェア "ラピッドコントロールプロトタイピング(RCP)による 制御アルゴリズムのテスト"

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

ラピッドコントロールプロトタイピング(RCP)による

制御アルゴリズムのテスト

MathWorks Japan アプリケーションエンジニアリング部 (制御) アプリケーションエンジニア 新井 克明

(2)

モデルベースデザインが高機能・多機能化する製品の迅速な開発をサポート

シミュレーションを通した動作・性能検証とコード生成のテクノロジーを活用

制御対象

モデル

制御ロジック

モデル

制御装置試験

制御対象

RCP

MCU/DSP

制御

対象

制御

ロジック

HILS

モデリング

C/HDLコード

自動生成

仕様/実現性を実機レス&低コストで素早く検討

実機テストへの素早いシフト

シームレスな開発環境で素早い製品リリースを可能にします

 複雑な機能と高い信頼性を両立するためのテスト・検証ワークフローを実現します

(3)

RCP: Rapid Control Prototyping

リアルタイムテストの種類について

RCPシミュレータ

制御対象 (実物)

コントローラモデルを

専用HWで模擬

HILS: Hardware-In-the-Loop Simulation

コントローラ (実物)

HILシミュレータ

制御したい対象を

専用HWで模擬

(4)

RCP: Rapid Control Prototyping

汎用性の高いRCPハードウェアを活用して検討したアルゴリズムを素早く実装&テスト

MILS

PCG

シミュレーションによる検討 制御対象実機を活用した コントローラのプロタイピング マイコン向け量産コード生成

実機ベースでの機能・性能検証

自動コード生成&ビルド

アルゴリズムのモデリング / シミュレーションベースの機能・性能検討

実際の制御対象 RCPハードウェア

RCP環境へ実装

アルゴリズムの

再検討

RCP

(5)

実機テストやデータ計測・可視化で活用できるMathWorksの各種ツール

MATLAB&Simulink

Simulink Real-Time™

RCP/HILテスト環境 (ハードウェア・リアルタイム)

Simulink Desktop Real-Time™

簡易実機テスト環境 (ソフトウェア・リアルタイム)

データ収集(DAQ)系ツールボックス

Data Acquisition Toolbox™:DAQカード入出力 Image Acquisition Toolbox™:カメラ入力

Instrument Control Toolbox™:シリアル/イーサネット Vehicle Network Toolbox™:CAN通信

(6)

Simulink Real-Timeの主な機能

簡単なI/Oへのアクセス

ハードウェアアクセス用の

ドライバブロックを提供

ターゲットHW単独で可視化

ターゲットHW単独で

可視化環境を提供

適合・測定用GUI マルチコア実行 FPGA実装による高速化

パラメータ調整・信号測定用

GUIを標準で提供

サンプリング時間ごとに

タスクとしてコア分散実行

HDL Coderで

高速演算部分を実装

アプリケーションの配布

適合用GUI含めた

実行環境の配布

テストの自動化

Simulink Testで

テストシナリオを自動実行

バイパス開発の環境

XCPで開発用ECUへの

アルゴリズムを追加実装

FPGA

プロセッサ

Core 1 Core 2 本開発環境 テスト 環境1

RCP

ECU

テスト 環境2

(7)

アジェンダ

ラピッドコントロールプロトタイピング(RCP)による制御アルゴリズムのテスト

-

RCP環境の構築例

モデルのビルド・実行の基本的な手順

信号のモニタリング/ロギングとパラメータのチューニング

テスト信号の入力方法

専用ハードウェアSpeedgoatの紹介

ハードウェアのバリエーション

サポートしている主なIOと通信プロトコル

FPGAボードへのアルゴリズムの実装

FPGAボードの活用ケース

FPGA実装のワークフローの紹介

まとめ

(8)

アルゴリズムとドライバブロックを

信号線で接続します

モデルのビルド・実行の手順

ハードウェアに搭載されたIOボードに

対応する設定用ブロック・ドライバブ

ロックをモデルに配置します

設定用ブロック・ドライバブロックからダイアログを開いて

I/Oに関する各種設定を行います

1

Driver blocks Simulink Model

1

2

2

Dialog Fields

3

3

4

Connect to real-time application

ビルドボタンを押してコード生成およびビルドを行います

ビルド後、アプリケーションは自動的にダウンロードされ、

すぐに実行可能な環境が整います

4

(9)
(10)

Simulink Real-Timeの信号のモニタリング方法

Simulink Real-Time Explorer

Instrument パネル等を利用してモニタリング環境を作成

Simulation Data Inspector

Simulink標準の信号ビューワーへストリーミング

MATLAB

コマンドラインで信号を取得 & カスタムGUIとして統合

tg = slrt;

sid = getsignalid(tg, 'Gain1');

getsignal(tg, sid)

ターゲットディスプレイ

(11)

Simulink Real-Timeの信号のロギング

File Scopeを使ったHDDへのロギング

専用Scopeブロックで指定した信号をHDD/RAMに保存

Simulation Data Inspectorでのデータのエクスポート

Simulation Data Inspectorでモニタリングしたデータを

ワークスペースやMATファイルに保存

(12)
(13)

パラメータのオンラインでのチューニング

RCPテスト中にSimulink Real-Time Explorerからパラメータの変更が可能です

[Applications]ペーン → [Model Hierarchy] → 右クリック[View Block Parameters]

表示するパラメータの

フィルタリングもできます

ハードウェアから

値を取得

ハードウェアへ

値を送信

パラメータの設定

よく利用するパラメータはリストとして別ファイルで管理

– グループ作成: [Groupings] → 右クリック[New Parameter Group]

(14)

RCPハードウェアでのテストシグナルの作成

Simulinkの標準ブロックを使ったテスト信号の作成・入力が可能です

Inportブロック

 トップレイヤに配置することでワークスペースの時系列データをアサインできます

各種Sourceブロック

Simulink Test™のTest Sequenceブロックで動的なテスト信号を作成できます

2秒まで傾き1の単調増加 3になれば、傾き6の単調減少 2秒以降gearが3になるまで 傾き2の単調増加 外部 信号

処理内容

シーケンスの

遷移条件

遷移先の

シーケンス

テスト 信号

(15)

アジェンダ

ラピッドコントロールプロトタイピング(RCP)による制御アルゴリズムのテスト

-

RCP環境の構築例

モデルのビルド・実行の基本的な手順

信号のモニタリング/ロギングとパラメータのチューニング

テスト信号の入力方法

専用ハードウェアSpeedgoatの紹介

ハードウェアのバリエーション

サポートしている主なIOと通信プロトコル

FPGAボードへのアルゴリズムの実装

FPGAボードの活用ケース

FPGA実装のワークフローの紹介

まとめ

(16)

Simulink Real-Timeの実行用プラットフォーム Speedgoat

MathWorks/Speedgoatの2社体制でソリューションを提供

– MathWorks: ソフトウェア (Simulink Real-Time) の開発

Speedgoat: ハードウェア (Speedgoat) の開発

MathWorksのグループ企業 (本社: スイス・ベルン)

Simulink Real-Time向け筐体・IOボードの開発に特化

(17)

Speedgoatのハードウェアバリエーション

Performance

Mobile

Baseline

プロセッサ Intel Core i7 3.5GHz (4 core) メモリ/HDD 4GB / 64GB-SSD

用途/特徴

プロセッサ Intel Core i7 2.5GHz (2 core) メモリ/HDD 4GB / 64GB-SSD

用途/特徴

プロセッサ Intel Quad Core 2GHz メモリ/HDD 4GB / 64GB-SSD 用途/特徴 • 小型のエントリーモデル • RCP用途 (バイパス開発) • コンパクトなハードウェア構成 19cm(幅)×19cm(奥行)×8cm(高さ) (拡張スロット無しの場合のサイズの目安) • フィールド・車載テスト向けハードウェア • RCP用途 • 省スペース/CPUパフォーマンスのバランス型 • ファンレス仕様 • ラボ向け据え置き型筐体 • HIL/RCP用途 • ハイスペックなプロセッサを活用して 演算負荷の大きいプラントモデルを実行

(18)

I/Oについて

Analog

A/D, D/A, frame support

Digital

TTL, LVCMOS, LVDS, RS422, RS485

Pulse Train

PWM生成・キャプチャ、割り込み, negation

Encoders

アブソリュートエンコーダおよびインクリメンタルエンコーダの測定/シミュレーション

(quadrature および SSI), EnDAT 2.2, SSI2, SPI, BiSS エンコーダの測定

Video

USB (Webcams), CameraLink

LVDT/RVDT,

Synchro/ Resolver

LVDT, RVDT, シンクロ, およびレゾルバの測定/シミュレーション

Shared Memory

シェアード/リフレクティブメモリ

Fault Insertion

故障挿入のための電気機械式もしくは半導体スイッチ

Temperature

熱伝対, 測温抵抗体 (RTD), NTCサーミスタの計測/シミュレーション

Strain, Pressure

ひずみゲージ, 圧力センサの測定/シミュレーション

Accelerometers

アンプ内蔵型加速度センサ (IEPE/ICP) の測定

Resistors

抵抗器, ポテンショメータ, リードリレー (SPDT, DPST, SPST) のシミュレーション

(19)

産業オートメーション

 Profinet Controller (Master)  Profinet Device (Slave)

 Modbus/TCP Client (Master)  Modbus/TCP Server (Slave)  Modbus RTU  Profibus Master  Profibus Slave  EtherCAT Master  EtherCAT Slave  EtherNet/IP Scanner  EtherNet/IP Adapter 自動車  XCP Master/Slave (CANape/INCA)  CAN / SAE J1939  LIN 2.1  FlexRay  Cam / Crank 航空宇宙  ARINC 429  ARINC 629  ARINC 664P7/AFDX  MIL-STD-1553 一般的な製品開発  Serial RS232, RS422, RS485, SDLC, HDLC  UDP / TCP  CAN / SAE J1939  SPI Master and Slave  I2C Master and Slave

 Shared/reflective memory (ScramNet GT / 5565PIORC)  IRIG with GPS

 Precision Time Protocol (PTP)

(20)

アジェンダ

ラピッドコントロールプロトタイピング(RCP)による制御アルゴリズムのテスト

-

RCP環境の構築例

モデルのビルド・実行の基本的な手順

信号のモニタリング/ロギングとパラメータのチューニング

テスト信号の入力方法

専用ハードウェアSpeedgoatの紹介

ハードウェアのバリエーション

サポートしている主なIOと通信プロトコル

FPGAボードへのアルゴリズムの実装

FPGAボードの活用ケース

FPGA実装のワークフローの紹介

まとめ

(21)

FPGA-based I/O Modules

主なIOボードの種類

IO342 - PCIe

- Xilinx Kintex UltraScale FPGA (1450k)

- 5520 DSP slices - 8 GB DDR4 RAM - Two FMC slots

IO333 – XMC

- Xilinx Kintex-7 FPGA (325k or 410k)

- Flexible front I/O connectivity - front SFP cages e.g. for Xilinx

Aurora or 10Gbe UDP communication

IO397 - mPCIe

- Xilinx Artix-7 (50k) - 4x ADC - 4x DAC - 14x TTL, configurable

(22)

Speedgoat FPGAベース I/O モジュール

FPGAボードの2種類の利用方法

1. Configurable FPGA I/O Modules:

Speedgoat社がIOドライバを提供

PWM 生成およびキャプチャ

インクリメンタル/アブソリュートエンコーダ

SPI / I2C 通信

..etc

IO設定ファイルを変更するだけでI/Oの切り替えが可能

2. Programmable FPGA I/O Modules:

HDL Coderを利用するアプローチ

ユーザーがFPGAモジュールをプログラミング

ユーザー独自のIOドライバ作成

モデルのアルゴリズムの部分も

FPGA上で高速実行したいケースで利用

100 kHz

and more

モデルの実行は通常の プロセッサで演算します (サンプル時間: ~20kHz程度) 高速実行が必要な サブシステムを FPGA上で演算します (サンプル時間: 100kHz~)

(23)

フレキシブルなI/Oモジュールとしての運用

Configurable FPGA I/O Modules

-

I/O設定用MATファイルを指定によりIOの仕様を切り替えが可能です

I/O設定用MATファイルはお客様の要求仕様をベースにSpeedgoat社が作成します

HDL CoderおよびXilinxのツールチェーンは不要です

(24)

Configurable I/O Modules

I/O module Functionality Rear I/O lines Form factor

IO306, 25k 64 x TTL none PMC

IO307, 25k 32 x TTL, 16 x RS422 none PMC

IO316, 45k, 100k 64 x TTL 64 x LVCMOS or 32 LVDS 3x MGT

Selectable rear plug-ins

XMC

IO317,45k, 100k 32 x TTL, 16 x RS422 64 x LVCMOS or 32 LVDS 3x MGT

Selectable rear plug-ins

XMC

IO318, 45k, 100k 32 x RS422 64 x LVCMOS or 32 LVDS 3x MGT

Selectable rear plug-ins

XMC

IO322, 45k 32 x TTL, 16 x RS422 64 x LVCMOS or 32 LVDS 3x MGT

Selectable rear plug-ins

XMC

IO381, 44k 26 x TTL none mPCIe

IO383, 44k 14 x TTL and 6 x RS422 none mPCIe

IO33X rear plug-ins

I/O functionality

IO33X-21 Converts rear I/O lines from LVCMOS to 3.3V/5V TTL IO33X-22 Converts the rear

I/O lines from

LVCMOS to RS422, RS485 and 3.3V/5V TTL

(25)

HDL Coder™を活用することで高速演算を必要とするシステムをFPGAで処理できます

ユーザー独自のデバイスドライバの作成

プロセッサでの処理では演算が間に合わないMHzオーダーの高速演算への適用

アルゴリズム実行の高速化手段としての運用

Programmable FPGA I/O Modules

-① モデルもしくは既存のnetlistを利用して FPGAモジュール(インターフェイス)を生成 ② 生成したFPGAモジュールと プロセッサ演算側のモデルと接続 ③ ブロック全体をまとめてビルド&ターゲットへダウンロード <プロセッサ側処理部> <FPGA側処理部>

(26)
(27)

Programmable FPGA I/O modules

I/O module

FPGA Front I/O Rear digital I/O

IO323 Spartan 6, 100K 32 x TTL, 16 x RS422 64 x LVCMOS or 32 LVDS 3x MGT

Selectable rear plug-ins IO331 Spartan 6, 150K -1 to -8 front plug-ins 64 x LVCMOS

MGT

Selectable rear plug-ins IO333 Kintex 7,

Up to 410K -1 to -8 front plug-ins- SFPs 64 x LVCMOS8x MGT

Selectable rear plug-ins IO335 Kintex 7, 325K 24 x 5 MHz ADC, +/- 5V

03 x LVDS

64 x LVCMOS MGT

Selectable rear plug-ins IO342 Kintex Ultrascale,

1.45K Selectable plug-ins - SFPs Selectable plug-ins MGT IO33X

front plug-ins I/O functionality

IO33X-1 64 x digital TTL (3.3V/5V) I/O front I/O lines

IO33X-1LV 64 x digital LVCMOS (2.5V)/ LVTTL (3.3V) front I/O lines

IO33X-2 30 x RS485 (RS422 compliant) front I/O lines

IO33X-3 16 x CMOS (5V) and 22 RS485 (RS422 compliant) front I/O lines

IO33X-4 30 x LVDS I/O lines

IO33X-5 2 x 16-bit 105 MHz differential simultaneous analog inputs

IO33X-6 16 x 16-bit 500kHz ADs, 8 x 16-bit DAs with 10us settling time, 16 x digital TTL I/O lines

IO33X-7 16 x 16-bit analog outputs with 2us settling time, +/- 10V

IO33X-8 8 x 16-bit analog outputs with 2us settling time, +/- 10V

IO33X rear conditioning modules

I/O functionality

IO33X-21 Converts rear I/O lines from LVCMOS to 3.3V/5V TTL

IO33X-22 Converts the rear I/O lines from

(28)

アジェンダ

ラピッドコントロールプロトタイピング(RCP)による制御アルゴリズムのテスト

-

RCP環境の構築例

モデルのビルド・実行の基本的な手順

信号のモニタリング/ロギングとパラメータのチューニング

テスト信号の入力方法

専用ハードウェアSpeedgoatの紹介

ハードウェアのバリエーション

サポートしている主なIOと通信プロトコル

FPGAボードへのアルゴリズムの実装

FPGAボードの活用ケース

FPGA実装のワークフローの紹介

まとめ

(29)

MathWorksのツールチェーンでシンプルにRCP環境を構築できます

様々なツールの互換性を気にせず、Simulinkをベースにスムーズに実機テストを行えます

MATLAB&Simulinkの最新機能といち早く連携が可能です

MATLAB Coder HDL Coder Simulink Real-Timeの 標準機能 専用HW Speedgoat (プロセッサボード+IOボード) FPGA搭載IOボード MATLAB&Simulink および SLRT Explorer (Simulink Real-Time付属の測定/適合用GUI) Simulink Test (テストシナリオ作成・管理用オプション) Simulink MATLAB

データモニタリング・パラメータ適合

モデルのリアルタイム実行

他社製適合ツールおよび ユーザー独自アプリケーション Simulink Coder

モデリング

Simscape Stateflow

(30)

ご興味のあるお客様は是非MathWorksにお問い合わせ下さい

環境構築のご検討の際にはMathWorksにご相談下さい

シミュレーションだけでなく、

実機テストフェーズでも

MATLAB&Simulinkを

是非ご活用下さい!

<お問い合わせ先>

御社営業担当 または MathWorksウェブサイト

http://jp.mathworks.com/company/aboutus/contact_us/index.html

MATLAB&Simulinkはじめ各種ツール:

トライアルライセンス(1ヶ月)でご評価いただけます

Simulink Real-Time:

評価用ハードウェアのお貸し出しが可能です

(31)

Accelerating the pace of engineering and science

© 2017 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See

www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be

参照

関連したドキュメント

船舶の航行に伴う生物の越境移動による海洋環境への影響を抑制するための国際的規則に関して

手動のレバーを押して津波がどのようにして起きるかを観察 することができます。シミュレーターの前には、 「地図で見る日本

・蹴り糸の高さを 40cm 以上に設定する ことで、ウリ坊 ※ やタヌキ等の中型動物

また、 NO 2 の環境基準は、 「1時間値の1 日平均値が 0.04ppm から 0.06ppm までの ゾーン内又はそれ以下であること。」です

○事業者 今回のアセスの図書の中で、現況並みに風環境を抑えるということを目標に、ま ずは、 この 80 番の青山の、国道 246 号沿いの風環境を

□公害防止管理者(都):都民の健康と安全を確保する環境に関する条例第105条に基づき、規則で定める工場の区分に従い規則で定め

□公害防止管理者(都):都民の健康と安全を確保する環境に関する条例第105条に基づき、規則で定める工場の区分に従い規則で定め

洋上環境でのこの種の故障がより頻繁に発生するため、さらに悪化する。このため、軽いメンテ