Skip to main content

例: CANbus

製品: CODESYS できる

説明

CANBusAPI.library ライブラリを使用すると、CANbus 機能を簡単に使用できます。このライブラリは、ST のオブジェクト指向プログラミングおよび CFC などのグラフィカル プログラミング向けに最適化されています。ライブラリは、 CAN Bus Low Level システムライブラリ。

このライブラリを使用すると、CANbus の機能を簡単に使用できます。に基づいています。 CANbus システムライブラリ。と一緒に CANBusAPI.library ライブラリ、サンプル アプリケーションが提供されます。このアプリケーションには、ライブラリの使用方法を示す、異なる実装 (ST ではオブジェクト指向、CFC ではグラフィカル) を持つ 2 つのプログラムが含まれています。

追加情報

CANBusAPIExample.project サンプル プロジェクトには 2 つの実装が含まれています。1 つは ST で、もう 1 つは CFC です。どちらも、特定の CAN テレグラムを受信および再送信する方法を異なる方法で実装しています。

タスク構成で、2 つのプログラムのいずれかの呼び出しを追加します (CFC_PRG ST_PRG) を選択し、アプリケーションをコントローラーにダウンロードします。アプリケーションを起動します。ここで、適切な ID を持つ CAN テレグラムを生成すると (たとえば、 0x500) 外部デバイスからの電文は処理され、変更された ID で送信されます。

STの例

このプログラムはすべての受信メッセージを受信し、CAN-ID +1 を付けてエコーバックします。

MsgProcessor_EchoST: ファンクション ブロックは CAN.IMessageProcessor インターフェース。の ProcessMessage メソッドはすでに実装されています。このメソッドでは、受信したメッセージの CAN ID が 1 ずつインクリメントされ、CAN ドライバーに書き戻されます。

ST_PRG: プログラムは CAN ドライバーを次のように設定します。 DEVICE_CONFIG を構造化し、インスタンスを生成します。 MsgProcessor_EchoSTMaskReceiverMaskReceiver 周期的にではなく、1 回だけ生成される必要があります。それ以外の場合は新しい MaskReceiver 呼び出しごとに生成されます。の MaskReceiver すべてのメッセージを一緒に受信できるように構成されています。その後、すべてのメッセージが自動的に ProcessMessage の方程式 MessageProcessor

CFC の例

このプログラムは、CAN ID 範囲内のすべてのメッセージを受信します。 16#50016#550 そして、CAN-ID+1 でエコーバックします。

MsgProcessor_EchoST: を実装します。 CAN.IMesageProcessor インターフェース。の ProcessMessage メソッドはすでに実装されています。このメソッドでは、受信したメッセージの CAN ID が 1 ずつインクリメントされ、CAN ドライバーに書き戻されます。

CFC_PRG: プログラムは CAN ドライバーを次のように設定します。 DEVICE_CONFIG を構造化し、インスタンスを生成します。 MsgProcessor_EchoSTAreaReceiver。の AreaReceiver からの CAN ID 範囲内のすべてのメッセージを受信するように設定されています。 16#50016#550。受信したメッセージは自動的に ProcessMessage の方程式 MessageProcessor。さらに、 CANBusDiagnosis CAN ドライバーの状態を監視する機能ブロック。

ファンクションブロックの詳細については、パッケージに含まれる PDF ファイルを参照してください。

システム要件と制限事項

プログラミングシステム

CODESYS Development System (バージョン 3.5.6.0 以降)

ランタイムシステム

CODESYS Control Win (バージョン 3.5.6.0)

アドオンコンポーネント

-

注記

_example_icon.png ダウンロード 計画