\ 전기 엔지니어의 꿈 :: 'PLC' 태그의 글 목록 (2 Page)

'PLC'에 해당되는 글 9건

반응형

안녕하세요 공돌이 직딩입니다.

 

장마라는데 비는 안오고 날씨만 푹푹찌네요.

 

그나마 오늘은 비가좀 오겠어요. 비좀 쏟아졌으면 좋겠네요.. 시원하게

 

오늘은 지난시간에 이어서 타이머와 단짝인 카운터에 대해서 공부해보겠습니다.

 

 

카운터라는 놈은 숫자를 세주는 역할을 합니다.

 

사실 사전적 정의나 의미야 인터넷을 서칭하면 많이 나오겠지만 저는 카운터라는 놈을 실제로 어떻게 산업에서

 

응용 할 수 있는지를 설명드리고 싶네요.

 

 

타이머는 시간의 흐름에 따라서 코일 내부로 전원이 인가되어 횟수를 셌다면

 

카운터는 내가 원하는 조건에 따라서 코일 내부로 전원을 인가하고, 횟수를 세는 것입니다. 

 

간략도를 한번 들여다 볼까요.

 

실제로 가장 기본적인 8Pin 소켓은 위 그림과 같은 넘버링을 가집니다.

 

소켓을 보면 8개의 십자나사가 박혀있는데 위 간략도(노란 박스)처럼 넘버링이 됩니다.

 

소켓에 릴레이를 끼울수도 있고, 타이머, 플리커, 카운터등 여러가지를 꼽을 수 있게 되어있죠.

 

물론 전자식도 있습니다. 이런 타이머, 플리커, 카운터 등은 가격이 더 나가고 크기가 작죠.

 

카운터가 끼워진 사진을 보여드리고 싶었으나 해당사진이 없는 관계로 8핀 릴레이가 소켓에 끼워진 사진을

 

첨부합니다.

 

우리는 카운터의 넘버의 역할에 대해서 알아보려고 합니다.

 

아래 표를 보시죠.  

 

번호 명칭 역할
1 공통선(Common)
2 전원코일(AC 220V)
3 RESET 입력
4 COUNTER 입력
5 -
6 OUTPUT
7 전원코일(AC 220V)
8 공통선(Common)

다른 핀번호들은 이전에 공부했던 것과 같은데 특이한 것이라면

 

COUNTER 입력과 RESET입력, 그리고 OUTPUT이 보이죠.

 

1. COUNTER 입력이라는 것에 통전이 되면 숫자가 1 증가한다고 보시면 됩니다.

   즉 3이라는 수치를 만들고 싶다면 COUNTER 입력에 3번 통전을 해주어야겠죠.

 

2. RESET 입력은 COUNTER 값을 0으로 초기화 시켜주기 위해서 사용하는 핀입니다.

   RESET 입력핀에 통전되면 COUNTER 수치가 초기화 됩니다.

 

3. OUTPUT으로는 COUNTER의 현수치가 나타납니다.

  즉, COUNTER 입력을 3번 통전시켜 3이라는 수치를 저장하였다면 OUTPUT에는 3이라는 수치가 출력되는 것이죠.

 

카운터라는놈은 조금만 생각해보면 조금 의아한 부분이 있습니다.

 

COUNTER 입력에 통전이 되면 숫자가 1이 증가한다고 하는데 대체 통전을 몇초간 주어야 수치가 1이 증가할 수

 

있을까요?

 

초보자분들에겐 이런 질문이 조금 어려울수도 있겠습니다.

 

다음 그림을 볼까요?

 

                                     T1                                                                       T2                                         

                                                       

자 T1 시간에 LOW 신호가 HIGH 신호로 뒤바뀌고 T2까지 쭉 유지되고 있는 것을 볼 수 있죠?

 

앞서 언급한 4번핀인 COUNTER 입력에 현재와 같은 신호가 들어가고 있습니다.

 

카운터는 언제 수치를 증가시킬까요?

 

상식적으로 T1, T2라는 시간이 통전되는동안 계속 증가할 수는 없는 거겠죠.

 

직감적으로 T1 시점에 카운팅이 되어야 함을 알 수 있을겁니다.

 

즉 LOW 신호에서 HIGH 신호로 바뀌는 그찰나 말이죠.

 

LOW에서 HIGH로 바뀌는 것을 상승 EDGE구간이다 라고 표현하기도 합니다.

 

여기서 펄스 개념이 나오죠.

 

제어공학이라는 분야에 있어서 처음이자 끝입니다.

 

겁나게 중요합니다. 이 펄스라는놈!.

 

펄스는 아래그림을 보시면 이해하실 수 있습니다.

전압을 주는데 계속 전압을 인가하는 것이 아니라 일정 시간단위로 OFF와 ON을 반복하여 구형파를 만드는 것이죠.

 

사실 이것에 대해서 설명할 것은 무궁무진하지만 카운터라는 주제에서 다루고 있고 잘못하면 이야기가 삼천포로 

 

빠질 수 있기에 단순히 펄스의 개념만 설명하였습니다.

 

다시 본론으로 돌아와보겠습니다.

 

카운터라는 녀석은 HIGH 신호가 얼마나 오랫동안 지속되는냐가 아니라 상승엣지가 몇번이냐에 따라서 수치를

 

증가 또는 감소시킵니다.

상기 그림의 1PULSE는 COUNTER의 값을 1을 증가 또는 감소시키겠죠.

 

그럼 10PULSE는요?? COUNTER의 값을 10을 증가 또는 감소시키겠죠.

 

그럼 거꾸로 뒤집어 생각해봅시다. COUNTER의 값을 125를 만들고 싶어요. 어떻게 해야 할까요?

 

125번의 PULSE를 인가해주면 되는거죠.

 

즉 껏다 켯다를 125번 반복하면 됩니다.

 

이건 실로 엄청난 사실이에요.

 

이것과 연관되어 있는 주제인 PWM(Pulse Width Modulation)이라는 것을 이후의

 

MICOM 제어 포스팅에 대해서 자세히 다룰겁니다.

 

엄청나게 중요한겁니다. 꼭 기억해주세요

 

우리는 카운터라는 놈이 펄스의 상승엣지에 의하여 동작한다는 사실을 알아냈습니다.

 

그럼 수치를 초기화하기 위해서는요???

 

마찬가지겠죠.

 

3번핀인 RESET 입력에 상승엣지를 인가해주면 값이 초기화 됩니다.

 

저는 지금 중요한 개념에 대해서 설명했습니다. 

 

이쯤에서 다시 내용을 정리해주세요.

 

카운터라는 녀석이 대표적으로 산업에 활용되는 것은 엔코더라는 놈입니다.

 

엔코더는 모터의 회전을 측정해주는 기기로 자동차나 로봇 발전기 등등 회전기기가 들어가는

 

모든 분야에 활용될 수 있습니다.

 

엔코더에 대해서 잠시 설명드리지요.

 

그림을 참조해주세요

 

인크리멘탈 엔코더입니다.

 

우측그림에 보시면 원판디스크가 있죠.

 

원판디스크의 특정 부분에 구멍이 뚤려있고 외부에서 원판으로 빛을 비춥니다.

 

원판은 한바퀴 돌때마다 구멍으로 빛이 들어와서 1회전에 1번 빛이 비춘다는 특징이 있는것이죠.

 

간략하게 말해서 구멍이 있는 곳에서는 PULSE가 HIGH가 되고,

 

구멍이 없는 곳은 빛이 투과할 수 없기 때문에 PULSE가 LOW가 되는겁니다.

 

1회전에 1빛이죠.

 

모터가 도는 속도는 겁나빠르죠.

 

육안으로는 측정이 불가합니다.

 

하지만 1회전 1빛의 원리를 사용할 수 있다면 계산할 수 있겠죠, 어떻게 하냐구요?

 

