2017-10-02 59 views
-1

私は、大学からの訓練を受けたコンピュータサイエンティストで、私が言うことを序文に書いています。最近のヒューマンマシンインタフェース(HMI)、bar_code Scanner、シーケンシングライトを使用してさまざまな人間の関与と解析データなどを使用するプロジェクトでは、すべてをメインに配置するという従来のPLCプログラミングの問題に遭遇しましたラング。それは40ラインに近づくにつれて、メインラングを通って歩くのがとても刺激的になっていました。私が特定の画面で実行したくないロジックは、毎回同等の画面チェックでブロックしなければならなかった。一般的に、私は伝統的なパターンは私にエラーを与えていたと私のアプリケーションのためにデバッグすることは信じられないほど難しいと考えています。私は人々がより大きなプログラムを持っていることを知っていますが、50-70ラング近く、おそらくはそれ以上に達するプログラムを経験する理由は見当たりませんでした。ステートパターンからPLCプログラミングへのアプローチ

次に、各画面が状態であることに気付きました。特定の画面だけが必要とする専用機能があるため、各画面には実行する必要がある機能があることを反映するようにコードを再構成しました。それは美しく、私が消えてしまったバグは、他の機能に影響を与えない機能を追加することは、何が影響を受けたかについて心配する必要なしに簡単でした。振り返ってみると、私の論理が伝統的なパターンにどのように適用できるかがわかります。しかし、私のプログラムの場合、このパターンは、機能が現在の画面によって制限されているという心の安らぎを持っている間に、メインラングのサイズを抑えたままにすることは難しいと主張しています。

私は画面上で問題が発生した場合、この方法でデバッグすることも非常に効率的でした。最大15の平均ラダーサイズでスクロールし、問題点を簡単に特定できます。グローバル変数のチェックは、新しい画面にジャンプする前に画面の変更が必要な場合に、その状態を必要に応じて変更できるので、迅速かつ効率的です。

私はそれでいっぱいで、伝統的なプラクティスに従うべきか、これは業界に役立つ革新ですか?人々はこれを今行っていますか?あなたはペトリネット、あるいは簡単な状態遷移図に精通している場合あなたの入力 クリス・ジョンソン

答えて

1

については

おかげで、あなたは61131-3's Sequential Function Chart (SFC) language for PLCsで見たいと思うかもしれません。

+0

私は本当にありがとうと申し訳ありませんが、待っていた長い応答です。我々は、シーケンシャルファンクションチャートアプローチを使用して終了し、すべてを修正しました。シーケンシャルファンクションチャートを持つことは、次の入力まで停止しなければならないものを処理するための非常に強力なツールです。 –

+0

素晴らしい。私はあなたが新しいことを理解しています。彼らは、OPが答えをあなたの質問に「答える」ものとして認識するよう勧めます。 – franji1

関連する問題