例: 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_EchoST
と MaskReceiver
。 MaskReceiver
周期的にではなく、1 回だけ生成される必要があります。それ以外の場合は新しい MaskReceiver
呼び出しごとに生成されます。の MaskReceiver
すべてのメッセージを一緒に受信できるように構成されています。その後、すべてのメッセージが自動的に ProcessMessage
の方程式 MessageProcessor
。
CFC の例
このプログラムは、CAN ID 範囲内のすべてのメッセージを受信します。 16#500
に 16#550
そして、CAN-ID+1 でエコーバックします。
MsgProcessor_EchoST
: を実装します。 CAN.IMesageProcessor
インターフェース。の ProcessMessage
メソッドはすでに実装されています。このメソッドでは、受信したメッセージの CAN ID が 1 ずつインクリメントされ、CAN ドライバーに書き戻されます。
CFC_PRG
: プログラムは CAN ドライバーを次のように設定します。 DEVICE_CONFIG
を構造化し、インスタンスを生成します。 MsgProcessor_EchoST
と AreaReceiver
。の AreaReceiver
からの CAN ID 範囲内のすべてのメッセージを受信するように設定されています。 16#500
に 16#550
。受信したメッセージは自動的に ProcessMessage
の方程式 MessageProcessor
。さらに、 CANBusDiagnosis
CAN ドライバーの状態を監視する機能ブロック。
ファンクションブロックの詳細については、パッケージに含まれる PDF ファイルを参照してください。
システム要件と制限事項
プログラミングシステム | CODESYS Development System (バージョン 3.5.6.0 以降) |
ランタイムシステム | CODESYS Control Win (バージョン 3.5.6.0) |
アドオンコンポーネント | - |
注記
ダウンロード 計画