46
작성자: 이 경상 PLC의 정의 1.PLC란무엇인가? 2.PLC의 기초적인 사용법 3.PLC를 이용한 시물레이션 시연 ㈜진영이엔지

1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

작성자: 이 경상

PLC의 정의

1.PLC란무엇인가?

2.PLC의 기초적인 사용법

3.PLC를 이용한 시물레이션 시연

㈜ 진 영 이 엔 지

Page 2: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC란무엇인가?

• Programble Logic Controler

• PLC라는것은 논리적인프로그램에의하여 제어또는 조정을 할수 있는산업용 컴퓨터이다.

Page 3: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC의 기초적인 사용법

• 1.PLC 와 컴퓨터

• 2.PLC 의 작동원리

• 3.프로그래밍 방법

• 4.래더 다이어그램

• 5.래더다이어그램에서의 접점

• 6.블럭단위접점의 연산

• 7.중복블럭에 대한 연산

• 8.타이머(Timer)

• 9.카운터(Counter)

Page 4: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC는컴퓨터다.

• PLC는 산업체에서 사용하는 제어기라는 생각보다 컴퓨터라는 인식을 먼저 할필요가 있다. 제어기도 역시 컴퓨터이지만, PLC가 작동하는 기본 원리는 컴퓨터를 기본으로 하기 때문에 컴퓨터를 배운다는 인식을 먼저 하는 것이 좋겠다.

Page 5: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

컴퓨터는 CPU에 의해 순서대로

하나씩만 명령을 수행한다.• 컴퓨터는 여러 가지 일

을 동시에 처리할 수 있는 장치가 아니고, 순서(프로그램)에 맞춰 하나씩 처리하는 장치다. 아침에 일어나서 "신문보고 식사하고 난 뒤 화장실가기" 의 순서로 하는것이지 "화장실에 앉아서 식사하면서 신문보기"는 할 수는 없다.

Page 6: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

컴퓨터는 수학을 엄청 잘 한다.

(처리속도가 빠르다.)

• 컴퓨터는 덧셈,뺄셈과 같은 사칙연산을비롯하여 AND, OR와 같은 논리연산은너무나 너무나 엄청 빨리 한다. 연산 하나 처리하는데, 약 1μSec정도다. 느낌이 잘 안 오는 것 같은데, 이것은 1초에백만번 연산을 할 수 있는 정도다. 이보다 빠른 PLC도 많다.

Page 7: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

컴퓨터가 다루는 수의 세계는 단순하다

• 컴퓨터가 사는 세상은 오로지 "0"과 "1"만 있고 2,3,4…는 없다. 2,3,4와 같은 숫자도 "0"과 "1"의 조합으로 표시한다.

• 0010은 2로, 0011은 3으로, 0100은 4로 표시한다. 그리고, 논리연산에 사용되는 거짓(False)과 참(True)도 "0"과 "1"로 표시한다. "0"은 거짓, "1"은 참이다. PLC제어에서는 "1"과 "0"을 스위치나램프가 ON과 OFF로 생각한다.

Page 8: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC는 자동화에 관해선, 천재 컴퓨터이고그 외는 멍청이.!

• 일반 컴퓨터가 주로 하는 문서작성이나, 그림 그리기, 음악 만들기와 같은 것은못해도, 공장자동화를 하기 위한 여러기능들은 어떤 컴퓨터도 흉내를 내지 못할 정도로 강력한 능력을 가졌다. 자동화에 필요없는 기능은 과감이 없애고, 오로지 자동화에 필요한 기능들만 보강한 막강 컴퓨터이다.

Page 9: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC는 모니터가 없다.

• 컴퓨터에서는 CPU에서 작업한 내용이 모니터를 통하여 출력되어 우리에게 전달된다. 그외의 출력장치는 스피커, 프린터 등이 있지만, PLC에서는 여러 전선 단자(端子)를 통하여 전구에 불이 오게 하거나, 모터를 회전시키는 출력을 한다. 따라서 PLC에 연결된 전선 단자를통하여 공장의 여러 기계를 원하는 때에 작동시킬 수 있다.

Page 10: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC는 키보드가 없다.

• 키보드는 컴퓨터에 글자를 입력할 때에 사용된다. 그렇지만, PLC에는 글자를 입력시킬 필요가 없으므로 키보드가 없다. 그 대신 기계를움직이라는 [START]스위치나 정지하라는[STOP]스위치 등이 필요하다. 이런 스위치를접점(接點)이라 한다. 이런 접점 스위치를 연결하는 전선을 PLC의 입력으로 배선하여 키보드를 대신하여 입력장치로 사용한다

Page 11: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC의 작동원리