펄스가 몇번 뛰었는지를 확인하는 겁니다.

 

1초에 PULSE가 100번 뛰었다면 모터는 1초에 100번 도는 것이라고 해석할 수 있는겁니다.

 

1초에 뛰는 펄스수를 계산하게 되면 뭐가좋냐???

 

자 다음 상황을 가정해봅시다.

 

우리는 기지값(알고 있는 값)을 통해 미지값(모르는 값)을 구하고 싶어요

 

쉽게 말할게요. 전기 자동차에 모터를 달아놨는데 1초에 몇m 자동차가 가는지 알고싶습니다.

 

기지값은 1초당 모터회전수

 

모터 1회전당 이동거리입니다.

 

1초에 10번 모터가 회전하고

 

1회전당 10m를 주행한다고 보겠습니다.

 

10(회전)/1(초) * 10(m)/1(회전) = 10(m)/1(초)로 계산할 수 있는 것이죠

 

이렇게나 PULSE가 중요합니다.

 

 

 

자... 이제 본격적으로 XG-5000에서 카운터를 어떻게 사용하느냐에 대해서 말씀드려야겠네요.

 

먼저 카운터의 종류에 대해서 알아봅시다

 

XG-5000에서 지원하는 카운터는 크게 4가지 종류가 있어요.

 

1. CTU (COUNTER UP)

2. CTD (COUNTER DOWN)

3. CTUD (COUNTER UP & DOWN)

4. CTR (COUNTER RING)

 

CTU는 이름에서 짐작할 수 있듯이 숫자를 1->2->3->4 .... 순으로 UP시켜주면서 수치를 셉니다.

 

CTD는 그 반대겠죠 CTU로 100이라는 수치를 만들었다면 CTD에 입력신호가 들어갈때마다 99->98->97-> ...로 DOWN하여 수치를 셉니다.

 

CTUD는 그럼 뭐냐

CTUD는 한계치를 설정해놓고 입력값을 계속 주면 한계치만큼 증가했다가 감소합니다.

무슨말이냐면...

7이라는 한계치를 지정해주고 CTUD카운터 입력 신호를 계속주면

1->2->3->4->5->6->7->6->5->4->3->2->1->2... 

이런식으로 되는거죠.

 

CTR은 또 뭘까요

결론만 말해서 CTR은 CTUD처럼 역시 세팅값을 주게 되는데

3을 세팅하였다면 CTR의 입력 신호를 계속 주게되었을때 다음과 같이 동작합니다.

1->2->3->1->2->3->1.....

숫자가 반복되는 것이 마치 원판의 시계바늘이 돌아가는것과 비슷하다고 하여 링카운터로 불립니다.

 

그럼 XG-5000에서는 위의 4가지 카운터를 어떻게 표현할까요.

 

아래를 보고 익혀보세요

 

1.CTU

 

F10은 명령어 창이라고 말씀드렸죠?

 

F10을 눌러서 CTU C0 5를 쳐보세요.

 

타이머처럼 카운터도 비슷한 방식으로 래더를 짤 수 있어요.

 

P0를 5번 눌렀다가 떼면 P20이 점등해야 합니다.

 

이번에 시뮬레이션을 돌릴때는 시스템모니터 창과 레더 창을 같이 봐주시면서 확인해보세요.

 

P0을 눌렀을때 C0위에 카운팅이 되는것이 보이시면 성공입니다.

 

위 실험으로부터 우리는 다음과 같은 사실을 얻을 수 있었습니다.

 

첫 번째. 카운터는 전원이 들어가지 않아도 수치를 기억하고 있다.

두 번째. 상승펄스에 의해서 카운팅이 된다.

 

포인트 1. 상승 펄스가 인가될 때마다 카운팅 수치가 증가한다.

포인트 2. 카운터 한계치에 다다르면 카운터 접점(C0)이 붙는다.

      

두 번째, 상승펄스에 의해서 카운팅이 되기 때문에 사실은 접점기호를 줄때

 

단순기호 접점을 주는 것이 아니라. PUSLE로 주는것이 더 훌륭하다고 할 수 있습니다.

 

지금의 문제에서 기능상의 문제는 없겠지만 프로그램이 복잡해지고 길어질수록 PULSE 접점의 위력은

 

진가를 발휘합니다.

 

펄스를 쓰기 위한 방법은 다음과 같습니다.

 

Shift+F1 상승펄스

Shift+F1 하강펄스 

상승펄스는 OFF에서 ON이된 순간을 1 스캔까지 기억하며

하강펄스는 ON에서 OFF가 된 순간을 1스캔까지 기억합니다.

(참고로 PULSE에 대한 자세한 포스팅은 SET, RESET 포스팅 강좌에서 자세하게 다루겠습니다.)

 

참고로 하나더 말씀드리면 CTU의 경우 전원이 끊어져도 값이 저장되는 특성을 지니고 있는데

 

Shift+F4 버튼을 눌러 카운터의 레지스터 값을 쓰시고 

 

코일을 통전시키면 초기화 됩니다.

 

아래 기호를 참고하세요.

 

 

2.CTD

 

CTD는 CTU의 반대개념이라고 보시면 됩니다. 위와 같이 래더를 만들어놓고 한번 시뮬레이션 돌려보세요.

 

특이한점은 C0의 초기치가 5로 셋팅되어 있죠.

 

그다음은 예상이 가시죠?

 

P0를 눌러 상승 엣지가 감지될 때마다 수치가 떨어지다가 0이 되면 P20이 점등되겠죠.

 

진짜로 그렇게 되는지 해보세요.

 

 

3.CTUD

 

얘는 좀 특이한 카운터에요. UP과 DOWN을 할 것이라는 것은 너무나 자명하지만.

 

앞서 살펴본 카운터와는 다르게 몇가지 특징이 있어요.

 

UP과 DOWN을 시켜주기 위해서 어떤 버튼을 UP으로 쓸건지 어떤 버튼을 DOWN 버튼으로 쓸건지에 대해서

 

지정해주어야 합니다.

 

또한 상시 통전이 되어있어야 한답니다.

 

차근차근 살펴봅시다.

 

입력 형식은 다음과 같아요.

 

[(CTUD) (저장할 공간명칭) (UP 버튼지정) (DOWN 버튼지정) (카운팅 세팅값)]

 

실제로 소괄호는 쓰이지 않습니다. 설명을 위해서 삽입한거에요.

 

다른거는 앞선 카운터와 비슷한데 UP버튼이랑 DOWN 버튼을 지정하게 되어있네요.

 

UP이나 DOWN버튼을 눌러서 카운팅 세팅값이 되도록 해야만 카운터 접점 C0가 통전된다는 의미이네요.

 

더 쉽게말하면 카운팅 세팅값이 10이라고 하면, UP이나 DOWN버튼을 눌러서 10을 만들어야만 C0 스위치가 닫힌다는

 

이야기이죠.

 

처음보는 것이 등장했죠 ON이라고 써져있는 스위치 버튼

 

이것은 무엇이냐 하면.

 

특수 접점이라고 해서

 

F3을 누른후에 F99를 아래와 같이 입력하면 설명이 나옵니다.

 

이 이외에도 많은 접점들이 정의되어 있어요.

 

다알면 좋겠지만 종종 사용하는 것들 위주로 익혀두시면 좋습니다.

 

PLC는 기능이 너무많아서 다알기가 힘들어요...

 

저는 개인적으로 C가 익숙해서 C코딩을 많이 사용합니다.

 

시뮬레이션을 한번 돌려보도록 하겠습니다.

 

 

초기값이 0이네요.

 

P0를 눌러볼까요.

 

C0 카운팅값이 하나 증가했죠?

 

이제 P1을 눌러보세요.

 

카운팅값 C0가 다시 0이 되어있네요.

 

