10

私たちは皆、オブジェクト指向システムをテストするさまざまな方法を知っています。ただし、PLC のラダー ロジックを扱うプロジェクトを行う予定のようです (聞かないでください:/)。システムの有効性をテストする良い方法があるかどうか疑問に思っていました。

私がこれまでに目にした唯一の方法は、システムのすべての既知の状態と生成される出力状態を含む巨大なテーブルを単純に構築することです。これは、単純な「入力 A がオンの場合、出力 B をオンにする」場合に適しています。ただし、これはより複雑な構造では機能しないと思います。

4

5 に答える 5

5

IC設計分野での「論理」システムの検証は「設計検証」と呼ばれ、ハードウェア(RTL)で設計するシステムが目的の機能を実装していることを確認するプロセスです。

ラダーロジックは、Verilogのような最新のHDLの1つに変換できます。各ラダーを変換します。

|---|R15|---+---|/R16|---------(R18)--------|
|           |
|---|R12|---+

のような表現に

always @(*) R18 = !R16 && ( R15 | R12);

または、assignステートメントを使用できます

assign R18 = R16 && (R15 | R12); 

ラッチングリレー

assign R18 = (set condition) || R18 && !(break condition);

次に、 Icarusなどの無料のVerilogシミュレーターを使用して、テストベンチを開発し、システムをテストします。あなたがテストケースであることを確認してくださいあなたのロジックの良いCODEカバレッジを与えてください!また、ラダー編集ソフトウェアで適切な命名機能が提供されている場合は、Rnnではなくそれらを使用してください。

(注:PLC規則のラダーロジックでは、Rnnは内部リレー用であり、Xnnは入力であり、Ynnは出力であり、オンラインチュートリアルの1つからすばやく収集できます。

Verilogは、テストやテストベンチを開発するためのより簡単な言語になります。

一部のユニット遅延でプログラムすると役立つ場合があります。

申し訳ありませんが、Verilogトランスレータとの間のラダーロジックを探したことはありません。しかし、私の時代のラダーロジックは、PLCをプログラミングするためにコンピュータに挿入されただけでした。使用したリレーシステムのほとんどは、キャビネットに配線されたREALリレーでした。 !!

幸運を。jbd

無料で利用できるラダーロジックエディタ(シミュレーター付き)がいくつかあります。これは、おそらくWindowsで実行されるものです。

http://cq.cx/ladder.pl

于 2008-09-16T10:41:08.060 に答える
2

RockwellControlLogixコントローラーのテストカバレッジツールを試しました。ほとんどの手続き型言語テストカバレッジツールは、ブランチカバレッジなどを実行します。リレーラダーロジックは通常分岐しないため、これはあまりうまく機能しません。

プロトタイプを作成したのは、ロックウェルコントローラーのRLLコードのMC / DC(変更/条件/決定カバレッジ)です。これにより、ラングの各条件について、その条件がTRUEとしてテストされたか、FALSEとしてテストされたか、さらに重要なことに、条件がラングでの決定の出力を制御している場合(少なくとも決定によって制御されているアクション)、いくつかのテストで真と偽の両方の方向になります。

この作業は、必要なデータを収集するための追加のロジックを使用してRLLコードをインストルメント化するために使用されるDMSと呼ばれる汎用プログラム分析および変換ツールを使用して行われ ます。

ユニットテストをコーディングする必要があります。これを行う最も簡単な方法は、別のPLCを、制御する予定の機械的ハードウェアの代わりとして機能させ、別のRLLプログラムを作成して最初のプログラムを実行することです。

于 2009-09-02T04:22:10.960 に答える
0

小さな PLC プログラムでは、テスト プログラム (またはサブルーチン、またはラダー ファイル) がプロジェクトに記述され、プロジェクトがエミュレートされているときにのみ実行されることがあります。このファイルには、出力が通電されたときにフィードバックに関連付けられた入力をオンにするという簡単なロジックが含まれています。その後、接続されている HMI を介して PLC を制御し、コードが期待どおりに動作することを確認できます。ソフトウェアを実際のサイトにダウンロードするときは、テスト プログラムを無効にするか削除することが非常に重要です。これは、現実の世界では非常に奇妙なことを行う可能性があるためです。

大規模なプロジェクトでは、各デバイスに少し似たようなシミュレーション モードがあります。http://www.batchcontrol.com/s88/01_tutorial/06-modules.shtml

これは OO 言語のテスト フレームワークを使用するようなものではありませんが、PLC のテスト駆動型開発や自動化されたテストを実際に見たことがありません。

于 2011-09-29T01:08:23.333 に答える
0

ラダーロジック用の IO シミュレータを備えた LogixPro というプログラムがありますので、それを試すことができます。

于 2009-03-28T16:52:33.443 に答える