• PLC의 작동은 CPU라는 작업자에 의해서만모두 처리된다.

• PLC는 컴퓨터의 일종으로 CPU에 의해 모든 동작이이루어진다. 따라서 PLC의 작동원리를 이해하고자한다면 여러분이 CPU가 된 것처럼 모든 작동을 머리로 상상해야 한다. 이제 앞으로 여러분은 컴퓨터 속에서 일하는 작업자인 CPU가 된 것처럼 상상하면서 이해하도록 하기 바란다.

Page 12: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

작업자가 일하는 공간에는 입력부 메모리, 출력부 메모리, 내부 메모리, 작업대가 준비되어있다.

• 접점에 의해 입력되는 "1"과 "0"의 정보를 저장하는 메모리를 입력부 메모리라한다. 접점이 ON되어 있으면, "1"로 인식하고, 접점이 OFF되어 있으면, "0"으로 인식한다. (입력접점정의)

PLC에서 계산된 결과를 저장하여 외부로 신호를 내 보낼 수 있는 메모리를 출력부 메모리라 한다. 저장된 메모리의 값이 "1"이면, 그 메모리와 연결된 램프에는 불이 들어오고, "0"이면 불이 들어오지 않는다. 램프 대신 모터를 연결해두면, 지정된 출력부 메모리의 값을 1/0으로 하므로써 모터를 작동/정지시킬수 있다. (출력접점정의)

내부 메모리는 프로그램 연산에 따라 계산된 결과를 출력부 메모리와 같이 저장하는 곳이지만, 외부로 신호를 내보내지 않고 PLC내부에서만 그 결과를 참조한다.

입력되어 있는 프로그램 순서대로 [작업자]가 AND, OR와 같은 연산을 한 스텝씩 수행하면서 그 결과를 임시로 저장하는 곳을 [작업대]라 비유한다. 입력/출력/내부 메모리의 정보를 이 [작업대]로 불려 들이고, 원하는 연산을 한 뒤, 작업대에 있는 연산 결과를 출력/내부 메모리로 보낸다. 결론적으로 모든 정보의이동은 이 작업대를 통하여 이루어진다.

Page 13: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

PLC의구조

Page 14: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

작업자 CPU는 프로그램을 빠르게반복 수행한다.

• 일반 계산프로그램은 입력데이타를 받고, 원하는 계산을 수행한 후, stop, end를 거쳐 종료된다. 그러나, PLC제어는 RUN 수행하는 동안에는 계속적으로PLC는 작동하여야 한다. 따라서 [입력] → [프로그램연산] → [출력] (→자기진단) → [입력] → …을 반복하면서 무한루프를 돌며 지속적으로 연산 작업을 한다. 한 루프의 대부분 시간은 연산 작업을 한다. 예를 들어 한스텝 수행하는데 걸리는 시간이 1μsec/step 이고, 프로그램은 1000step이라면, 한 루프를 도는데 걸리는 시간은1000step * 1μsec/step =1msec이다. 이 시간을 1 scan time이라 한다. 결과적으로 1초에 1000번 반복 순환한다.

입력신호를 받아들이는 것도 스캔타임단위(예로서 1msec)로 단속적으로 받아들인다.입력 메모리를 갱신한 후 프로그램 수행중에는 비록 입력신호가 바뀌더라도 입력되지 않고, 다음 입력 메모리 갱신 때까지 기다렸다가 입력된다. 출력도 마찬가지로 프로그램수행중에 여러번 바뀌더라도 그 순간순간 출력이 변하지 않고, 마지막 결과만 출력 메모리로갱신되어 변경된다. 따라서 입력과 출력신호의 변경은 실제 시간보다 약간씩 지연이 발생한다.

Page 15: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

프로그래밍 방법

• 입력 메모리의 1/0은 입력신호로 사용되는 스위치가 ON/OFF가된 것으로 해석된다. 입력 스위치가 눌려져 ON되면, 이와 연결된 메모리에 전기가 흐르므로 그 값은 1로 된다. 그리고 입력스위치를 OFF하면, 그 메모리는 0 이 된다. 입력 메모리에 있는 1과 0의 정보로 입력스위치(또는 센서)의 ON/OFF상황을 모두 알수 있다.결론적으로 입력 메모리에서 1과 0은 스위치가 ON과OFF된 것이다.

• 출력 메모리의 1/0은 출력신호로 사용되는 램프가 ON/OFF가된 것으로 해석된다. 입력 메모리의 정보를 이용하여 AND나 OR로 논리연산을 하고 그 결과를 출력 메모리로 보내다. 그 메모리값이 1이면, 연결된 램프에 불이 들어오고, 0 이면 꺼진다. 따라서 출력 메모리 값을 1과 0으로 하므로써 제어하고자 하는 기기(램프, 모터, 솔레노이드밸브...)를 ON과 OFF할 수 있다.