이번엔 10이라는 수치를 맞춰 P20 램프를 켜보죠.

 

C0가 10이 되니 카운터 접점이 통전되어 P20이 불이켜졌습니다.

 

4.CTR

 

회로는 이렇게 짜주세요 

 

시뮬레이션으로 넘어가봅시다.

 

 

역시 C0 초기값은 0이네요.

 

P0를 한번 눌러봅시다.

 

C0가 증가했네요.

 

3이 될때까지 C0를 눌러봅시다.

 

자 우리는 여기서 P0를 한번 더 눌러보겠습니다.

 

어떻게 되는지 한번 봐봅시다.

 

??

 

초기 상태와 같은 모습이 돌아왔네요.

 

자 예측하셧죠...

 

그렇습니다. 이미 위에도 언급했었듯. CTR은 링처럼 계속 순환합니다.

 

 

 

 

 

 

 

대망의 QUEST 시간이 돌아왔습니다.

 

QUEST1.

 

움직이는 컨베이어에 자재가 실려있어요. 이를 센서 P0이 움직이는 자재를 감지합니다. 공작기계(P20)은 P0의

센싱결과에 따라서 반응하는데 10번 단위로 펀칭을 합니다.

(즉, 10, 20, 30번마다 컨베이어 위로 움직이는 자재를 펀칭해줍니다.)

 

위 시나리오를 고민해보세요.

 

완성된 래더입니다.

 

 

제가 왜 이문제를 냈을까요?

 

여러분이 아직 이문제를 풀어내지 못하셨다면 PLC를 공부하는데 있어서 아주 중요한 포인트를 놓치고 계신거에요.

 

현재 상황에서 알맞는 소자를 PLC도구와 매칭하지 못하시는 것으로 많은 훈련을 필요로 합니다~

 

이문제.. 바로위에 언급드렸던 CTR 예제와 동일합니다.

 

다만 접점에 센서라는 의미가 붙었고 QUEST1의 상황의 의미를 부여했을 뿐이지요.

 

현상황을 어떻게 회로로 풀어내느냐가 바로 PLC라고 할 수 있어요~

 

 

P0을 10번 누를때마다 P20이 점등되는지 보는거에요

 

QUEST2.

게임을 만들어 볼꺼에요.

 

사람 A와 사람 B가 있어요.

A와 B앞에는 PUSH 버튼 P0과 P1이 있습니다.

A와 B중 버튼을 먼저 누른 사람이 스코어 1점(COUNTER A, B)를 얻습니다.

단, 연속 2번 먼저 버튼을 누른 사람은 다음에도(3번째) 먼저 버튼을 누르게 될시 2점이 증가합니다.

 

먼저 20점 이상을 채운사람이 승리하게 되는 게임입니다.

 

이 문제는 펄스 입력을 사용해서 풀어보세요.

 

참고로 제가 앞서 설명드린 각 타이머의 특징과 접점의 특징, 스캐닝순서에 대해서 잘 이해하고 있어야만

 

이문제를 풀 수 있습니다.

 

힌트를 좀 드릴게요.

 

1. 카운터는 상승엣지 또는 하강엣지를 검출하여 동작한다.

2. CTU는 전원이 차단되어도 값이 유지되는 특성을 가지고있다.

3. CTUD는 전원이 차단되면 값도 역시 차단된다.

4. CTR은 숫자가 계속 순환된다.

 

완성된 래더도는 다음과 같습니다.

 

 

 

체크포인트 

 

1.P0이나 P1을 2번 연속누르고 수치가 증가하는지 확인한 뒤에 다시한번 버튼을 누르게 되었을때 수치가 2가 증가하는

  것을 확인해봅시다.

 -> 조금의 야매(?)를 부렸습니다. XG5000에는 한번에 2씩 증가하는 카운터는 애석하게도 존재하지 않아요.

      하지만 카운팅을 2초씩 증가하게끔 만들고 싶은데 포기할 순 없잖아요?

      3번째 연속으로 눌렀을 경우마다 P0 또는 P1을 누르는 순간, 떼는 순간에 모두 펄스를 주면 카운팅이 2씩

      될 수 있겟죠.

 2.P0이나 P1을 1번 또는 2번 누른뒤에 P1과 P0을 눌러 CTUD가 초기화 되는지 확인해봅시다.

   문제에 3번을 연속눌러야 2점이 증가하는 조건이 있기 때문에 연속해서 3번이라는 수치를 프로그램적으로 구현해야 

   합니다. 

   저는 CTUD의 전원 차단시 초기화되는 특징을 이용했어요.

  

이번 퀘스트는 시뮬레이션을 열거하는것이 의미가 없겠네요. 그림은 생략하겠습니다.

 

직접 돌려서 눈으로 한번 확인해보세요.

 

 

QUEST3.

 

우리가 배웠던 지식은 누적이 되어야만 합니다.

 

사이클 시작버튼 P0

사이클 중지버튼 P1

 

1. CYCLE 1이 2회전 하고나면 CYCLE 2로 진입합니다.

2. CYCLE 2도 2회전 합니다.

3. CYCLE 1(2회전)->CYLCLE 2(2회전)->CYCLE 1(2회전)->CYLCLE 2(2회전)->전체사이클 중지

 

다음 회로를 짜보세요. 좀 어려울겁니다. 

 

포기하지 않고 하시면 분명히 큰 실력향상이 있으리라 확신합니다.

 

 

CYCLE 1
CYCLE2
전체 도면
0~36
40~END

완성된 레더도를 보니까 꽤 길죠.

 

시뮬레이션 그림은 따로 삽입하지 않겠습니다.

 

P0를 눌렀을때 위 시퀀스에 의해 동작된다면 성공이에요.

 

무슨 포스팅이 이렇게 긴가요 하겠지만

 

잘 넣어두세요.

 

다 도움이 됩니다. 여기까지 읽어주신분은 복권에 당첨되거나 여자친구가 생기겠죠(?)!

 

ㅎㅎㅎ

 

다음주에 다시봐요.

 

반응형
블로그 이미지

Lubly0104

전기설계 엔지니어가 알려주는 찐전기

,
반응형

안녕하세요 

 

공돌이 직딩입니다. 

 

이 한주간 날씨가 무더워 일하는데 너무 힘이 들었어요..

 

모쪼록 건강 유의하시기 바랍니다.

 

이번 시간에는 타이머라는 놈에 대해서 공부해보도록 할껀데요.

 

타이머(Timer)라는 이름에서도 이 소자가 어떤 역할을 하는지 감을 잡으실꺼에요.

 

한마디로 타이머는 스위치 접점이 열리거나 닫히는 시간을 딜레이 시켜줍니다.

 

요렇게 생겼어요.

 

태엽을 감는것처럼 해당 타임대로 원판을 돌려 세팅하면 시간이 지남에 따라서 시계의 초침이 흐르듯 움직이면서 

 

0이 되면 스위치가 붙거나 떨어져요.

 

더 자세히 이해하기 위해서 타이머의 내부 회로에 대해서 공부해볼까요

 

 

보시다시피 타이머의 2번 7번은 AC220[V] 전원이 들어갑니다.

 

8번은 Common(공통선), 5번은 b접, 6번은 a접이네요.

 

하지만 뭔가 특이한 것이 보입니다. 

 

우리가 기존에 알던 스위치 모양은 삼각형 표시가 없었는데 스위치 위에 갑자기 삼각형 모양이 추가가 됬어요.

 

간략히 설명드리면...

 

타이머에 전원이 인가되면(2, 7번 핀을 통전시키면) 전자기적인 힘을 발생시켜서

 

일정 시간이 흐른뒤에 b접(분홍, 파랑)을 떨구고 a접(분홍, 연두)를 붙인다 입니다.

 

