a1count 및 b1count라는 2 개의 카운터가 있습니다. 코드의 일부는 스테퍼 모터를 제어하는 데 사용됩니다. 모터 드라이버가 1을 반환 할 때마다 회전주기가 완료되고 a1count가 증가한다는 의미입니다. 사이클 동안 어떤 이유로 모터가 스핀을 완료 할 수없는 경우 (실패 조건) 드라이버는 0을 반환하고 b1count가 증가합니다.C#, 조건이 참이 될 때 카운터 재설정
이제 c1count라는 연속적인 실패 조건 계수를 만들려고합니다. b1count가 10이라고 가정하면 messagebox가 팝업됩니다. c1count < = 10이면 오류를 알리는 메시지 상자가 팝업됩니다. 그러나 그 10 개의 카운트 사이에 a1count가 증가하면 c1count를 0으로 재설정하려고합니다. b1count가 1 카운트 증가없이 연속적으로 10에 도달하면 ans는 다시 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# 클래스로'// comments'로 작성한 다음 코멘트 아래에 코드를 둡니다. 우리는 네이티브로 생각한 언어 (예 : 영어)를 사용하여 복잡한 알고리즘을 의사 코드로 작성한 다음에 에세이 계획을 작성하는 것처럼 합리적이기 때문에 C#으로 변환합니다. 에세이 작성하기 –