Page 16: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

P20 = P00 .AND. P01 의 논리식은 ....

• 이 논리식의 의미는 P00신호와 P01신호를 AND하여 P20에 저장하라는 뜻이다.이런 내용을 PLC에서는LOAD

• P00

• AND

• P01

• OUT

• P20

•와 같은 프로그램으로 입력되어 매 스캔타임 간격으로 반복 수행된다. 이런 명령어는 PLC내부에 있는 CPU로서는 잘 이해할 수있는 언어지만, 사람인 당신은 빨리 그 의미를 파악하기 힘들다.따라서, PLC나라를 잘 이해하고자 한다면, PLC나라에서 사용하는 언어를 조금이라도 이해하고 있어야 할 것이다. 기초적인PLC 언어 몇 개를 아래에 소개하고자 한다.

Page 17: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

명령어 피연산자 의미

LOAD 메모리번지 •메모리 번지의 정보를 연산작업을 하기 위해(작업대에) 갖다 놓는다

AND 메모리번지 •메모리 번지의 정보를 (작업대 정보와) AND연산을 하고, 그 결과는 작업대로 저장.

OR 메모리번지 • 메모리 번지의 정보를 (작업대 정보와) OR연산을 하고, 그 결과는 작업대로 저장.

OUT 메모리번지 • (작업대에 있는 정보를) 메모리 번지로 내보낸다. 그렇지만, 작업대 정보는 그대로 유지

이들 명령어에 대한 의미에는 작업자인 CPU가 일하는 "작업대"라는 의미는항상 생략된 채로 기술된다. 위에 적혀있는 명령어의 의미에서 괄호로 그 생략된 부분을 적어 두었다.우리의 언어 습관에서도 이와 같은 현상이 있다. "가져와" 라는 말은 "내게로 가져와"라는 의미인 것과 같다.

Page 18: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

논리연산으로 나타낸 프로그램은 전체 내용을파악하기가 힘들다

• 하나의 AND나 OR연산을 하는 것은 쉽다. 그러나, 수백 수천개의 연산을 하는 프로그램에 대한 전체 내용을 파악하기는 무척 힘들다.컴퓨터는 빠른 연산이 가능하므로 AND와 OR만으로 된 프로그램을 주어도 잘수행할 수 있지만. 인간인 당신은 컴퓨터가 아니다. 따라서 인간이 잘 이해할 수 있는 또 다른 프로그램의표시방법이 필요하다

Page 19: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

AND는 두 스위치가 직렬 연결된 것과 같다

• P20 = P00 .AND. P01의 식은P00와 P01의 신호 모두 1인경우에만 그 결과 P20도 1이된다. P00와 P01이 "1"이라는것은 입력 스위치가 ON되어있다는 의미이고, 이 두 스위치가 직렬 연결된 경우와 같은 결과를 얻을 수 있다. 즉, P00과P01 스위치가 모두 눌려졌을때, P20램프에 불이 들어온다.아래 그림 3가지의 경우와 같이 스위치가 눌러지는 상황에따라 AND에 대한 논리식 결과를 얻을 수 있다. 따라서 전기의 흐름에 따라 램프에 불이 들어오는 것으로 비유해서 이해하게 되면, 사람은 쉽게 전체를이해할 수 있을 것이다.

Page 20: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

• 그렇지만 스위치와 램프를 실제와 같이 그리기도 까다로워, 기호로 간단히 표현하는 것이 좋겠다. P00과 P01의 여러 경우에 따라 P20의결과를 나타낸 위 그림을, 아래 그림과 같이 하나로 간단히 그릴 수 있고, P00과 P01의 입력조건에 따라 논리연산결과를 P20에 나타난다.

Page 21: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

OR는 두 스위치가 병렬 연결된 것과 같다.

• P21 = P02 .OR. P03의 논리식은LOAD

• P02

• OR

• P03

• OUT

• P21

• 같은 논리명령어로 표현되고, 이 명령어가 PLC에 입력되어져 매 스캔타임마다 반복 순환하면서 연산한다. 이것 역시 사람이 편하게 읽을수 있도록 전기회로도와 같이 나타내는데, P02스위치와 P03스위치가병렬로 연결된 것과 같다. P02스위치 또는(OR) P03스위치가 ON되면, P21램프가 ON된다. 다시말해, 두 스위치 중 한 스위치라도 ON되면, 출력 램프 P21은 ON된다. 프로그램은 아래와 같다.

Page 22: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

래더 다이아그램

