-1

構造化テキスト言語と命令リスト言語で作成したプログラムのアセンブル コードを見つけるのに苦労しています。書かれたコードのバイナリ コードが見つからず、どの ISA で変換されているかわかりません。これらのバイナリ コードの逆アセンブラを作成しました。

4

1 に答える 1

0

イラが言ったように、あなたのアプローチはかなり間違っていると思います。PLC命令に関する限り、分解するものはほとんどありません。PLC命令(はしご、ILなど)は、最初から直接の機械命令から抽象化されています。ILを見ているときは、基本的にアセンブリ言語の形式を見ています。

実行時間が問題になる場合は、マシンレベルでそれらを最適化するためにできることはほとんどありません。すでにそこで作業しています。アルゴリズム自体が変更する必要があるものです。すべてのPLCマニュアルには、サポートするすべての命令の実行時間がリストされています。ここから、最適化するために検索を開始する必要があります。プログラムを調べて、スキャン時間を浪費しているラングを特定してみてください。特に浮動小数点演算、およびループ(とにかく使用すべきではありません!)は、実行時間を実際に増やすことができる場所です。そこでリファクタリングする方法がないかどうかを確認してください。割り算を掛け算などに変えられますか?

他の可能性は、単にあなたが使用しているPLCがその仕事に適していないということかもしれません。ほとんどのメーカーは、さまざまなベースユニットをさまざまな価格で提供しています。これらのシステム間の実行速度は大幅に異なる可能性があります。私は一連の低コストのPLCユニットを持っています。たとえば、まったく同じファミリのユニットで、最も速い(DL450)は23マイクロ秒でバイナリ除算を実行でき、最も遅い(DL430)は5000マイクロ秒近くかかります。 。DL450は、DL430が2つの分割を実行するよりも短い時間で、(かなり複雑な)スキャン全体を実行します。私はいくつかのオムロンPLCを持っており、1つのDL430分割時にプログラムスキャン全体を完了します。

より高速なベースユニットが必要ですか?

于 2013-02-20T16:45:01.407 に答える