私はa1countとb1countという2つのカウンタを持っています。 コードの一部は、ステッピングモータの制御に使用されます。 モータドライバが1を返すと、回転サイクルが完了し、a1countがインクリメントされたことを意味します。 サイクル中に何らかの理由でモータがスピンを完了できなかった場合(失敗条件)、ドライバは0を返し、b1countがインクリメントされます。今イムが連続を作成しようとC#、条件が真になったときにカウンタがリセットされる
がポップアップしますメッセージボックスをc1count = 10 <はその後、メッセージボックスにエラーを通知するポップアップする場合と仮定するb1countが10に到達したと言う場合c1countと呼ばれる状態数を失敗します。しかし、これらの10カウントの間にa1countがインクリメントされている場合、c1countを0にリセットしたい場合は、a1カウント増分なしでb1countが10に連続してカウントを開始します。
これは私が今持っているものです。
public int a1count = 0;
public int b1count = 0;
public int c1count=0;
if (ethernetIPforSLCMicroCom1.Write("N7:70") == 1)
{
a1count += 1;
}
else if (ethernetIPforSLCMicroCom1.Write("N7:70") == 0)
{
b1count += 1;
}
/* Im trying to create a consecutive fail condition count called c1count
which will pop-up a messagebox if say suppose b1count reaches 10.
If c1count <= 10 then a messagebox pops up notifying the error.
However, if in between those 10 counts, a1count is incremented then
I want to reset c1count to 0, ans start counting to 10 again if
b1count reaches 10 consecutively without a1count increment.*/
c1count = b1count;
if (c1count <= 10)
{
MessageBox.Show("Consecutive Rejection Occured);
ethernetIPforSLCMicroCom1.Write("B3:11/6", "1");
}
助けてください!
これまでに何を試みましたか? – PaulF
最小限の実行可能コードの例を表示します。これは基本的なものですが、それはあなたの答えをあなたに与える可能性があります – BugFinder
あなたは質問にあなたのプログラムのロジックを書いています。それをac#クラスで書くと、コメントの下にコードが置かれます。私たちがネイティブに考えている言語(例えば英語)を使って複雑なアルゴリズムを疑似コード化してから、C#に変換します。エッセイを書く –