[PLC] 프로그래밍 - SFC Conversion 기법 (1)
PLC 프로그램 작성시 직관에 의존하여 프로그램 입력을 시작하며, 특정한 설계방법 없이 수정을 반복하여 원하는 결과가 나올때까지 반복하게 됩니다. 물론 이러한 방법이 잘못된 것은 아니지만, 향후 수정 및 분석시 어려움을 주는 원인임은 분명합니다.
프로그램을 작성하기 전에 설계-구현 방법을 정립한 후 프로그램을 작성하게 되면, 향후 유지보수가 좀 더 수월합니다. 이 글에서는 SFC(Sequential Function Chart)를 이용한 설계와 래더 다이어그램을 이용한 구현방법에 대해 소개하고자 합니다.
일부 PLC는 SFC를 프로그래밍 언어로 지원하기 때문에 SFC로 설계한 내용을 그대로 프로그램 형태로 옮길 수 있지만, 대다수 현장에서는 래더 다이어그램을 주로 사용하기 때문에 구현 언어는 래더 다이어그램으로 진행합니다.
래더 다이어그램으로 작성된 프로그램은 분석이 어려운 단점이 있지만, 설계-구현 방법이 정립되어 있다면, 래더로 구현된 프로그램으로부터 설계를 추론할 수 있게 됩니다.
이 글에서는 SFC에 대한 설명은 생략하고, SFC로 기술된 작업 프로세스를 어떻게 래더로 구현하는지에 대해 설명합니다. 우선 아래는 SFC로 기술된 작업 프로세스의 예입니다.
첫번째 열에서 나타난 숫자들은 스탭번호를 의미하고, 두번째 열에는 해당 숫자의 스텝에서 행해지는 내용을 설명합니다. "C0.1=RESET"은 스텝0에서 스텝1로 전이(TRANSITION)되는 조건을 의미하며, 여기서는 RESET 버튼을 누르면 스텝이 0에서 1로 전이된다는 뜻입니다.
아래 그림은 각 스텝에서 솔레이노이드 동작을 기술하는 타이밍 다이어그램입니다.
아래 그림은 작업 프로세스를 구현하는 래더 다이어그램 프로그램 패턴입니다.
각 스탭에 해당하는 릴레이 코일이 존재하고, 해당 코일을 구동시키는 조건과 코일 자기유지가 해제되는 조건을 SFC와 대조하면서 분석하면 구현 패턴이 이해가 되실 겁니다.
아래 그림은 솔레노이드 구동용 래더 다이어그램입니다.
여러 래더 다이어그램 구현 방법중, SFC를 이용한 설계-구현 방법에 대해 소개했습니다. 스텝분기나 병합을 구현하는 법은 향후 보완된 내용으로 소개해 보겠습니다.
끝.
댓글
댓글 쓰기