特長
- ANSI C 対応の CANopen ソースコードスタック
- MISRA-C 準拠
- CiA301 のすべての CANopen サービスをサポート
- レイヤーセッティングサービス(LSS)CiA305 を含む
- その他の規格向け拡張機能が利用可能
- 多くの CAN コントローラーや CPU で使用可能
- 分かりやすいユーザーインターフェース
- 広範囲にわたる設定と拡張が可能
各種スタック(スレーブ、マスター/スレーブ、マネージャー)が対応する機能と、サポートしているサービスについては次のリンク先を参照してください。
対応するコントローラー 詳細機能
動作のしくみ
CANopen Slave Stack には標準のサービスに加えて、冗長通信(CiA302)、安全関連通信(CiA304)、ジェネリック I/O モジュール(CiA401)のようなデバイスプロファイル実装など、追加の通信プロファイル向けの拡張機能があります。
フレキシブルなユーザーインターフェースには、受信データの評価、ネットワーク上で CANopen サービスを使用するための機能が備わっています。
ドライバーインターフェースは、CANopen Slave Stack をさまざまな CAN コントローラーや CPU と接続することを想定して定義されています。そのため、新しい CAN コントローラーや CPU にも簡単に対応できます。また、ほんの少しの作業でハードウェアの置き換えも可能です。CANopen Slave Stack は、ThreadX、FreeRTOS、Keil RTX、または TI-RTOS といったさまざまなリアルタイム OS 上で使用可能であり、同様に Linux(SocketCAN、can4linux)や QNX、さらには Windows 向けのリアルタイム拡張上でも使用することができます。
関数 API に加えて、マルチスレッド、マルチタスクで使いやすいメールボックス API も備わっています。アプリケーションモジュールと CANopen Stack 間のメッセージは、関数コールではなくメールボックスを経由して送られるため、ノンブロッキング通信が保証されます。1つのアプリケーションを、CANopen Stack を並列で使用する複数のタスクから構成することも可能です。
リソースを節約するために、CANopen Slave Stack は広範囲に設定、拡張できるようになっています。それらの設定は、グラフィカルな設定ツールである CANopen DeviceDesigner で行います。CANopen DeviceDesigner では、内蔵のデータベースを使用してオブジェクトディクショナリーや EDS ファイルの生成もできます。そのため、変更点がすばやく簡単に反映され、開発時間の短縮を図ることができます。
CANopen Stack をできるだけ簡単に使い始めることができるよう、すぐに使用できるサンプルが提供されます。さらに、スタックの仕組みや使用事例を説明するユーザーマニュアルや、各 API 機能を詳しく解説するリファレンスマニュアルが製品に同梱されています。CANopen Conformance Test による仕様準拠の確認は定期的に行われています。
CANopen プロファイル
CANopen では数多くのデバイスやアプリケーションのプロファイルが定義されており、その中で、対象となるデバイスのインターフェースや動作が規定されています。そのようなプロファイルの機能をサポートし、アプリケーションに対してデータやイベントをあらかじめ規定された方法で提供するための拡張機能をご用意しています。現在提供しているプロファイルの拡張機能は次のとおりです。
- CiA 401 - 汎用 I/O モジュール
- CiA 402 - ドライブとモーションコントロール
- CiA 404 - 測定デバイスとクローズドループコントローラー
- CiA 406 - エンコーダー
- CiA 413 - トラック用ゲートウェイ
- CiA 418 - バッテリーモジュール
- CiA 419 - バッテリーチャージャー
- CiA 437 - グリッドベース太陽光発電システム
- CiA 443 - 海中用機器(SIIS Level 2 デバイス)
- CiA 447 - 特殊車両用アドオンデバイス(タクシー、警察車両など)
- CiA 454 - 軽電気車両などにおけるエネルギー管理システム(EnergyBus)
さらに前述のように、ほかのプロファイル向けの CANopen アプリケーションも、CANopen Slave Stack を使用して開発することができます。