본문으로 바로가기

래더 다이어그램

category Programming/PLC 2021. 4. 18. 17:53
반응형

래더 다이어그램이란

래더 다이어그램은 PLC가 막 보급되던 시기에 PLC 프로그램을 작성할 수 있는 유일한 프로그래밍 언어였다. 당시에는 C나 파스칼, 포트란과 같은 텍스트 기반의 프로그래밍 언어가 유행하던 시절이었다. 하지만, 이런 언어들을 이용해서 프로그램을 작성하기 위해서는 추가적인 기술 훈련이 필요한 상황이었기 때문에, 자동화 설비 프로그램에 적용하기에는 진입 장벽이 높은 상황이었다. 이 때 등장한 래더 다이어그램은 몇 개의 래더 심볼으로 릴레이 회로와 같은 로직을 구성하는 것이 가능했기 때문에, 당시 전기 회로를 주로 다루는 엔지니어들에게 열렬한 성원을 받기에 딱 좋은 언어였고, 그 덕분에 자동화 프로그램을 작성하는데 필요한 진입 장벽이 현격히 낮아지는 결과로 이어지게 되었다. 지금도 필드에서 활동 중인 엔지니어들에게 선호하는 PLC 언어를 하나만 꼽아보라고 하면, 대부분 래더 다이어그램을 언급한다는 점에서 배우기 쉽고, 논리적인 시퀀스를 구현하는데 최적의 언어라고 자신있게 말할 수 있다.

위 그림과 같이 여러 심볼들을 이용하여 그래픽 기반으로 프로그램을 작성해나가는 래더 다이어그램은 실제 전기 장치 도면에서의 시스템 구성을 그대로 본따서 프로그램화 할 수 있다는 특징 때문에 프로그램 작성에 익숙하지 못한 전기 기술자도 쉽게 로직을 이해할 수 있고, 버그를 찾아 수정할 수 있다는 강력한 장점을 가지고 있다. 특히, 여러 심볼들과 커넥션 라인으로 구성된 그래픽한 프로그램의 모습은 텍스트 기반으로 작성된 프로그램과 비교했을 때, 프로그램을 직관적으로 이해할 수 있도록 도와주고, 논리적 에러를 검출하는데 유리한 언어라 할 수 있다. 하지만, 모든 프로그래밍이 심볼들을 서로 연결해주는 방식으로 이루어지기 때문에, 복잡한 알고리즘을 구현하거나 고도의 계산을 요구하는 그런 작업을 구현하는데는 적합하지 않다는 약점도 함께 가지고 있다. 그럼에도 불구하고, 로직 회로를 간단 명료하게 표현할 수 있다는 특징은 여러 필드 엔지니어들의 선택을 받기에 충분한 장점임은 분명하다.

래더 다이어그램으로 작성된 프로그램의 가장자리에는 두 개의 레일 선이 수직으로 지나간다. 이 레일 선은 전기 회로에서 전원이 공급되는 라인을 의미하는데,

그 사이를 렁으로 연결해줌으로써, 전기가 흐를 수 있도록 만들어주는 것이 래더 다이어그램을 이용한 프로그램의 기본적인 개념이다. 두 레일 선을 가로지르는 렁 위에는

스위치나 버튼과 같은 입력을 의미하는 접점과 밸브나 액츄에이터와 같은 출력을 의미하는 코일을 이용하여 제어 로직을 구성한다. 그리고, 이런 심볼들을 이용하여 작성된 프로그램이 마치 사다리를 연상시킨다고 해서, 래더 다이어그램이라는 이름을 가지게 되었다.

 

접점과 코일

위에서 설명하고 있는 래더 심볼 중에서 접점이라 불리는 심볼은 매핑된 변수의 상태에 따라 렁을 통해 전달되는 신호를 이어서 전달해주거나 끊어주는 역할을 하는 래더 심볼이다. 그래서, 전기회로에서의 스위치나 센서와 같은 역할로 이해할 수 있다.

래더 다이어그램에서는 쓰임새에 따라

위 그림과 같이 4가지 타입의 접점을 제공한다. 흔히 A 접점이라고도 불리는 N. O 접점은 스위치의 동작에 비유했을 때, 평상시에는 열린 (Open) 상태를 유지하다가, 매핑된 신호의 상태가 TRUE일 때, 닫힌 (Close) 상태로 변경되는 접점이라 하여, Normal Open 접점이라는 의미에서 N. O 접점이라 한다.

반대로, B 접점이라고도 불리는 N. C 접점은 평상시에는 닫힌 (Close) 상태를 유지하다가, 매핑된 신호의 상태가 TURE일 때, 열린 (Open) 상태로 변경되는 접점이라 하여, Normal Close 접점이라는 의미에서 N. C 접점이라 한다.

남은 두 접점은 Edge Trigger 또는 Edge Detection이라고 부르는 접점으로, 평상시에는 열린 상태를 유지하다가, 매핑된 변수의 상태가 변화되는 스캔 사이클에서만 닫힌 상태로 변경되는 접점이다. 여기서, 심볼 내부에 문자 P가 적혀있는 접점은 Positive Edge Detection으로, 매핑된 변수의 상태가 FALSE에서 TRUE로 변화되는 순간을 감지하는 역할이고, N이 적혀있는 접점은 Negative Edge Detection으로, 변수의 상태가 TRUE에서 FALSE로 변화되는 순간을 감지하는 역할을 수행한다.

지금까지 설명한 접점들의 동작을 타이밍 차트로 표현하면,

와 같이 나타낼 수 있다.

위에서 설명하고 있는 래더 심볼 중에서 코일이라 불리는 심볼은 렁을 통해 전달되는 신호의 상태를 출력으로 연결해주는 역할을 하는 래더 심볼로, 전기회로에서 램프나 릴레이처럼 디지털 출력을 만들어주는 역할이라고 이해할 수 있다.

코일도 접점과 마찬가지로 쓰임새에 따라,

위 그림과 같이 4가지 타입의 코일을 제공한다. 제일 왼쪽의 일반 코일은 렁을 통해 전달되는 신호의 상태를 그대로 출력으로 연결해주는 코일이다. 그리고, 반전 코일은 이름 그대로 전달되는 신호의 상태를 반대로 출력하는 코일이고, 나머지 Set과 Reset 코일은 렁을 통해 TRUE의 신호가 전달되면, 매핑된 변수의 상태를 TRUE (Set 코일) 또는 FALSE (Reset 코일)로 바꿔주는 역할을 수행한다.

코일의 동작도 타이밍 차트로 표현하면,

와 같이 나타낼 수 있다.

 

이번 글의 주제에 관한 더욱 자세한 내용은 전자책을 통해 확인하실 수 있습니다.
(래더 다이어그램을 이용한 논리 연산 표현 방법 등...)
아래 Link를 클릭하면 전자책 구매 사이트 (크몽)으로 연결되니,
전자책 구매에 관심 있으신 분들은 참고하시기 바랍니다.

(전자책 구매하러가기)

 

지금 읽고 계신 글이 유익했다면, 커피 한 잔 부탁드립니다.
더욱 참신한 글로 여러분의 후원에 보답하겠습니다.


donaricano-btn

반응형

'Programming > PLC' 카테고리의 다른 글

Structured Text  (0) 2021.04.23
FBD와 CFC  (0) 2021.04.19
변수의 종류  (0) 2021.04.07
변수와 데이터 타입  (0) 2021.03.28
Task와 POU  (0) 2021.03.22