• 논리명령어보다는 래더 다이아그램이 편하다. PLC내부에는 논리명령어로 제어내용이 입력되어 있다. 작동을 정확히 이해하기 위해서는논리명령어가 필요하지만, 논리명령어(mnemonic)로 된 프로그램으로는 제어내용을 전체적으로 이해하기는 힘들다. 그래서 쉽게 전체적으로 내용을 이해하기 위해서는 래더 다이아그램을 사용한다.

Page 23: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

래더 다이아그램의 구성은 아래 그림과 같다.

• 모선 : 전기적으로는 +/-모선에 각각+/-전기가 있는 것으로 생각할 수 있고, 논리적으로는 +모선을 "1"인 것으로 생각한다.

입력접점 : 논리식에서의 구성요소가 해당되며, PLC에서는 입력 및 출력접점을 사용한다.출력접점 다음에 배치시킬 수는 없다.

출력접점(출력코일) : 논리식의 출력결과를 나타내고, PLC에서는 출력접점만 해당된다. 항상 제일 오른쪽에 배치된다.

신호흐름선(접속선) : 왼쪽에 있는 +모선에서 전기적으로 +전기 또는 논리적으로 "1"의 신호가 각 접점들의 직렬과 병렬을 나타내고, 결과가 오른쪽으로 흘러 출력접점에 저장된다.

Ladder의 뜻 : 영어로 "사다리"라는 뜻을 가지고 있고, 두 모선은 세로로 세워진 막대고, 신호흐름선은 발을 딛는 발판의 모습을 형상화한 것으로 생각한다.

Page 24: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

•논리명령어와 래더 다이아그램은 다르다.그렇지만, 래더 다이아그

램을 순서대로 해석한다면, 같은 결과를 얻을 수 있다.

• 논리명령어로는 전체 제어내용을 파악하기가 힘들어서 래더 다이아그램을 이용하여 프로그램한다. 그러나, 논리명령어와 레더다이아그램은 같지 않다. 논리명령어는 순서에 따라 직렬로 진행하는 내용이지만, 레더 다이아그램은 +모선에서 신호가 오른쪽으로 진행한다고 되어 있으므로 동시에 여러 신호흐름선에 정보가 흐르는 것으로, 직렬이 아닌 병렬처리인 것과 같다. 그래서 근본적으로 다르지만, 신호흐름선을 위에서 아래로 차례대로 진행하는 것으로 가정하면, 논리명령어와 같은 결과를 얻을 수 있다. 시퀀스 제어는 +모선에 +전기가 있는 것이기 때문에 시퀀스와PLC와는 근본적으로 다르다는 것을 기억하기 바란다.

Page 25: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

• 아래 프로그램은 서로 다른 결과를 나타내는 예이다.(이 예는PLC프로그램을 좀 더 공부한 뒤에 보는 것이 좋겠다.)순서대로 수행한다면, 첫 행에서는 P00이 눌러지면, M00이 "1"로 되고, 둘째 행에서는 M01 = P00 .AND. (NOT M00)과 같은 뜻이므로 P00과 M00이 모두 "1"인 상황으로는 결코 M01은 "1"이 될 수 없다.그러나, 시퀀스처럼 각 행마다 동시에 진행된다면, 첫 행에서M00이 "1"이되기 위해 약간의 시간 지연이 있는 동안에 둘째 행에 의해서 M01이 "1"이 될 것이다. 약간의 시간 지연이 있고 난뒤에 첫째 행에서 M00이 "1"이 되면, 그때에 M01이 "0"이 될 것이다. 즉, P00이 눌러지는 순간 아주 짧은 시간동안 M01은 "1"의신호를 갖게 된다.이상에서 본 것과 같이 순서대로 진행하는 것과 여러 행이 동시에 병렬로 진행하는 것은 프로그램의 결과는 달리 나온다. 따라서 래더 다이아그램을 해석할 때는 순서대로 진행하면서 읽어야PLC에서 작동되는 것과 동일한 결과를 얻을 수 있을 것이다.

Page 26: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

래더 다이아그램에서의 접점

•스위치를 누르면 연결되는 접점을 arbeit 접점 즉, a접점이라 한다.•• 와 같은 접점을 a접점이라 한다. P00스위치가 ON됨에 따라 양단에 있는

신호흐름선이 연결되는 접점이다.• 달리 이야기하면, 평상시에는 끊어져 있다가 스위치가 눌러지는 등 외부신호가 들어오면 연결되는 그런 접점을 의미한다. 그래서 영어로 normally open 즉, 외부신호가 없는 평상시에 두 접점이 열려(끊어져) 있는 접점이라 하고, 약자로 NO접점이라 한다.

•스위치를 누르면 끊어지는 접점을 break 접점 즉, b접점이라 한다. •• 와 같은 접점을 b접점이라 한다. P00스위치가 눌려짐에 따라 양단에 있는

