1

このテーマに関するいくつかの内部議論の後、私はこれに関するいくつかの他の意見を探していました。単純なシーケンスの場合、いくつかの標準的なラダーロジックを使用して、ラングの開始時にシーケンスステップビットを設定し、ラングを順番にページの下に移動させることができます。ラングの最後にトランジション(通常は、移動したいステップ番号を整数に移動する)を設定でき、順番に並べることもできます。問題は、順番に流れない重要なシーケンスがある場合に発生します。

左側のビット(どのステップにいるのか)が整うようにロジックを整理しますか、それとも右側の動き(トランジション)が整うように整理しますか。複数のステップに移行する場合、1つのステップビットから複数の移動がありますか、それとも1つの移動をトリガーする複数のビットがありますか?

例:

あなたが求めているもの

in 6 and X go to step 10
in 7 and Y go to step 10
in 21 and Z go to step 10

あなたがどのステップにいるかによって順序付けられます

XIC(step.6) and X mov 10
XIC(step.7) and Y mov 10
XIC(step.8)... 
...
XIC(step.21)and Z mov 10

移行順

... mov 9
XIC(step.6)and X,XIC(step.7) and Y),XIC(step.21) and Z mov 10
...mov 11
4

2 に答える 2

1

Sequential Function Chart または Grafcet ダイアグラムを設計ツールとして参照し、そのダイアグラムに基づいてラダー ロジックを実装することを強くお勧めします。SFC の単純な遷移を見ると、STEP に座って、次の遷移条件がシーケンスの次のステップに進むのを待っています。

したがって、遷移条件ロジックとともに、現在の「ステップ」としてラダーロジックを実装し、その遷移条件が真になったときにステップ値を次のステップに設定することをお勧めします。

これの良いところは、ステップ番号を見て、どのステップがそのステップ番号に移行しようとしているかを判断するのではなく、ステップ番号を見るだけで「プログラム」がどのような「状態」にあるかを確認できることです。あなたのシーケンスの状態。

于 2012-08-06T02:57:14.943 に答える
1

最初にこれを見てください: http://en.wikipedia.org/wiki/Sequential_function_chart その wiki ページのイタリア語版に切り替えて、サンプル画像といくつかの説明を追加します。

簡単に翻訳するよりも、最初に一連のステップと遷移で問題を形式化します。

(論理を理解するためだけの疑似言語)

If (STEP_0 = true) AND (transition_0 = true) -> RESET STEP_0 と SET STEP_1

If (STEP_1 = true) AND (transition_1 = true) -> RESET STEP_1 と SET STEP_2

等々..

于 2013-03-30T10:41:04.130 に答える