좀 이상한것이 보이네요. 1, 3번을 보시면 a접점이 존재하네요.

 

a접점은 어디에다 써먹으라고 존재하는 것일까요??

 

아래와 같은 회로를 봅시다.

 

 

타이머에 a접점이 없는 상태라고 가정해볼게요.

 

위 회로를 우리가 실제로 회로를 구성하다 보면 자기유지 회로를 만들기 위해서 릴레이를 사용해야 할거에요.

 

왜냐? 일반적으로 타이머라는 놈은 전원이 끊기면 제 역할을 할 수 없거든요.

 

때문에 타이머 자체에 자기유지 기능이 필요합니다.

 

자기유지를 타이머 스스로 할 수 없다보니 릴레이를 사용해야만 합니다.

 

코딩을 하는 사람에게는 단순히 레더상으로 접점을 추가시키면 되는 문제이지만

 

하드웨어를 구성하는 사람에게는 타이머 뿐만 아니라 릴레이를 쌍으로 구매해야 하는 문제가 생겨버리는 거죠.

 

하지만 우리는 돈이 없어요.... 늘 언제나 그랬던것 처럼요

 

타이머 쓰겠다고 릴레이까지 사야하는건 너무 아깝다는거죠.

 

하지만 여러분... 타이머에 a접점이 있다면 어떨까요?

 

타이머 자체가 스스로 자기유지 기능을 할 수 있다면요?

 

자 이쯤되면 눈치 채셨을꺼죠.

 

타이머에 a접점은 별도로 릴레이를 구매하지 않고도 자기유지 역할을 가능토록 합니다.

 

그래서 타이머에 a접점이 있는거지요.

 

 

타이머의 종류를 알아볼까요.

 

1.모터식 타이머

값싼 가격 때문에 실제로 많이 사용되고 있는 타이머에요. 위에서 이미 언급했듯이 태엽처럼 시간을 돌려 제한시간을

 

세팅하고 0이 되면 접점이 붙거나 떨어지는 타이머에요.

 

2.전자식 타이머

간단히 말하죠. 비싸고 기능이 훨씬 더 고급적이에요. 끝.

 

3.제동식 타이머

 

[사진을 찾아봐도 사진이 없네요...]

 

타이머 내부에 접점이 붙는 것을 방해하는 매개체를 넣죠. 공기나 기름같은 것들이요.

 

방해하는 매개물로써 접점이 붙는 시간을 지연시키는 방식으로 타이머 기능을 하게 됩니다.

 

정밀도가 떨어지는 단점등이 있겠네요...

 

산업현장에서 실제로 본적은 없습니다.

 

 

타이머 출력접점 제어 방식에 따른 종류는 다음과 같은 것들이 존재합니다.

 

1.동작시에 시간지연이 있는 것(On Delay)

 

동작시에 지연이 있다는 것의 의미는 입력신호가 들어오고 설정시간이 지난 후 접점이 동작하게 되는 것이에요.

 

2.복귀시에 시간지연이 있는 것(Off Delay)

 

마찬가지로 복귀시 지연이 있다는 것은 입력신호가 차단된 뒤에 접점이 설정된 시간뒤 원상복귀 된다는 것이구요.

 

 

이런 특징을 이용한 3가지 타이머가 있는데 잠깐 소개해보도록 할게요.

 

(1) 한시동작 순시복귀형

 

입력 신호가 들어오고 설정시간이 지난 후 접점이 동작하게 됩니다.

 

다만 입력 신호 차단시에 접점이 바로 원상복귀 됩니다. (실제 PLC 래더 코딩에 가장 많이 쓰입니다.)

 

(2) 순시동작 한시복귀형

 

입력 신호가 인가되는 즉시 접점이 반응 합니다.

 

하지만 입력 신호 차단에도 불구하고 접점이 설정시간 셋팅 후 복귀되는 특징을 가지고 있어요.

 

(3) 한시동작 한시복귀형

 

위 2가지를 짬뽕시켜 놓은 거에요.

 

입력 신호가 인가되었을때도 느릿느릿... 입력 신호가 차단되었을때 복귀도 느릿느릿....

 

답답합니다. 다른분야에서 이것을 쓰는지 모르겠으나.. 저는 써본적 없습니다.

 

자... 이제 타이머에 대해서 어느정도 배경지식이 들어갔으니 실제로 래더를 짜봐야겠죠.

 

Quest 1에서는 XG-5000에서 타이머 회로를 어떻게 짤 수 있는지를 공부해봅시다.

 

Quest1

스위치 PB1을 누르면 L1은 점등되다가 3초 이후에 꺼지고 L2는 3초 이후에 점등되는 회로를

 

한번 구현해보도록 하겠습니다.

 

완성된 회로는 아래와 같아요.

 

 

위 회로를 아래 설명과 대조하여 몸으로 익혀보세요. 

 

제가 100을 설명하지 않을겁니다.

 

실제로 어떻게 래더로 구성되는지를 본인이 깨우치는 것이 더 빨라요.

 

저는 가이드를 잡아드릴게요.

 

Timer 회로는 어떻게 구현할까요?

 

먼저 좌측의 창을 봐보세요

 

 

XG-5000에서는 타이머와 관련된 릴레이 기호에 T+숫자를 부여하여 사용하고 있네요.

 

 

보시듯이 스케일이 나와있죠.

 

1Mili Second는 1/1000초를 나타내는 것 정도는 아시리라 봅니다.

(즉, 1000ms = 1초인 것이죠.)

 

타이머 경계치 붉은박스를 보니 종류 시작 끝이라는 말이 있죠!???

 

종류는 느낌상 타이머의 스케일을 이야기하는 것 같죠?

 

네... 맞습니다. 종류는 시간을 몇 초 단위로 셀 것인가를 이야기 하는 것이에요.

 

자 우리는 어떻게 스케일 단위를 사용할 것인지는 결정했어요.

 

이제 저장 공간에 대해서 이야기를 하려고 해요.

 

이해가 좀 어려울 수 있으나 최대한 쉽게 설명을 드려보도록 하겠습니다.

 

우측 붉은 박스를 보실까요

 

왼쪽 붉은 박스에서 정의했던 내용이 보다 상세하게 적혀있음을 확인할 수 있어요

 

결론부터 말씀드리면,

 

T0부터 T499라는 공간은 0.1초의 스케일을 사용한다.

T500부터 T999라는 공간은 0.01초의 스케일을 사용한다.

T1000부터 T1023이라는 공간은 0.001초의 스케일을 사용한다. 

 

정도로 이해하면 됩니다.

 

즉........

 

시작 주소와 끝 주소는 PLC를 만드는 회사에서

 

사용하는 레지스터 공간별로 의미를 부여한 것이라고 이해하시면 됩니다.

 

LS산전은 T0부터 T499라는 메모리를 사용했을때 0.1초의 스케일을 사용하여 시간을 측정한다고 정의해놨네요.

 

0.1초 스케일도 보이고, 0.01초 스케일도 보이네요.

 

0.01초 스케일을 쓴다면 0.1초 스케일보다는 정밀한 측정이 가능하겠지만 속도는 느려질 수 있겟네요.

 

이렇게 쪼개는 문제에 대해서 정의 하는 것을 분해능이라고 표현하기도 합니다.

 

얼마나 정밀하게 값을 쪼갤 수 있는가에 대한 지표인 것이죠.

 

자 우리는 3초를 만들겁니다.

 

어떻게 만들어야 할까요. 

 

0.1초 스케일에 해당하는 릴레이를 먼저 골라봅시다

 

T000~T501 총 500개의 공간은 0.1초 스케일을 가지고 있다고 하네요.

 

0.1초씩 숫자를 셀 수 있으니까 30번을 세면 3초가 되는 거네요

 

직관적으로 다음과 같은 결론을 얻을 수 있어요.

 

