====== 기본 로직 ====== 레더로직을 어떻게 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]]