사용자 도구

사이트 도구

English

modularfaduino:examplecode2:index

기본 로직

레더로직을 어떻게 C언어로 표현하는지 알아보겠습니다.

레더로직 표현법 C언어 표현법
A접점 Y01 = X01;
B접점 Y01 = !X01;
AND Y02 = X01 & X02;
OR Y03 = X01 | X02;
타이머 onTimer(X01,1,100);
Y04 = Tstat[1];
카운터 counter(X01,0,X02,1,100);

실행가능한 코드로 기술하면 다음과 같습니다.

#include "cfManagedBase.h"
 
void user_setup()
{
}
 
void loop() {
}
 
void logic_proc()
{
  Y01 = X01; 
  Y02 = X01 & X02; 
  Y03 = X01 | X02;
  onTimer(X01,1,100); 
  Y04 = Tstat[1];
  counter(X01,0,X02,1,100); 
}

접점 상태(또는 변수값) 모니터링

다음 커맨드를 사용해서 변수 또는 접점상태를 시리얼 모니터에서 볼 수 있습니다.

  • debug("문자열",변수); "문자열:변수값"형태로 표시해줍니다.
  • 줄바꿈은 debugcr로 사용할 수 있습니다.

접점상태를 시리얼 모니터 창에 표시하도록 해보겠습니다.

#include "cfManagedBase.h"
 
void user_setup()
{
  Serial.begin(115200);
}
 
void loop() {
  debug ("X01",X01);
  debug ("X02",X02);
  debug ("Y01",Y01);
  debug ("Y02",Y02);
  debug ("Y03",Y03);
  debug ("Y04",Y04);
  debugcr;
  delay(100);
}
 
void logic_proc()
{
  Y01 = X01; 
  Y02 = X01 & X02; 
  Y03 = X01 | X02;
  onTimer(X01,1,100); 
  Y04 = Tstat[1];
  counter(X01,0,X02,1,100); 
}

응용 로직

상승에지 Y01 = rTrig(X01,0);
하강에지 Y01 = fTrig(X01,1);
Set상태 유지 if (X01==1) Y01=1;
ReSet상태 유지 if (X01==1) Y01=0;

AND 상황이 여러개가 있다면, 괄호를 사용하세요.

Y01 = (X01 | X02) & X03;
Y01 = (X01 | X02) & (X03 | X04);

OR도 마찬가지 입니다.

Y01 = (X01 & X03) | (X02 & X04);

Modular FADUINO

modularfaduino/examplecode2/index.txt · 마지막으로 수정됨: 2024/11/01 00:44 저자 Comfile Technology