"T0는 0.1초 스케일이니까, 여기에 30을 곱하면 3초라는 의미가 될 수 있겠네"

 

(0.01초라면 300을 곱해주어야겠죠.)

 

이제 F10을 눌러보세요

 

 

F10은 명령어를 입력하는 창입니다

 

[TON T0 30] 를 입력해주세요

 

 

의미를 알아봅시다.

 

Ton -> On Delay 타이머, 

( 참고 Toff: Off Delay 타이머

        TMR: 적산타이머로서 전기를 차단하여도 시간을 저장하고 있는 특성을 가짐

        TMON: 전기시그널의 펄스에 의해 동작

        TRTG: TMON과 비슷하나 2번째 펄스 인가시 타이머 리셋기능 )

 

참고에서 펄스에 관련한 내용은 이후에 자세히 포스팅하겠습니다.

 

T0-> 0.1초 스케일 타이머 사용

 

30-> 0.1*30 = 총 3초

 

정리하면, '한시동작 타이머이며 0.1초 스케일을 30번 세겠다.' 입니다.

 

시뮬레이션을 돌려보죠

 

PB1을 눌렀을때 3초뒤애 L2가 점등되고 L1이 꺼지는걸 확인할 수 있나요?

 

Quest2

계단식 복도 아파트가 있어요. 어두운 저녁 집밖으로 문을 열고 나왔습니다.

 

천장에는 사람을 감지하는 센서 P0이 존재합니다.

 

사람이 접근하여 P0이 On되면 1초뒤 Lamp(P20)가 3초간 켜지고

 

사람이 센서의 범위에서 벗어나면(P0이 Off되면) 2초간 램프(P20)가 켜져 있다가 꺼지게 됩니다.

 

위 회로를 한번 고민해보세요.

 

( 별거 아닌것 같으시죠ㅎㅎㅎ 생각보다 까다로울 수 있습니다. 별거 아니네 하시는분은 이거 안보셔도 될듯합니다 ㅎㅎ)

 

결과 래더는 다음과 같습니다

 

 

바로 시뮬레이션을 돌려볼까요

 

 

P0을 눌렀을때 P20이 1초뒤 3초간 켜져있다가 꺼지나요?

 

 

 

또 P0를 뗏을때 2초간 P20이 켜져 있다가 꺼져있게 되나요?

 

만약 이렇게 된다면 성공입니다.

 

Quest3

 

컨베이어를 통하여 물건들이 움직이고 있습니다. P0 스위치에 의하여 공정은 시작되고 펀칭기(P20)은 10초마다 

 

컨베이어를 움직이는 물건을 분류하기 위해 모터를  구동하고 지시등 (P21)을 점멸합니다.

 

컨베이어는 P1에 의하여 공정 중지하고 근무시간이 지나고 다음날이 되었을때 다시

 

P0을 눌러 공정시작을 누르게 되는데 이때, 전날 작업량을 P20 기억하여 공정을 다시 재개합니다.

 

포인트는 전날 타이머가 6초에서 꺼졌다면, 다음날은 4초만 작업하고 P20이 작동해야 한다는 사실이에요.

 

고민해보세요.

 

저는 완성된 래더를 보여드릴게요.

 

 

시뮬레이션 바로 돌려볼까요.

 

P0을 누르고 P1을 눌렀다가 다시 P0를 10초가 되면 P21과 P20이 작동하고 있나요??

(포인트... P1을 누르면 타이머가 작동시간을 기억하고 있다는 것.)

 

 

P1을 눌러 공정을 중지해보죠

 

 

다시 P0을 눌러서 P20이 전에 했던 작업시간을 기억하여 이후에 작업을 진행하는지를 확인해보세요.

 

잘 동작하고 있나요?

 

좋습니다.

 

더 그럴듯한 회로를 그려보죠

 

10초만 동작하고 회로가 멈추는게 아니라 10초마다 계속 동작하는 회로를 그려보면 다음과 같아요.

 

처음보는 문구들이 생겼죠?

 

이거는 지금 당장 알필요는 없어요.

 

처음보는 문구에 대해서 다음에 설명할 겁니다.

 

위의 회로도 보완해야 할 점은 있어요.

 

시뮬레이션을 돌려보면 P20, P21이 켜져야 할것 같지만 실제로는  10초마다 켜지는 것을 확인할 수 없을겁니다.

 

이유는 간단해요. 워낙 XG-5000의 래더 리프레싱 동작이 빠르기 때문에 마치 안켜지는 것 처럼 보이는 것이죠.

 

실제로 공정에 사용하는 회로를 만들려면 또한 많은 부가 요소들을 생각하여 타이머 세팅시간을 결정해야 합니다.

 

기계류는 전기류와 같이 입력에 즉각 반응하는 것이 아니라 여러가지 요소로 딜레이 됩니다.

(관성에 의한 딜레이, 공기저항에 의한 딜레이, 마찰에 의한 딜레이 등등)

 

이런 딜레이 요소들을 계산하여 타이머 세팅값을 결정하는 것이 가장 이상적인 회로이겠죠.

 

하지만 우리는 아주 기초를 공부하고 있기 떄문에 이런 부분에 대해서는 언급을 지양하도록 하겠습니다

 

Quest4

오늘의 마지막 질문입니다!

 

자동문을 제어해볼겁니다.

 

P0 센서는 사람을 감지하는 센서입니다.

 

사람이 감지되면 모터A(P20)가 작동하여 문을 열어주고,

 

사람이 출입문을 지나가서 센서가 사람을 못 읽게 되면 모터B(P21)가 3초뒤 작동하여 문을 닫아줍니다.

 

자동문 최하단에는 Limit Swich가 존재하여 문이 한계점 위치를 벗어나지 않도록 한계를 정해줍니다.

(자동문이 모터에 의해 계속 동작하여 아예 밖으로 빠져버리면 안되니까)

 

모터A(P20) 방향의 끝단에는 리미트스위치A(P3)가

 

모터B(P21) 방향의 끝단에는 리미트스위치B(P2)가

 

서로 작동하여 모터가 더이상 구동하지 않도록 회로를 차단함과 동시에

 

3초간 문이 대기할 수 있도록 합니다.

 

사실 별거아닌데 말이 좀 어려울 수 있어요.

 

완성된 회로도는 다음과 같아요.

(20.6.4 회로 오류 수정 및 문제 수정)

 

 

 

 

 

시뮬레이션 돌려보죠.

 

자동문을 동작시키는데 다음 시나리오가 존재하겠죠.

 

   ->P0센서가 사람 감지후 P20이 동작하여 자동문을 정방향으로 움직여 줌.(사람을 계속 감지하고 있는상태) 

   ->P20이 동작하는 도중 리미트 스위치(P3)를 건드려서 P20 정지

   ->P3를 건드리게 되면 P20은 정지하고 타이머가 동작후 역방향 모터 P21이 작동 합니다.

      [단 사람이 감지되고 있는 경우 타이머는 동작하지 않고, 닫히고 있는 도중이라도 사람이

       감지되면 다시열려야 합니다.]

   ->3초후 P21방향으로 모터가 구동하게 되면 P3 리미트 스위치는 떨어지게 됨.

   ->P21 자동문을 닫는 방향으로 움직이다가 P2 리미트 스위치를 건드리고 자동문은 정지하게 됨

 

시뮬레이션 설명 추가(20.6.4)

 

P0센서 사람감지하여 자동문(P20 열리는방향)작동

 

사람이 여전히 감지되어있는 상태에서 리미트센서 P2를 건드리게 되면

자동문(P20 열리는 방향)정지하며 타이머는 동작하지 않음

 

그상태에서 사람이 빠지게 되면(P0가 떨어지면) 비로소 타이머가 동작하게됨

 

