====== 기본 로직 ======
레더로직을 어떻게 C언어로 표현하는지 알아보겠습니다.
^ ^ 레더로직 표현법 ^ C언어 표현법 ^
| A접점 | {{ :faduino:modularfaduino:examplecode2:ld1.png?nolink |}} | Y01 = X01; |
| B접점 | {{ :faduino:modularfaduino:examplecode2:ncstore.png?nolink |}} | Y01 = !X01; |
| AND | {{ :faduino:modularfaduino:examplecode2:ld2.png?nolink |}} | Y02 = X01 & X02; |
| OR | {{ :faduino:modularfaduino:examplecode2:ld3.png?nolink |}} | Y03 = X01 %%|%% X02; |
| 타이머 | {{ :faduino:modularfaduino:examplecode2:ld4.png?nolink |}} | onTimer(X01,1,100); \\ Y04 = Tstat[1]; |
| 카운터 | {{ :faduino:modularfaduino:examplecode2:ld5.png?nolink |}} | 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);
}
{{ :faduino:modularfaduino:examplecode2:serialmonitor.png?nolink |}}
====== 응용 로직 ======
| 상승에지 | {{ :faduino:modularfaduino:examplecode2:pedge.png?nolink |}} | Y01 = rTrig(X01,0); |
| 하강에지 | {{ :faduino:modularfaduino:examplecode2:nedge.png?nolink |}} | Y01 = fTrig(X01,1); |
| Set상태 유지 | {{ :faduino:modularfaduino:examplecode2:set.png?nolink |}} | if (X01==1) Y01=1; |
| ReSet상태 유지 | {{ :faduino:modularfaduino:examplecode2:reset.png?nolink |}} | if (X01==1) Y01=0; |
AND 상황이 여러개가 있다면, 괄호를 사용하세요.
| {{ :faduino:modularfaduino:examplecode2:and1.png?nolink |}} | Y01 = (X01 %%|%% X02) & X03; |
| {{ :faduino:modularfaduino:examplecode2:and2.png?nolink |}} | Y01 = (X01 %%|%% X02) & (X03 %%|%% X04); |
OR도 마찬가지 입니다.
| {{ :faduino:modularfaduino:examplecode2:or2.png?nolink |}} | Y01 = (X01 & X03) %%|%% (X02 & X04); |
[[..:index|Modular FADUINO]]