신호흐름선이 끊어지는 접점이다.• P00스위치가 눌려지지 않았을 때는 신호흐름선이 서로 연결되어 있다가스위치가 눌려지면 끊어진다. 그래서 영어로 normally close라고 하고 야자로NC접점이라 한다. 논리적으로는 NOT P00의 의미가 된다.즉, P00이 "1"이면결과는 "0"이 되고, "0"이면 "1"이 된다.

Page 27: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

•연산 결과를 OUT명령어로 출력접점에 저장한다.

• 그 출력접점은 외부출력접점과 내부출력접점 모두 가능하지만, 입력접점은 사용될 수 없다. 작업대와 입력부 사이의 신호가 한쪽방향으로만 흐를 수 있는 것을 의미한다. CPU즉, 작업자에 의해 연산된결과는 작업대에 있고, 그 결과는 입력부 쪽으로 전달될 수 없음을의미한다.

•출력접점(출력코일)을 입력조건으로 사용이 가능하다.

•출력접점에 해당되는 외부출력접점, 내부출력접점(내부릴레이)을입력접점으로 사용할 수 있다. 앞 행에서 만들어 놓은 출력결과를 뒷행에서 그 결과를 참조하여 새로운 논리식을 만들 수 있다. 이렇게함으로서 다양한 논리식을 만들 수 있다.작업대와 출력부 사이에 서로 신호가 양방향으로 흐를 수 있는 것을의미한다.

Page 28: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

•출력접점(출력코일)은 제일 오른쪽에 배치한다• 위 그림에서 보듯이 M00, M01, M02와 같은 출력접점은 제일 오른쪽에

배치한다. 반대로 입력접점은 왼쪽에 배치하게 된다.

•출력접점은 한번만 사용한다. •출력접점은 래더 다이아그램에서 한번만 사용하는 것이 좋다.• 특수한 기능을 사용하기 위해서 여러 번 사용하는 경우도 있지만, 대부분의경우는 두 가지 이상 출력해야 할 것을 OR로 묶어서 한번만 사용하도록한다.예를 들어 설명하면,

Page 29: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

블럭 단위 접점의 연산• P20 = P00 .OR. (P01 .AND. P02) 의 논리식을 논리명령어로는 어떻게 표현할

까?. 래더 다이아그램으로는 다음과 같다..

• 그렇지만, 논리명령어로 표현한다면, 어떻게 될까?LOAD P00

• OR P01

• AND P02

• OUT P20

• 라고 쉽게 생각하겠지만, 그 결과는 아래와 같다.

• 따라서 P00을 한 블락으로 간주하고, 또 (P01 .AND. P02)를 또 다른 블락으로생각하여, 그 두 블락이 서로 OR 연산을 하는 것으로 이해하여야 할 것이다. 이런 경우에 사용되는 명령어가 블락연산이다

Page 30: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

논리연산 결과가 있는 작업대의 내용은출력(저장)되어야 한다.

• 새로운 연산을 시작하기 위하여 LOAD명령으로 새 정보를 작업대에 입력하고자하면, 그 앞에 있었던 작업대의 내용은 보통은 없애버리고 새 정보를 입력한다. 그러나 그 전에 있던 작업대의 정보가 저장되어져 있지 않았다면, 그 내용은 사용자가 특별히 저장하라는 명령이 없어도 "정보스토커(Stocker)"라는 곳에 저장한다. 작업대에서 연산을 하고 난 뒤 그 결과를 사용하지도 않고없애는 행위는 정보의 낭비에 해당되고 이런 일은 있어서는 안된다는 아주 기초적인 사고를 바탕으로 만들어진 기능이다.정보스토커는 밑이 막힌 통을 비유적으로 표현한 것이고, 전문가적 표현을 쓴다면, LIFO 레지스터이다. LIFO는 Last Input First Output의 약어로 밑이 막힌 통에 물건을 넣으면, 넣은 순서로 꺼내는 것이 아니고, 제일 마지막에 넣은 것을제일 먼저 꺼내는 것과 같은 기능을 하는 것을 의미다.정보스토커에 입력된 정보를 꺼내는 명령어는 OR LOAD, AND LOAD가 있으며피 연산자는 없다. 피 연산자는 정보를 가져올 위치를 지칭하는 것이고, 여러 군데서 가져오는 것이 아니고, 오로지 정보스토커에서만 가져온다. 따라서, 당연한 내용을 연산 명령어에 표시할 필요가 없는 것이다

• OR LOAD

• 가장 최근에 넣어둔 정보스토커의 내용을 꺼내서 작업대의 정보와 OR연산을 한다.