3초뒤 자동문(P21 역방향)이 작동됨과 동시에 리미트 스위치 P2는 떨어짐

그러다 P4를 만나면 정지.

 

 

모두 성공하셨나요.

 

시뮬레이션 그림을 일일히 열거하는것 보다 제가 써놓은 말대로 스위치를 눌러보면서 

 

어떻게 출력이 변화하는지를 꼼꼼히 살펴보시는게 의미가 있겠네요.

 

오늘은 퀘스트를 말로 설명하는게 다소 무리가 있었을 수 있을 것 같습니다.

 

 

 

너무 추상적으로 Quest가 나간것 아닌가 걱정이 드네요...

 

차차 필력도 늘리고... 백문의 불여일견이라죠...

 

시뮬레이션 말고 PLC도 구매? 해볼 마음만 가지고 있을게요...

 

그럼 오늘 포스팅은 이만 여기서 줄이도록 하고 다음시간에 찾아뵙도록 할게요.

 

즐거운 한주간 보내시기 바랍니다.

반응형

'PLC > PLC(XG-5000)' 카테고리의 다른 글

8. SET, RESET 제어의 개념과 응용  (0) 2019.07.17
7. Counter의 개념과 응용  (1) 2019.07.10
5. 인터록 회로의 개념과 응용  (4) 2019.06.26
4. On우선회로, Off 우선회로  (0) 2019.06.19
3. 자기유지회로  (2) 2019.06.12
블로그 이미지

Lubly0104

전기설계 엔지니어가 알려주는 찐전기

,
반응형

안녕하세요! 공돌이 직딩입니다.

 

지난 시간에 이어서 또다른 래더를 더살펴보도록 하겠습니다.

 

첫 번째 ON 우선회로 입니다.

 

회로를 한번 보시죠. 

 

 

위 그림에서 보시듯이 두 개의 누름버튼이 존재합니다.

 

하나는 ON버튼이고 하나는 OFF 버튼이네요.

 

우리가 배웠듯이 ON버튼을 누르면 릴레이(코일에 통전)가 작동하여 전자기적인 힘에 의해서 릴레이 A접점을

 

B접점 상태로 만들어 주겠죠.

 

여기까지는 우리가 공부했던 자기유지 회로와 동일합니다.

 

하지만 여기서 OFF버튼을 눌러봅시다. 어떤 현상이 벌어질까요?

 

가장먼저 자기유지를 도와주는 릴레이 접점이 다시 떨어지게 되겠네요.

 

그다음 코일에 전류는 흐르지 않게되어 전체회로가 OFF가 되는 결과를 빚게 되네요.

 

하지만 ON과 OFF를 같이눌렀다면????

 

잘보시면 알겠지만 ON, OFF 버튼을 같이 눌렀을때

 

릴레이가 동작하게끔 회로가 구성되어 있음을 알 수 있어요.

 

두 번째 OFF 우선회로 입니다.

 

회로를 보겠습니다.

 

 

ON우선 회로와 비교하여 보았을때 어떤점이 달라졌죠?

 

자세히 보시면 OFF버튼이 ON과 릴레이 A접점과는 다르게 직렬로 연결되신 것을 확인 할 수 있어요.

 

이쯤되면 눈치채셨을 겁니다.

 

ON 우선 회로는 ON, OFF 회로를 동시에 눌렀을때 릴레이가 작동되었다면

 

OFF 우선 회로는 말 그대로 ON, OFF 회로를 동시에 눌렀을때 릴레이가 정지하는 것이죠.

 

실제 산업에는 OFF 우선회로가 더 폭넓게 사용됩니다.

 

안전상의 이유로요.

 

Emergency Swich가 있습니다.

 

모터의 구동중 비상상황 발생시 회로를 차단시켜주는 스위치 역할을 하는 것이죠.

 

어떻게 응용할 수 있는지 사례를 살펴보겠습니다.

 

시나리오를 던지겠습니다.

 

컨베이어 위에 움직이는 피가공체가 있고, 밀링머신이 있습니다.

 

회로 구성은 위 그림과 같습니다.

 

 

피가공체는 하나의 가격이 3,000만원을 호가하는 고가의 제품입니다.

 

공정라인에 문제가 발생하면 즉각 해당 공정을 중지해야만 합니다.

 

안그러면 수 천만원의 금액이 하늘로 증발하게 되니까요.

 

작업자는 공정을 모니터링하다가 지루했는지 휴대폰 게임을 해댑니다.

 

근데 하필이면 휴대폰 게임도중 공정에 문제가 터졌습니다,

 

밀링머신이 맛이 가서 가공이 엉망으로 진행되고 있습니다.

 

작업자는 당황하여 휴대폰을 내던지고 컨베이어 모터 정지버튼과 동작버튼을 동시에 눌렀습니다.

 

이때 회로가 동작한다면???

 

작업자가 당황하여 OFF를 다시 누르기 전의 시간에 이미 3,000만원의 돈이 하늘로 증발했다면...

 

각오해야겠죠.

 

보시듯이 작업자가 Emergency Swich를 작동시켰을때 ON과 OFF를 동시에 눌렀습니다.

 

작업자 실수로 조작중 ON과 OFF를 동시에 눌러 버렸습니다. 

 

이때 시그널에 우선순위를 주는 것이 얼마나 중요한 일인지 작업자는 깨달았을 겁니다.

 

작업자는 깨닫죠. 

 

회로가 아래와 같이 변경되야 한다는 걸요.

Off 우선회로 공정

 

ON과 OFF를 동시에 눌렀지만 OFF가 우선시 되야해!.

 

이런 연유로 OFF 우선회로가 실로 중요한 회로가 아닐 수 없습니다.

 

 

 

 

이론이해는 이쯤에서 접어두고 본격적으로 래더를 만들어 보도록 하겠습니다.

 

XG-5000을 켜줍시다.

 

프로젝트 만드는 법은 이전에 배웠죠? (익숙해졌으리라 믿습니다.)

 

백지화면에 우리는 다음과 같은 완성회로를 작성하여 시뮬레이션을 돌려볼겁니다.

 

래더 작성 과정에 앞서 한가지 짚고 넘어갈 것이 있습니다.

 

시뮬레이션으로는 ON버튼과 OFF 버튼을 동시에 누를 수 없습니다. (실제 PLC를 사용한다면 가능하겠지만요)

 

따라서 우리는 차례대로 ON과 OFF버튼을 눌러진 상태로 만들어주고 회로의 정상 동작여부를 판단할 겁니다.

 

[명심하세요~ ON버튼 OFF버튼이 다눌러져있는 상태여야만 정상 동작여부 확인이 가능합니다.]

 

 

 

엔지니어로서 단축키쯤은 외우고 있어야 된다고 말씀드렸죠?

 

되짚어 봅시다.

 

F3 => A접점

F4 => B접점

F5 => 수평회로

F6 => 수직회로

F9 => 코일

F10 => 명령창

 

우리는 이렇게 총 6가지 단축키를 이용하여 회로를 구성할 겁니다.

 

심볼에 대해서 정의해볼게요

 

P0=> ON Swich

P1=> Off Swich

M0=> Relay

P20=> Lamp

 

우리는 위와 같이 실제 누름스위치 기호를 XG-5000의 심볼로 치환할 겁니다.

 

결과를 봐볼까요

 

 

위 그림대로 래더를 작성하셨나요?

 

그럼 시뮬레이션을 돌려봅시다.

 

시뮬레이션을 돌리기 위해서 종전에 말씀드렸던 것과 같이 XG-5000 컴파일러에게 어떤 PLC를 선택하여 시뮬레이션

 

하겠다는 부분을 명시해줘야 한다고 설명드렸었죠.

 

저는 아래와 같이 선택하였습니다.

 

 

자 그럼 회로를 테스트 해봅시다.

 

