====== Ladder Diagram (LD) 언어 소개 ====== 레더 다이어그램 언어는 PLC가 처음 탄생했을때부터 사용되기 시작해서, 지금까지도 사용되고 있는 대표적인 PLC 언어입니다. 대부분의 PLC메이커에서는 LD언어를 기본적으로 지원하고 있으며, 로직및 시간제어, 카운팅처리 그리고 수치연산기능을 사용할 수 있습니다. ===== LD언어 프로그램 구조 ====== LD언어는 다음과 같은 구조를 가지고 있습니다. 양쪽 끝에는 파워레일이 있고, 그 사이에 코드가 존재합니다. 코드는 조건과 실행부분으로 구분되어 있으며, 조건이 만족되면 실행부분이 수행됩니다. {{ :codesysmanual:ldstruct.png?nolink |}} 보통 조건에는 여러개의 접점 (Contact)이 있으며, 이것은 참 또는 거짓 상태만을 저장하는 BOOL변수나 BOOL어드레스와 연결됩니다. LD언어는 특별한 전기적 지식이 없어도 잘 이해할 수 있도록 되어 있습니다. 접점이 닫혀있으면 전기가 통하고, 열려있으면 전기가 통하지 않는 구조로 되어 있습니다. 실행 부분까지 전기가 도달하면 마침내 실행되는 구조입니다. {{ :codesysmanual:ldstruct2.png?nolink |}} LD언어의 가장 큰 장점은 그 자체가 멀티테스킹 동작을 한다는 점입니다. 위 레더도의 경우 4개의 Rung이 있지만, 각각의 Rung은 동시에 동작하며, 조건이 만족되면 출력이 바로 됩니다. {{ :codesysmanual:ton.png?nolink |}} LD언어가 가지고 있는 또 다른 장점중 하나는, 시간관리가 편하다는 것입니다. TON명령을 예로 들면 입력조건이 몇초간 들어왔을때 비로소 출력이 나간다는 뜻인데, 이것을 다른 언어로 구현하려면 꽤나 복잡합니다. [[codesysmanual:index|CODESYS 와 ComfilePi]]