====== SR과 RS플립플롭 ====== 플립플롭은 1비트의 상태를 기억하는 회로인데, CODESYS에선 RS플립플롭과 SR플립플롭 펑션블록을 지원합니다. 기본적인 사용법과 더불어 둘 사이의 차이점이 무엇인지 알아보겠습니다. {{ :codesysmanual:srrs1.png?nolink |}} 두개 모두 논리표는 동일합니다. {{ :codesysmanual:srlogic2table.png?nolink |}} SR펑션블록의 ST코드 소스 Function_Block SR Var_Input S1, R : BOOL; End_Var Var_Output Q1 : BOOL; End_Var Q1 := S1 OR (Q1 AND NOT S); End_Function_Block RS펑션블록의 ST코드 소스 Function_Block RS Var_Input S, R1 : BOOL; End_Var Var_Output Q1 : BOOL; End_Var Q1 := (Q1 OR S) AND NOT R1 End_Function_Block 동작을 확인하기 위해서 다음과 같이 Visualization을 작성했습니다. {{ :codesysmanual:srrs2.png?nolink |}} ===== 동작확인 ===== 기본적인 동작은 똑같습니다. Set신호가 들어오면 출력Q가 On상태를 유지합니다. 이후 Reset신호가 들어오면 출력Q는 Off됩니다. {{ :codesysmanual:flipflopvideo1.gif?nolink |}} Set신호와 Reset신호가 둘다 On상태일때 결과가 다릅니다. SR플립플롭 출력은 On상태를 유지하는 반면, RS플립플롭은 Off 됩니다. 즉, RS플립플롭은 Reset신호 우선입니다. {{ :codesysmanual:flipflopvideo2.gif?nolink |}} ===== Set코일과 Reset코일 ===== 동일한 동작을 Set코일과 Reset코일 써서 할 수도 있습니다. {{ :codesysmanual:setreset2.png?nolink |}} {{ :codesysmanual:setreset3.png?nolink |}} [[codesysmanual:index|CODESYS]]