Skip to main content

アプリケーションでの診断

The PROFINET コントローラには、診断データ用の内部バッファが装備されています。この「シャドウイングデータベース」は、デバイスから送信されたアラームと接続を確立するための非周期的サービスによって、バックグラウンドで常に更新されます(ユーザーには透過的です)。このようにして、最小限の遅延で、すべてのデバイスの実際の診断ステータスがホストアプリケーションにミラーリングされ、いつでもそこで評価できます。代わりにまたは追加で、アプリケーションは個々のアラームを受信できます(CommFB.RALARM)または診断データを再読み込みします(CommFB.RDREC)。

のAPI ProfinetCommonCommFB ここで説明するライブラリは、 CODESYS PROFINET スタックとCIFXソリューション。ただし、個々のサービスはCIFXソリューションによって完全には実装されていません(データシートを参照)。コード例については、以下にリストされている機能ブロックのライブラリドキュメントを参照してください。

デバイス機能ブロック

それぞれについて PROFINET デバイスツリーのデバイスには、デバイスの接続または構成ステータスに関する基本情報を提供する機能ブロックが作成されます。たとえば、診断エントリを要求したり、モジュール構成を逸脱したりします。

_pnio_img_device_fb.png

同様に、コントローラの機能ブロックインスタンスも作成され、の動作ステータスに関する情報を提供します。 PROFINET コントローラ。

詳細については、以下を参照してください。 IoDrvProfinet.ProfinetControllerIoDrvProfinet.PNSlave

プロバイダーとコンシューマーのステータス

このステータス情報は、常にI / Oデータとともに転送されます。に追加することができます CODESYS それぞれのモジュールのI / Oマッピング。

アラーム

によって送信されるアラーム PROFINET デバイスは、 CommFB.RALARM ファンクションブロック。情報を評価するためのコード例については、ライブラリのドキュメントを参照してください。 ProfinetCommon.DiagnosisDataReader

デバイスとサブモジュールのステータス

の出力への直接アクセスに加えて、 デバイス機能ブロックを使用する可能性もあります。 ProfinetCommon.DeviceIterator POU は、コントローラー用に設計されたすべてのデバイスを反復処理します。

同様に、 ProfinetCommon.SubmoduleIterator POUは、 PROFINET デバイスと個人を評価するため ProfinetCommon.SubmoduleState

診断バッファー(診断シャドウイング)

とともに ProfinetCommon.DiagnosisDataBuffer POUは、コントローラーの「シャドウイングデータベース」にローカルにバッファリングされているデータを呼び出すことができます。

あるいは、 ProfinetCommon.GetSubmoduleDiagnosis() サブモジュール診断を取得する この関数は、単一のサブモジュールのすべてのバッファリングされた診断エントリを照会するためにも使用できます。

エラーコードと診断テキスト

数値 PROFINET エラーコード(ErrorCode そして ExtErrorCode) は、上記の関数および関数ブロックを使用して呼び出すことができます。アプリケーションで対応するテキスト記述が必要な場合 (たとえば、視覚化で表示する)、これらのテキスト記述を個別にダウンロードする必要があります。詳細については、以下を参照してください。 コマンド: 追加PROFINET診断リソース