•• AND LOAD

• 가장 최근에 넣어둔 정보스토커의 내용을 꺼내서 작업대의 정보와 AND연산을한다.

Page 31: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

블럭연산의 예를 보겠다. (OR LOAD)

• P20 = (P00 .AND. P01) .OR. (P02 .AND. P03)의 래더 다이아그램은 아래와 같다.

•P00 .AND. P01은 첫 번째 블락에 해당되고,P02 .AND. P03은 두 번째 블락에 해당된다.

계산 순서는

첫 번째 블락을 먼저 AND연산한다.두 번째 블락을 계산하기 전에 첫 번째 블락의 연산결과를 정보스토커에 보낸다.두 번째 블락을 AND연산한다. 연산된 결과는 작업대에 있다.작업대의 결과와 정보스토커에 가장 최근에 입력된 정보를 꺼내서 OR연산을 한다.

이런 순서로 작업하는 것을 논리명령어로 나타내면, 아래와 같다.LOAD P00 첫 번째 블락 AND연산

• AND P01 첫 번째 블락 AND연산

• LOAD P02 저장 안 된 첫 블락의 결과를 정보스토커에 저장하고, P02의 정보를 작업대에입력.

• AND P03 두 번째 블락 연산 완료

• OR LOAD P02 .AND. P03의 두번째 블락의 결과가 있는 작업대의 내용과 정보스토커에서가장 최근에 입력한 정보와 OR연산을 한다. 그 연산 결과는 역시 작업대에 있다.

• OUTP20최종 연산 결과를 P20에 저장

Page 32: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

블럭연산의 예를 보겠다. (AND LOAD)

• P21 = (P00 .OR. P01) .AND. (P02 .OR. P03)의 래더 다이아그램은 아래와 같다.

•• P00 .OR. P01은 첫 번째 블락에 해당되고,

P02 .OR. P03은 두 번째 블락에 해당된다.

계산 순서는

첫 번째 블락을 먼저 OR연산한다.두 번째 블락을 계산하기 전에 첫 번째 블락의 연산결과를 정보스토커에 보낸다.두 번째 블락을 OR연산한다. 연산된 결과는 작업대에 있다.작업대의 결과와 정보스토커에 가장 최근에 입력된 정보를 꺼내서 OR연산을 한다.

이런 순서로 작업하는 것을 논리명령어로 나타내면, 아래와 같다.

• LOAD P00 첫블락 연산

• OR P01

• LOAD P02 저장 안 된 첫 블락의 결과를 정보스토커에 저장하고, P02의 정보를 작업대에 입력.

• OR P03 두 번째 블락 연산 완료

• AND LOAD P02 .AND. P03의 두번째 블락의 결과가 있는 작업대의 내용과 정보스토커에서 가장 최근에 입력한 정보와 OR연산을 한다. 그 연산 결과는 역시 작업대에 있다.

• OUT P21 최종 연산 결과를 P21에 저장•

Page 33: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

중복 블럭에 대한 연산

• 여러 개의 블락이 중복되어 OR연산을 하는 경우에 대해 살펴보자.

• 아래와 같은 래더 다이아그램을 논리명령어로 변환해보자.

•이 논리명령어는 정보스토커 용량을 1개만 있어도 사용이 가능하도록 한프로그램이다.• 즉, 네스팅(Nesting)이 여러 층으로 중첩되어 있지 않고 한 층으로만 이루어져있다. 이런 방법이 정보스토커의 용량의 관점뿐만 아니라 프로그램의 논리상 좋은방법이라 하겠다.물론 이 2가지의 논리명령어의 결과는 같다.

Page 34: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

여러 개의 블럭이 중복되어 AND연산을 하는경우에 대해 살펴보자

• 아래와 같은 래더 다이아그램을 논리명령어로 변환해보자.

블락속에서는 두 접점이 OR연산을 하고 있지만, 각 블락별로는 AND연산(AND LOAD)을 한다.이런 관점을 가지고 앞에서 다룬 OR LOAD를 참조하여 스스로 프로그램해 보기 바란다. 결과는 아래에 있다.

방법 1 방법 2• LOAD P00 LOAD P00• OR M00 OR M00• LOAD P01 LOAD P01• OR M01 OR M01• LOAD P02 AND LOAD• OR M02 LOAD P02• LOAD P03 OR M02• OR M03 AND LOAD• LOAD P04 LOAD P03• OR M04 OR M03• AND LOAD AND LOAD• AND LOAD LOAD P04• AND LOAD OR M04• AND LOAD AND LOAD• OUT P20 OUT P20

Page 35: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

타이머(Timer)