ON과 OFF를 차례대로 눌린 상태로 만들어 줍시다.

 

반드시 ON과 OFF가 눌린상태여야 된다고 거듭 말씀드립니다.

 

ON버튼과 OFF 버튼에 모두 파란불이 들어온 상태를 눌린상태라고 판단하시면 됩니다.

 

확인해보시면 ON과 OFF가 모두 눌려있을때 램프에 불이 들어와있음을 확인하실 수 있을 겁니다.

 

아래 그림처럼 ON과 OFF가 동시에 눌려있음에도 램프에 불이 들어옵니다.

 

ON 우선회로는 ON과 OFF가 동시에 눌려있을때 ON 우선 작동한다.

 

 

반대로 OFF우선 회로를 만들어 시뮬레이션을 돌려볼까요.

 

 

ON우선 회로와 회로 작성법이나 시뮬레이션 방법이 동일하기 때문에 살명은 생략하겠습니다.

 

OFF 우선회로의 결과물은 다음과 같습니다

 

 

보시는것처럼 ON과 OFF가 모두 파란불이 들어와있음에도 램프의 점등이 꺼져있는 것을 확인할 수 있죠.

 

OFF 우선회로는 ON과 OFF가 동시에 눌려있을때 OFF 우선 작동한다.

 

오늘의 포스팅은 여기까지 하겠습니다.

 

 

- 끊임없는 노력은 어제와 다른 나를 만들고 어제와 다른 나는 오늘과 다른 내일을 창조한다. -

 

 

 

 

 

 

 

 

 

 

 

반응형

'PLC > PLC(XG-5000)' 카테고리의 다른 글

6. 타이머의 개념과 응용  (5) 2019.07.03
5. 인터록 회로의 개념과 응용  (4) 2019.06.26
3. 자기유지회로  (2) 2019.06.12
2. PLC(PLC 설치 및 인터페이스)  (0) 2019.06.06
1. PLC (PLC의 개요)  (0) 2019.05.28
블로그 이미지

Lubly0104

전기설계 엔지니어가 알려주는 찐전기

,
반응형

안녕하세요, 공돌이 직딩입니다.

 

오늘은 지난번에 이어서 간단한 예제를 바탕으로 레더를 직접 짜보도록 하겠습니다.

 

자기유지회로를 래더로 만들기 위해 먼저 자기유지회로를 공부해 봅시다.

 

자기유지회로는 왜 쓸까요?

 

스위치를 눌러서 램프를 키고 싶다고 가정해봅시다. 

 

회로는 대략 위와 같겠죠.

 

 

자기유지회로 구성

 

하지만 여간 불편한게 아닙니다. 램프를 키려고 보니까 스위치를 계속 누르고 있어야 된다는 말이죠.

 

집에 있는 형광등을 보세요. 불을 키고싶은데 누르고 떼도 항상 켜져있지 않나요? 

 

그래서 우리는 위 회로와는 조금 다른방식의 회로구성이 필요하다고 생각할 수 있습니다.

 

아주 아주 오래전 누군가는 이고민 끝에 릴레이라는 전자기구를 응용하기 시작합니다.

 

릴레이라는 녀석은 전원을 투입시키면 전자기적인 힘에 의해서 스위치를 꾹 닫거나 여는 역할을 하죠.

 

릴레이의 구조를 한번 살펴볼까요 

 

유접점 릴레이

릴레이는 반도체형으로 만들어진 것이 있고 유접점 회로로 만들어진 것이 있습니다.

 

보통 싼가격으로 간단한 회로를 구성할 목적이라면 그냥 유접점 회로를 사용하게되고

 

높은 신뢰성이 요구된다면 전자식 릴레이를 사용하게 될 겁니다.

 

 

전자식 릴레이

무접점(전자식)이든 유접점이든 상관없습니다. 본 목적은 똑같아요.

 

사용자가 원할때 스위치를 열어주거나 닫아주는 것.

 

그럼 릴레이라는 놈은 어떻게 스위치를 열어주거나 닫아줄까요?

 

어떻게 이 부분을 이해시킬지 고민하다가

 

아래와 같이 릴레이에 대해서 쉽게 이해할 수 있는 회로가 있어서 첨부하였습니다. 

 

그림을 보면 Pole이 있고 NC, NO가 보입니다.

 

Pole이라고 써져있는 부분은 실제로 C접점 (Common), 공통선이라고 부릅니다.

 

NC는 Normal Close의 약어로 평상시에 닫혀있는 것(b접점)을 말합니다.

 

보통 코일에 전기가 흐르지 않고 있을때에는 스프링의 힘에 의해서 스위치가 NC쪽에 닿아있죠.

 

NO는 Normal Open의 약어로 평상시에 열려있는 것(a접점)을 말합니다.

 

코일에 통전이 되면 전자기적인 힘(아주 어려운 전자기학 시간에 배운 플레밍의 왼손법칙)

 

이 발생하여 스프링의 탄성력을 이겨내고 NC에서 NO로 스위치가

 

옮겨 붙게 되는 것이죠.

 

릴레이는 더도말고 덜도말고 딱 이정도만 알면 됩니다.

 

코일에 전기를 흐르면 전자기학적 힘이 발생하여 스위치를 땡겨준다.

 

우리는 사실을 응용하여 손을 한번만 데도 램프가 켜지는 마법을 부려볼겁니다.

 

어떻게 하냐고요?

 

아래와 같이 하면 됩니다.

출처 : https://automicx.tistory.com/7

위에 그림을 한번보세요.

 

아까와 다른점이 있죠. R-a 스위치가 PB라는 누름 스위치와 병렬로 연결되었습니다.

 

이말은 즉, PB를 사람이 손으로 누르면 Relay의 코일에 전기가 흘러서 열려있는 R-a 스위치를 닫아준다는 것 입니다.

 

닫아주면 오른쪽 회로와 같이 되겠죠. 그럼 PB는 떨어졌는데도 여전히 코일에 닫힌 R-a 스위치를 통해서 전류가 흐르고

 

있음을 파악할 수 있습니다.

 

 

 

 

이제 본격적으로 XG-5000을 통한 래더 코딩에 들어가봅시다.

 

우리는 위에서 배운회로를 XG-5000으로 구현할거에요

 

아래 완성된 회로를 보세요

 

앞서 본 시퀀스 회로와 래더를 대칭시켜볼게요

시퀀스 회로도 래더 회로도
PB P0000
Relay M0000(릴레이)
R-a M0000(릴레이 내부의 접점 스위치)
Lamp P00020

위와 같이 시퀀스 회로도가 래더 회로도와 대칭이 됩니다.

 

자 그럼 래더 회로도의 P0000, M0000 등을 어떻게 넣느냐를 알아야겠죠.

 

이를 위해서는 단축키를 어느정도 숙달해야 합니다.

 

자주쓰는 단축키 위주로 정리해보죠

 

단축키

의미

F3 A접점 
F4 B접점
Shift + F1 상승 펄스
Shift + F2 하강 펄스
F5 래더 가로선
F6 래더 세로선
F9 코일
F10 명령창
Shift + F3 Set 코일
Shift + F4 Reset 코일

 

그럼 마지막으로 앞서 배운 내용을 바탕으로 정리를 해봅시다.

시퀀스 회로도 래더 회로도 단축키
PB P0000 F3
Relay M0000(릴레이 코일) F9
R-a M0000(릴레이 내부의 접점 스위치) F3
Lamp P00020(램프) F9

 

 

사실 아래 그림과 같이 메뉴에 사용자가 클릭하여 쓸 수 있도록 버튼이 마련되어있긴 합니다.

 

하지만 엔지니어로써 효율적인 업무처리를 위하여 단축키 숙달은 필수입니다.

 

 

단축키도 알았으니 차근차근 래더를 만들어 봅시다.

 