• 타이머는 설정시간에 따라 출력을 ON 또는 OFF하는 것이다. 전쟁 영화에 보면, 우리의 주인공이 폭탄에 30초를 맞추고 스위치를 누른 다음, 적진을 힘들게 빠져 나오면, 적기지가 폭발되어산산조각나는 장면을 자주 볼 수 있다. 이와 같이 설정한 시간후에 출력이 나오는 것을 온 딜레이(ON Delay) 타이머라 한다. 이것이 가장 대표적인 타이머이고, 이와 반대로 입력신호를OFF했는데도 설전한 시간동안 계속 신호를 내보내는 오프 딜레이(OFF Delay) 타이머가 있다. 그 외도 적산 타이머, 모노 스테이블(Mono Stable)타이머, 리트리거블 모노스테이블(Retriggable Mono Stable)타이머 등 여러가지 종류의 타이머들이 있다.

Page 36: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

•온 딜레이(ON Delay) 타이머는...

• 입력신호가 ON된 시점부터 시간을 재서 설정한 시간보다 긴 경우에 출력접점이ON된다. 만약에 설정한 시간보다 적을 때에 입력이 OFF되면 재고 있던 시간을모두 영으로 만들고 다시 입력신호가 ON될 때에 처음부터 재기 시작한다.타이머를 사용하기 위해서는 입력신호, 출력신호, 설정시간등 3가지의 신호가있어야 작동할 수 있다.

출력신호는 위에서 설명한 대로 입력신호가 ON된 후부터 설정시간이 지난 뒤에 출력이ON된다. 그러나 출력신호의 OFF는 입력신호가 OFF되면 바로 출력신호도 OFF된다. 다시말해 입력신호가 ON된 때부터 설정한 시간 뒤에 동작하고, 입력이 OFF한 즉시 출력도OFF한다. 이와 같은 의미에서 한시동작 순시복귀(限時動作 瞬時復歸) 타이머라고도 한다.

Page 37: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

•Master-k PLC로 래더 다이아그램을 작성해보자.

•설정시간은 우리가 원하는 시간을 소숫점을 이용하여 편하게 쓸 수 있으면 좋겠지만, 입력하는 숫자를 소숫점이 없는 정수를 쓰는 것이 컴퓨터로서는 편하다.(인간인우리에게는 별 차이가 없지만) 그래서 설정시간단위를 0.01초또는 0.1초로하여선택하여 사용할 수 있다.이 프로그램의 설정시간 단위는 0.1초이라서 설정시간은 0.1초 * 10개로서 1초에해당된다. 그래서 P00의 입력이 ON되면, 타이머는 시간을 재기 시작하여 1초가 지난뒤에 T00접점을 ON시킨다는 프로그램이 된다. 여기서 T00접점은 외부와 연결된 접점이 아니므로 외부접점으로 신호를 보내기위하여 두 번째 행의 래더 다이아그램이 필요하다.

Page 38: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

오프 딜레이(OFF Delay) 타이머는... • 입력신호가 ON되면 출력신호도 ON되었다가, 입력신호가 ON으로 유지되다가

OFF된 시점부터 시간을 재기 시작해서 설정시간까지 출력을 유지하다가 OFF된다. 입력신호는 길든 짧든 상관 없이 한번 ON되었다가 OFF되면 타이머는 작동한다. 이것 역시 온 딜레이 타이머처럼 3개의 신호가 있어야 한다.

입력신호가 들어오는 즉시 출력신호가 작동되고, 입력신호가 OFF된 시점부터 설정한 시간이 된다. 이런 의미에서 이 타이머를 순시동작 한시복귀(瞬時動作 限時復歸) 타이머라고도한다.

Page 39: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

•Master-k PLC로 래더 다이아그램을 작성해보자.

•P01신호가 "1"이 되면 바로 즉시 T01접점도 "1"이 된다. P01의 신호가 유지되는동안 T01도 계속 "1"로 유지되다가 입력신호가 "0"으로 변한 뒤, 설정된

시간(0.1초 *15 = 1.5초)동안 계속 출력이 "1"로 유지되다가 "0"으로 된다.

Page 40: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

카운터(Counter)

• 신호가 ON/OFF하는 횟수를 세는 기능이다.

• 스위치를 누르는 횟수나, 램프가 깜박깜박(반짝반짝)하는 횟수를헤아리다가 카운터에 설정해 놓은 횟수에 도달하면, 카운터의 출력을 "1"로 만드는 회로이다. 예를 들어 공장에서 제품이 하나 나올 때마다 신호가 나오게 하고 그 신호 갯수를 헤아려서 생산해야 할 목표에 도달하면 카운터의 출력을 내보내 작업자에게 신호를 주든지 아니면, 바로 기계를 정지하도록 하는 신호로 사용할 수 있다.

Page 41: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

신호에서 1씩 증가시키는 시점은

• 외부로 주는 전기신호는 대부분 펄스신호라 하는데, 이런 신호 모습은 아래 그림과 같다. 이 신호에서 "0"에서 "1"로 변하는 시점과 "1"에서 "0"으로 변하는 시점이 있다. 카운터에서 1씩 증가하는 곳은 "0"에서 "1"로 변하는 지점이다. 이 지점을 상승 에지(Rising Edge) 또는 정(正) 에지(Positive Edge)라고 한다. 대부분의 디지털회로에서 특별한 언급이 없으면 상승에지에서 1씩 증가한다.전기신호가 낮은 것은 램프에 불이 안들어온다는 의미이고, 신호가 높다는 것은램프에 불이 들어 온다는 의미이다. 여러분 스스로 생각을 해도, 램프에 불이 들어오는 시점에 숫자를 헤아리는 것이 타당하리라 생각할 것이다. 원래 공학은사람이 인식하기 쉬운대로 구현하는 것이 공학의 본분이라 하겠다.

Page 42: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

Up 카운터란...

• 수를 1, 2, 3, 4...과 같이 증가(Up)하는 방법으로 입력신호의 펄스를 헤아려서카운터에 설정해 놓은 목표 값보다 크면 카운터의 출력을 "1"로 변경시킨다. 그리고, "1"이된 카운터출력은 리셋(Reset)신호에 의해 "0"으로 변경한다.이 기능을 쓰기 위해서 필요한 신호는 입력펄스, 리셋신호, 출력신호, 설정값 등4가지가 필요하다

카운터는 프로그램이 처음 런(Run)할 때에는 설정값을 제외하고 모든 값이 한번도 입력되지않은 백지상태이다. 이럴 경우에는 위 그림과 같이 입력 펄스 신호를 주어서 출력신호를 "1"로만든다. 다음에 다시 입력펄스를 세려고 할 때는 그 전에 리셋(Reset)신호를 입력하고 난 뒤에사용해야 한다.숙련된 프로그래머는 출력신호가 나오고 난 뒤에 바로 리셋신호를 주어 그 다음에 들어오는 입력신호를 놓치지 않도록 프로그램한다.

Page 43: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

•Master-k PLC로 래더 다이아그램을 작성해보자

•위 카운터 이름은 CTU로서 Up Counter를 의미하고, 입력 펄스 신호가 U단자에 붙어있는 것도 상승(Up)신호다는 뜻이다. 리셋 신호는 Reset의 첫 글자인 R단자에 붙어있음을 눈여겨보기 바란다. <s>다음에 보이는 007은 설정값이고, C000은 카운터의출력의 접점 번호이다. C000의 출력은 외부출력이 아니므로 외부로 신호를 빼내기위해서는 타이머에서 보았듯이 추가로 프로그램을 더 넣어야 한다.

Page 44: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

Down 카운터란...

• 입력펄스 신호가 하나 들어옴에 따라 설정값을 1씩 감하여 그 값이 0이 되면 출력을 ON한다. 사용하는 신호는 Up 카운터와 같다. 아래에 Master-k PLC로 래더 다이아그램을 작성해보았다.

•입력 펄스 신호가 연결된 단자가 U가 아니고 D인 것과 카운터의 이름이CTU가 이닌 CTD임을 유의해서 보기 바란다.

Page 45: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

그 외도,,,

• 위에 있는 Up 카운터, Down 카운터 이 외에도,

위 두 개를 모두 모아 논 Up-Down카운터이다. 이것은 Up카운터 입력신호와 Down입력신호 두 개가 있어 각 신호에 따라 신호갯수를 증가시키기도 하고 감소시키기도 하는 카운터이다.

다음은 링(Ring)카운터로, 입력 신호 갯수가 설정값에 도달하면, 0에서부터 다시 갯수를 헤아리는 카운터이다. 이렇게 계속 입력신호 세는 것이 회전(Ring)한다 하여 링 카운터라 부른다. 설정값에 도달하면, 출력이 "1"이 되고 다시 0 이 되면 출력은 "0"으로 되는 카운터다

Page 46: 1.PLC란무엇인가? 2.PLC의기초적인사용법 3.PLC…cfs8.blog.daum.net/attach/28/blog/2008/11/08/15/08... · 2015-01-21 · plc의작동원리 • plc의작동은cpu라는작업자에의해서만

시뮬레이션 장비 시스템 흐름도

CPU 출력장치

PLC

로보트팔

계측기기

아날로그신호

입력장치 CPU무선데이터통신불루투스 모듈

컴퓨터

무선데이터통신불루투스 모듈

㈜ 진 영 이 엔 지