흰색 창 좌측 최상단을 클릭한 후 F3을 눌러봅시다. 아래와 같은 창이 뜰꺼에요

 

여기서 F3은 A접점이라고 이미 설명드렸죠.

 

A접점을 Push Button으로 대체시켰습니다. 변수/디바이스에 p0을 써줍시다.

그리고 확인을 눌러볼까요.

 

p0에 대한 A접점이 하나 생성 되었네요.

 

다음으로 선을 한번 가로로 연장해봅시다. 위 상태 그대로 F5를 한번 눌러보세요. 가로선이 아래와 같이 연장되는 것을

 

확인할 수 있죠.

 

세로선도 한번 그어볼까요.

 

대충 선을 어떻게 잇는지 감을 잡으셨으리라 봅니다. 이어서 각종 요소를 첨가해볼게요

 

우선 마우스 커서를 다음 위치에 넣어봅시다.

그리고 이상태로 F9를 눌러보세요.

 

창이 하나뜬 것을 확인할 수 있죠. 앞서 보았던 A접점 추가창과 비슷하네요. 차이점이 있다면

 

여기서는 변수의 명칭이 P가 아니라 M으로 시작을 하네요.

 

이것을 이해하려 하기보다는 XG-5000의 일종의 룰로 기억하시는게 더 편하실 겁니다. 

 

코일 관련된 변수는 M으로 시작 한다는 사실을 잊지마세요! 

 

커서를 다시 아래 그림과 같이 넣고 접점을 하나 더 추가해보죠

 

 

이번에는 A접점의 명칭이 P가 아니라 M으로 바뀌었습니다.

 

무슨의미 일까요?? 

 

지금 막헷갈리시기 시작할겁니다.

 

어떤거는 P를 쓰고 어떤거는 M을 쓰네??

 

말씀드려보죠.

 

우리가 만드는 저회로가 실제로 하드웨어로 구성되면 어떻게 생겨먹었을까요??? 우리는 하드웨어를 이해하고 래더를

 

이해해야 합니다. 왜냐구요?? 래더는 실제 회로 구성을 소프트웨어로 옴겨 놓은것에 지나지 않거든요!

 

시나리오를 하나 던지겠습니다.

 

엘리베이터에 사람이 서있습니다. 이사람이 사람을 감지하는 적외선 센서에 감지되면 사람이 센서 범위를 벗어나도

 

무한하게 램프가 점등됩니다.

 

(실제로는 타이머 기능을 넣어 사람이 빠지면 램프가 꺼지지만 설명이므로 설정을 오바해서 잡았습니다.)

 

아래 회로는 자기유지회로 실사판이에요.

 

실제로 회로의 접점이나 코일이 이렇게 구성될 수 있다는 것을 알고 계시면 좋겠습니다.

 

회로적으로보면 어떤일이 일어날까요?

 

사람을 감지하는 센서는 사람이 감지되면 스위치를 닫아주는 역할을 할 겁니다. 즉, 

 

어떠한 복잡한 센서도 결국 스위치에 지나지 않는다는 것이죠. 무언가를 감지하느냐 못하느냐에 따라서

 

스위치 상태를 어떻게 할거냐가 결정되는겁니다.

 

따라서 사람감지센서는 P0즉 A접점 스위치로 매칭됩니다.

 

사람이 적외선 센서에 한번 감지되면 사람이 그 범위를 벗어나도 계속 램프가 켜진다고 했죠. 즉, 자기유지회로가 필요한

 

겁니다.

 

자기유지를 위해서는 릴레이가 필요하다고 했죠. 위에서 언급했듯. 릴레이의 원리는 코일에 전류를 흘리면

 

스위치가 닫힙니다.

 

완성된 위의 회로를 보세요.

 

릴레이가 통전(실제의 릴레이 내부 코일-M0)되면 릴레이내부 A접점(실제의 릴레이 내부 A접점 스위치-M0)이 닫혀서 자기유지회로를 생성하게 됩니다.

 

또한 릴레이내부 A접점(실제의 릴레이 내부 A접점 스위치-M0)이 닫혀서 램프(P20)를 점등하게 되죠.

 

두서 없이 적어내린글에 이해가 안가실수도 있겠습니다.

 

처음부터 차근차근 다시 읽어보면서 회로가 실제로 어떻게 구현되는지

기호들이 각각 어떻게 매칭되는지를 중점적으로 보신다면 이해가 가실것 같아요

 

이렇게 회로의 기호와 실사판에 대한 매칭이 되었으면 PLC에 대해서 공부할 준비가 된 겁니다.

 

 

 

회로의 가장 마지막단에는 F10을 눌러 반드시 END를 적어주어야 합니다.

 

END명령은 XG5000 컴파일러에게 회로의 끝단을 알려주는 것으로서 래더 코딩이후 반드시 END 명령을 적어야 한다는

 

사실!. 잊지 마세요.

 

 

이제 회로를 만들었으니 동작이 잘되는지 시뮬레이터를 돌려봅시다.

 

시뮬레이팅을 하기 위해서는 사전 세팅이 필요합니다.

 

프로젝트 창의 I/O 파라미터에 들어가보시면 아래창과 같은 화면이 뜨게 되는데요.

 

보시면 슬롯 0(메인)의 모듈명이 비어있을 겁니다.

 

우리는 가상의 PLC를 바탕으로 회로를 돌려볼 건데 어떤 PLC타입을 이용하겠느냐는 물음에 대답하려고 합니다.

 

모듈 셀을 한번 클릭해보세요 

 

아래 창처럼 4가지 입출력 모듈이 있습니다. 이중 하나를 선택해주세요 . 

 

제경우는 XBC-DR64H를 선택했습니다.

 

 

그리고 메뉴창에서 붉은 체크가 표시되어있는 다음 아이콘을 찾아 클릭해주세요

 

 

그럼 다음창이 뜹니다. -> 확인눌러주세요

 

디버깅에 에러가 없다면 다음과 같은 화면이 나타나게 되죠

 

확인 눌러주시고 이제 아래와 같이 메뉴바에 모니터에서 시스템 모니터를 찾아 클릭해줍시다.

 

 

그럼 가상의 PLC가 뜰겁니다. 아래처럼요

 

PLC의 회색 네모난 단추 모양들은 실제 PLC의 입력 단자라고 보시면 됩니다.

 

반면 동그란 모양들은 PLC 출력이라고 생각하시면 되구요.

 

저는 XBC-DR64H를 선택했기 때문에 입력 32점에 출력 32점이 될거에요.

 

한번 클릭하시면 입력값이 1(On)이고

 

두번 클릭하시면 입력값이 0(Off)이에요.

 

우리는 자기유지가 잘되는지 확인하기 위해서 P0을 두번눌러 P0이 OFF상태임에도 램프가 켜지는지 확인할 겁니다.

 

일단 P0을 눌러주면 화면이 아래와 같이 변하네요

 

붉은 램프가 점등되었고 단추는 눌린상태(파란색)입니다.

 

파란색 단추를 한번 더눌러보면

 

누른 단추를 풀렀음에도 램프(출력-P20)  계속 불(붉은색)이들어오고 있죠.

 

자기유지가 되고있는 것이죠.

 

오늘의 포스팅은 여기까지입니다.

 

오늘도 즐거운 하루보내세요!

 

반응형

'PLC > PLC(XG-5000)' 카테고리의 다른 글

6. 타이머의 개념과 응용  (5) 2019.07.03
5. 인터록 회로의 개념과 응용  (4) 2019.06.26
4. On우선회로, Off 우선회로  (0) 2019.06.19
2. PLC(PLC 설치 및 인터페이스)  (0) 2019.06.06
1. PLC (PLC의 개요)  (0) 2019.05.28
블로그 이미지

Lubly0104

전기설계 엔지니어가 알려주는 찐전기

,