\ 전기 엔지니어의 꿈 :: 'PLC' 카테고리의 글 목록

'PLC'에 해당되는 글 21건

21. ADC의 개념

PLC/PLC(XG-5000) 2020. 8. 25. 21:55
반응형

안녕하세요 공직자에요.

 

어느덧 PLC XG-5000의 포스팅 시즌 1이 마무리가 되어갑니다.

 

확실히 다음포스팅을 언제 진행한다고 정해진 것은 없지만

 

이번 포스팅후 대략 1~2달간 휴지기를 가지고 다른 주제로 포스팅을 이어나가고자해요.

 

물론 PLC 포스팅이 끝난 것은 아니며, 관련 자료준비나 장비가 어느정도 갖추어지고 여러분들께

 

소개해드릴 수 있다고 판단될 때 다시 포스팅을 진행할겁니다.

 

확정된것은 아니지만 간단히 다음 시즌 주제를 소개해드리자면

 

회로이론이나 전력전자공학 두 개중에 한가지를 이론중심으로하여 집중적으로 소개시켜드리는 것을

 

다음 커리로 잡고있어요.

 

사실 실무를 하다보면 이론적인 부분을 등한시하게 되는 경우가 많이 생기는데 필드경력이 자기 노하우고 능력이 될 수

 

있겠지만 훌륭한 엔지니어는 노하우와 학식을 모두 갖추어야 된다고 생각해요.

 

엔지니어라는건 어쨋든 공학이라는 기초학문에 근거하여 이루어진 분야니까요.

 

자...

 

서론이 길었네요. 이제 본격적으로 ADC라는 것에 대해서 설명을 드려보도록 할게요!

 

ADC는 Analog to Digital Converter의 약어에요

 

아날로그랑 디지털은 많이들 들어보셨을 겁니다.

 

근데 막상 아날로그가 뭔지 설명하라고 하면? 디지털이 뭔지 설명해보라고하면 알쏭 달쏭한게 사실이에요.

 

아날로그를 색깔로 표현하여 쉽게 설명드리면 요래요.

 

???? 이게 뭐냐구요 ????

 

한마디로 아날로그는 스무스해요. 

 

뭐가 스무스 하다는건지는 색깔을 구분하실 수 있으시다면 충분히 이해가 갈겁니다.

 

디지털은 어떨까요?

 

색이 요래요.

 

스무스하지 않고 딱딱 경계가 끊기죠.

 

이게 바로 아날로그와 디지털이에요.

 

그럼 아날로그랑 디지털을 왜 구분해야 하는지 궁금하실 겁니다.

 

아날로그는 흔히 우리가 사는 세상을 사람의 시각으로 바라본 표현방법이고

 

디지털은 흔히 우리가 사는 세상을 기계의 시각으로 바라본 표현방법이에요.

 

무슨소리인고하니

 

위에 도형처럼 기계가 인식하기 위해서는 컴퓨터의 저장공간에

 

전기가 들어와있을때를 찐한 파란색으로 정의할 수 있고

 

전기가 안들어와있을때 연한 파란색정도 정의하면 구분이 될거니까요

 

 

근데 우리는 뭔가 아쉬워요.

 

컴퓨터에 가지수를 이해시키는건 전기를 너었다 뺐다하면서 2가지 방법으로 밖에 가지수를 표현할 수 밖에 없는데

 

실제로 컴퓨터에 이해시켜야 하는 색깔은 2가지가 아니거든요.

 

컴퓨터에 최대한 스펙트럼처럼 표현을 하고싶은 인간의 욕심이 생기는거죠.

 

그래서 사람이 고민을 합니다.

 

전기가 들어왔을때랑 안들어왔을때 두 가지의 경우를 더많이 쪼개면 어떨까????

 

전기라는 놈도 전기가 쪼금들어갈때랑 많이들어갈때를 나누어 의미를 부여하면 어떨까????

 

이게 바로 전기에서는 분해능이라고 표현을 하는 것이에요.

 

즉 1과 0을 얼마나 더 정교하게 쪼갤 수 있느냐에 대한 지표인것이지요.

 

추가 설명을 드려볼게요

 

1과 0이라는 놈은 아래 그림에서 5[V]와 0[V]를 의미 한답니다.

 

이 5[V]와 0[V]로는 아주찐한 파란색과 아주연한 파란색밖에 구분을 못해요

 

허나 0[V]와 5[V]를 위 그림처럼 전위 레벨에 따라서 색깔을 기계에 인식시킬 수 있다면 어떨까요?

 

0[V]에서 1[V] 사이에서는 아주 연한 파란색

 

1[V]에서 3[V] 사이에서는 아주 연한 파란색 보다는 진한 파란색

 

3[V]에서 4[V] 사이에서는 아주 연한 파란색 보다는 진한 파란색보다 더진한 파란색

 

4[V]에서 5[V] 사이에서는 제일 진한 파란색

 

전위라는 것은 실제로 스무스하게 나타난다는 점은 모두다 아실거에요.

 

전류도 마찬가지구요. 물론 실효값 기준이에요.

 

여기까지 내용을 정리하자면 ADC를 사용해야 하는이유는

 

우리 사는세상을 기계한테 인식시켜주기 위함이라는 것.

 

꼭 기억하세요.

 

그럼 얼마나 잘게 쪼개야하느냐의 문제가 생깁니다.

 

무수히 많이 쪼개서 세상과 똑같이 표현할 수 있다면 이상적이겠지만

 

쉽게 요렇게 생각해볼까요?

 

자 여러분은 카메라를 살때 혹은 티비를 살때 얼만큼 선명하기를 바라세요?

 

여러분의 대부분은 무조건 선명한게 좋은거 아닌가요?

 

하시겠지만, 실리적으로 따져보면 그렇지가 않습니다.

 

선명한놈은 비쌉니다.

 

공학은 비싼거에 매우 예민합니다.

 

그럼 우리는 현실과 타협을 하게되지요.

 

에이, 어차피 사람인지 동물인지 대충, 알아볼 수 만 있으면 되지 내가 티비로 연예인 모공까지 볼 필요는 없다.

 

적당히 덜 선명한걸 사자.

 

이게 바로 분해능에 대한 고찰이에요.

 

즉 분해능이 높으면 현실세계와 가장 밀접하게 표현할 수 있겠지만 이를 저장할 공간도 많이 필요하고 무엇보다

 

연산처리 속도가 느려진다는 단점이 있거든요.

 

아주 정교한 부분까지 제어를 해야겠다하면 속도가 느리더라도 고분해능 사양을 채택해야하고

 

그렇게 정교할 필요가 없는 제어로직이다 하면 저분해능 사양을 채택해야 합니다.

 

ADC에 대한 개념은 여기서 더도말고 덜도말고 딱 이정도만 알면 된다고 생각합니다.

 

이제는 본격적으로 XG5000에서 쓰이는 문법과 간단한 예제를 바탕으로 보겠습니다.

 

예제는 실제로 보여드릴 수는 없고 역시 시뮬레이터로 대체해야 함을 너그러이 양해 부탁드립니다.

 

 

XG5000을 사용하여 LS산전사 PLC를 사용하다보면 입력모듈을 사용하여 외부에서 센서입력값을 PLC로 넘기고

 

특수하게도 아날로그 입력 모듈이 따로 있는데요.

 

XGF-AD8A

아날로그 입력용 특수모듈 단자입니다.

 

자그럼 본격적으로 XG5000을 켜주시고 프로젝트와 파일을 하나 만드신후 기존에 시뮬레이션 돌리시듯이

 

아래와 같은 창과 동일하게 세팅합니다.

 

지금까지는 슬롯 00번만 사용했다면 요번엔 슬롯 01번을 추가하여 시뮬할거에요.

 

슬롯 01번은 이렇게 추가를 해주시구요

 

먼저 완성된 레더를보고 의미를 하나씩 뜯어보는 방식으로 설명을 드릴건데요.

 

기존에 언급드린바와 같이 실제 장비(센서나 모듈, PLC)가 없어 이론적인 설명에 그쳐야함을 양해부탁드립니다.

 

레더를 한번 봐보겠습니다.

 

시뮬레이션을 돌리면 접점의 명칭이 바뀌기 때문에 아래설명까지 읽고 레더를 작성해주시기 바랍니다.

 

이 예제는 단선 검출예제인데요.

 

 

U01.00.F는 아날로그 입력모듈에서 보내는 READY 신호로써

 

자체 에러검증이후 이상이 없다면 논리값이 1이 됩니다.

 

그럼 그다음 나오는... U01.10.0이라는 포맷에 대해서 자세히 뜯어볼가요?

 

여기서 UXY.10.0은 무엇이냐!

 

X는 베이스 번호를 말하구, Y는 슬롯번호를 말하는데요.

 

베이스번호는 0이고, 슬롯번호가 1번이죠. 왜그런지 이해가 안가시는 분은 레더 스크린샷 바로 직전의

 

스크린샷을 참고해주세요

 

그리고 여기서 UXY.10에서 10이라는 의미는 각 입력 채널에 대한 단선 검출신호인데요.

 

단선이 안된상태 즉, 정상값이라면 0이며 단선이 되었다면 1이 됩니다.

 

문제에 대한 이해는 하셨으리라 봅니다.

 

단선된 부분에 한하여 램프가 점등되는 것이지요.

 

실제로 보여드리면 더좋았을텐데 아쉽습니다.

 

 

I/O 파라미터창으로 진입한다음

 

슬롯 01번을 더블클릭하면 창이하나가 뜹니다

 

 

 

 

 

XGF메뉴얼 발췌

위 그림에서 보듯 운전채널 파라미터는 A/D 변환을 수행할 채널의 운전과 정지를 지정하는데요.

 

사용하지 않는 채널을 정지로 설정하면 변환 속도가 좀 더 빨라집니다.

 

입력전압(전류) 범위가 나타나있죠

 

바로 위에서 설명드렸던것처럼 해당범위내 전류치와 전압치를 최대 16,000등분 할 수 있다는 것을 의미합니다.

 

출력 데이터 타입은 출력되는 값에 음의 부호를 넣어서 16,000등분을 할 것인지 양의 부호만으로 16,000등분

 

할것인지를 나타냅니다. 

 

평균처리 부분은 출력 데이터를 얼마나 이쁘게 다듬어서 써먹을지에 관련된 설명인데 자세한 내용을

 

소개하자니 포스팅이 개념을 정리하는 부분과는 별개로 이야기가 길어질듯 하며, 중요한 부분이라기보다

 

추가학습이 필요한 부분이라고 판단되어, 필요하신 분들께서는 질문을 주시거나  XGF-AV8A 메뉴얼을 보고 공부

 

해보시는 것이 좋을듯 합니다.

 

이렇게 기본적인 세팅을 거치고 실제로 컴파일링을 하시면

 

배선된 센서의 신호를 특수모니터링 기능을 통하여 값이 PLC로 올라오는 것을 확인할 수 있습니다.

 

 

 

ADC를 산업에 응용하는 사례를 들자면 제가 몸담고 있는 회사를 바탕으로 설명드릴 수 있겠어요.

 

예를들어 전기판넬인 ECP(Elec Control Panel) 내부에 발열소자들이 많고 반도체 부품이라든지

 

전력변환기기가 온도에 민감하여 이를 냉각시켜주는 팬이 있는경우가 많습니다.

 

적정 온도이상인 경우 냉각팬을 강하게 구동한다던가 적정온도인 경우 미들탬포로 구동한다던가

 

스무스하게 제어하는 로직에 바로 ADC가 쓰일 수 있겠네요.

 

물론 해당로직은 PLC가 아닌 마이컴으로 프로그래밍되긴 합니다만 PLC역시 이런 로직을 구현할 수 있습니다.

 

ADC 파트 관련된 PLC 포스팅은 개념위주로 설명을 드렸습니다.

 

사실 ADC라는 것이 개념만 이해하면 사용법이야 회사별로 다른 모듈을 학습하고 써먹는것에 지나지 않아

 

응용이랄것이 따로 없습니다.

 

여러분께서는 왜 ADC를 써야하는지 어떻게 기계에게 현실을 인식시킬 수 있는지만 꽉잡고 있으면 됩니다.

 

이상으로. 시즌 1 PLC XG5000 포스팅을 마칩니다.

 

지금까지 부족한 제필력 따라서 열심히 읽어주시느라 고생많으셨고.

 

서두에 언급드린바와 같이 다음엔 약 1달뒤 전기 관련된 학문적인 부분에 대하여 집중적으로 포스팅을 진행코자 합니다.

 

PLC(XG5000) 포스팅은 이후에 준비되는대로 진행토록 하겠습니다.

 

기나긴 포스팅 읽어주셔서 고맙습니다.

 

코로나 조심하시고 저는 쉬었다가 

 

다시 돌아오겠습니다.

 

 

 

반응형
블로그 이미지

Lubly0104

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

,
반응형

안녕하세요 공직자에요 

 

지난주에 문제를 내고 풀어보니

 

문제에 부연 설명이 필요한 부분이 있어 수정한 부분이 있었습니다.

 

수정된 부분을 바탕으로 해설 시작하겠습니다.

 

 

 

 

QUEST1.

 

 

인버터에는 저속 중속 고속이 존재하며

 

중속이 되기 위해서는 필히 저속구간을 거쳐야 하기에 저속지령이 5초간 유지된후

 

1초뒤 중속 지령을 5초간 유지한다고 가정하겠습니다.

 

고속구간도 마찬가지로 저속과 중속구간을 거쳐야 하며 중속 지령을 5초간 유지하고

 

1초뒤 고속지령을 5초간 유지한다고 가정하겠습니다

 

P0를 누르면 저속지령이 나오고

 

저속 지령을 받은 인버터는 5초간 저속지령을 유지합니다.

 

그리고 이후는 위에 기술한 저속, 중속, 고속 순서대로 동작합니다.

 

P1을 누르면 인버터에는 지령값이 0이 들어값니다

 

속도를 저장하는 데이터레지스터는 D0이며

 

저속은 10

중속은 60

고속은 120 입니다.

 

이 로직을 MCS로 구현해보시기 바랍니다.

 

 

 

->

 

인버터에는 지령치가 급변하여도 그에 맞게끔 추종제어를 합니다.

 

허나 모터입장에서 바라보았을때 전류치가 급변하면

 

모터 내부의 손상의 우려가 있습니다.

 

왜냐구요?

 

인덕터 전압 공식

위 수식은 전기공학도라면 누구나 아는 인덕터의 전압공식입니다.

(비전공자분들을 위해 이부분 역시도 이후 전기 관련 포스팅[회로이론]을 하면서 자세하게 다루겠습니다.)

 

수식을 해석해보면 시간에 따른 전류의 변화율이 클수록 많은 전압이 유도된다는 것으로

 

해석할 수 있습니다.

 

모터에는 도선이 코일형태로 여러번 감겨있다는 사실정도는 누구나 아실겁니다.

 

이러한 도선에 짧은시간에 급변하는 전류치가 생긴다면 어떻게 될까요?

 

유기되는 전압이 매우 커지겠죠?

 

그러면 결국은 어느지점 이상에서 절연이 파괴될 겁니다.

 

때문에 단계적으로 전류치를 올려주는게 매우매우 중요합니다.

 

이러한 현상은 기계시스템과 전기시스템의 차이점에서 비롯됩니다.

 

전기시스템에 비해 기계시스템은 관성에 대한 영향이 크기 때문에

 

전기시스템의 급변하는 지령치를 기계시스템은 평균치로 받아들이게 됩니다.

 

전기에서 흔히 이야기하는 실효값의 의미도 교류전력을 마치 직류처럼 해석하기

 

위한 테크닉에 지나지 않습니다.

 

교류는 매우빠른 속도로 변화하기 때문에 순간 값을 육안으로 확인하기 힘듭니다.

 

해서 우리는 매우 빠른 전류를 제어할때 그 결과를 기계시스템을 바라보고 비로소

 

제어가 제대로 되는지 확인할 수 있는 것이지요.

 

급변하는 전류치를 일일히 해석하여 제어가 제대로 되고 있는지 확인하는 일은 없지요.

(가능은 합니다.)

 

이야기가 잠시 샜습니다.

 

본론으로 돌아와 MCS로 구현하고자 하는 취지는 저속구간을 거치지 않고

 

중속 고속 구간을 거칠경우 자동으로 차단되게끔 하려는 의도인데요.

 

이는 실제 모터의 경우 S곡선을 그리면서 증가하는 그래프를 참고해보시면 도움이 될겁니다.

 

우리는 S곡선까지 그릴 의도는 아니기 때문에 문제에 대한 해답만 들춰보도록 하겠습니다.

 

완성된 래더는 이렇습니다.

19_QUEST1_1 기존레더.pdf
0.02MB

시뮬레이션을 한번 돌려보시기 바랍니다

 

아마도 위 래더대로 동작했을때 MCS가 어떤기능을 하는지에 대해 알아차리기 어려울수도 있을듯 하네요.

 

해서 2번째 변형된 레더를 다시 보여드립니다.

 

19_QUEST_1 변형레더.pdf
0.02MB

변형된 레더의 핵심은 MCS 동작이 서로 연동되지 않고 내가 누르는 PUSH BUTTON에 의해 동작되게끔

 

만들므로써 MCS가 어떠한 역할을 하는지에 대한 이해를 돕는것입니다.

 

이 래더를 시뮬레이션을 돌려보시는데

 

제가 말한 부분을 확인하며 MCS의 기능에 대해서 이해하는 것이 조금더 쉬울 듯 합니다.

 

첫번째: P5만 눌러보세요

 

D0에 저속값(10)이 저장되나요?

 

 

두번째: P5와 P6를 같이 눌러보세요

 

D0에 저속(10)이 저장된 이후 중속(60)이 저장되나요?

 

아래그림을 확인바랍니다.

 

 

세번째: P5와 P6를 끄고난 이후(초기화 이후)에 P6만 한번 눌러보세요

 

중속값인 60이 D0에 들어가나요?

 

안들어갈겁니다.

 

시뮬을 돌려보세요

 

이게 바로 핵심이에요.

 

저속을 거치지 않고 중속 또는 고속을 바로 거치면 인터록이 걸린다.

 

즉 MCS는 선행 MCS가 SET되지 않으면 후행 MCS가 SET될 수 없다.

 

물론 실제 인버터는 고속지령을 준다고 한번에 전류치를 왕창 내보내지는 않습니다.

 

모터가 필요한만큼만 전류치를 내보내거든요.

 

위 예제는 이해를 돕기위해 설명한 것이라고 생각바랍니다.

 

독자분들중 또 어느분은 '순차제어 기능을 구지 이렇게 구현할 필요가 있나요?'라고 말씀하실 수 있겠습니다.

 

제 대답은 '아니오'입니다.

 

구현은 여러분 마음입니다.

 

어떤 기능이든 구현만 되면 된다고 늘 말씀드렸었죠?

 

선택은 여러분 마음이지만 다른 사람이 짜논 코드를 내가 해석한다고 했을때

 

이런식으로 구현된 문구가 있다면 이에 대해서 미리 숙지하고 있어서 즉각 이해할 수 있다면

 

더 훌륭한 엔지니어라 할 수 있겠죠?

 

 

 

 

 

 

QUEST2.

 

MCS는 주로 전제조건을 사용하는 로직에 쓰입니다.

 

선행조건이 갖추어져 있어야 다음공정이 진행되고

 

다음공정이 진행되는 도중이라도 선행조건이 깨지면 로직이 구현되지 않죠.

 

이런 상황을 가정해봅시다.

 

1,000개의 제품을 신뢰성 테스트를 한다고 봅시다.

 

1,000개의 제품은 각각 A, B, C, D 4단계의 TEST를 진행하여야 하며

 

A단계를 통과한 제품들만 B, C, D단계를 거칠 수 있고,

 

마찬가지로 B단계를 거친 제품만 C, D를 거칠 수 있습니다.

 

각 단계별로 품질검수자가 육안으로 해당 제품의 양, 부를 판정할 수 있는 파일럿 램프가 있는데요.

 

A, B단계까지만 거친 제품에 한해서는 제품 품질이 불량이며 P20이 점등되며

 

C단계까지 거친 제품에 한해서는 제품 품질 보통이며 P21이 점등되고

 

D단계까지 거친 제품에 한해서는 제품 품질이 양호이며 P22가 점등됩니다

 

A, B, C, D TEST 각각은 1초의 소요시간이 필요하며

 

다음 TEST 진행시까지의 시간은 필요하지 않습니다. 

 

(20.8.11 추가)

A 테스트를 진행하기 위해서 P2 버튼을 눌러야하고

B 테스트를 진행하기 위해서 P3 버튼을 눌러야하고

C 테스트를 진행하기 위해서 P4 버튼을 눌러야하고

D 테스트를 진행하기 위해서 P5 버튼을 눌러야 합니다.

 

A, B, C, D에 대한 테스트가 끝나고 P9 버튼을 누르면

 

M0가 RESET되며 다음 제품의 테스트를 진행하기 위해서는

 

다시 P0를 눌러야 합니다.

 

A, B, C, D 테스트는 필히 알파벳 순으로만 진행될 수 있습니다.

 

정리하면

 

A를 건너뛰고 B, C, D TEST가 불가능하며

B를 건너뛰고 C, D TEST가 불가능합니다.A, B를 건너뛰고 C, D TEST 역시 불가능하고C를 건너뛰고 D TEST가 불가능하고A, B ,C중 하나라도 건너뛰고 D만 단독으로 TEST가 불가능합니다.

 

카운터는 C0를 사용하며 1,000개 회전시 자동 리셋 됩니다.

 

불량인 제품의 개수는 D0에 저장되고

 

보통인 제품의 개수는 D1에 저장되며

 

양호한 제품의 개수는 D2에 저장됩니다.

 

이 문제를 MCS로 구현해보세요.

 

 

->

 

문제를 내고보니 문제에 대한 설명이 부족한 부분이 있어서 부족한 부분에 대해서 추가사항을

 

수정하였습니다.

 

 

QUEST2_REV02.pdf
0.02MB

시뮬레이션을 한번 돌려봅시다.

 

먼저 TEST를 시작한다는 최초시작버튼인 P0를 누르고

 

이후 차례대로 P2, P3를 눌러 A, B TEST가 완료되었다는 상황을 만들어봅시다.

 

 

불량등(P20)이 점등됨을 확인할 수 있습니다.

 

또한 A, B TEST만 통과 하였다는 사실을 P9(공정 끝점)을 누름으로 인해서 D0에 저장됨을 확인할 수 있습니다.

 

P0를 다시 OFF 상태로두고 P9만 눌러보면 불량 제품의 개수(D0)값이 1개 증가된 것을 확인할 수 있습니다.

 

이때 주의할 점은 P0를 OFF 상태로 두고 P9버튼을 눌러야 한다는 점인데요.

 

P0를 ON 상태로두고 P9를 누르면 시퀀스가 반복되어 C0값이 아래 그림과 같이 튀게 됩니다.

 

이러한 현상을 막기 위해서 인터록을 시퀀스상 인터록을 걸어준다면 더 좋겠지만 

 

여러분의 숙제로 남겨드리고 넘어가도록 하겠습니다.

 

다음 시뮬레이션 TEST를 위해서 다시 모든 스위치를 OFF 상태로 둡니다.

 

 

P0를 다시 눌러서 다음 제품에 대한 TEST의 시작을 알립시다.

 

이후 P2, P3, P4를 각각눌러 A, B, C TEST에 통과한 상황을 만들어 봅시다.

 

 

그림에서 보시다시피 P20은 소등되고 P21이 점등되고 있음을 확인할 수 있습니다.

 

마찬가지 방법으로 P9를 눌러 D1이 증가되는지 확인해 봅시다.

 

D1이 증가했네요.

 

이번엔 A, B, C, D TEST를 모두 통과한 상황에 D2가 증가하는지를 봐봅시다.

 

즉, P2, P3, P4, P5를 모두 눌러서 A, B, C, D TEST가 모두 통과된 상황을 가정하고 D2가 증가하는지 보는겁니다.

 

일단 램프는 P22가 정상 점등됨을 확인할 수 있으며

 

이상태에서 P9를 눌러보면

 

D2가 하나 증가한 것을 확인할 수 있습니다.

 

자 이번엔 다른부분을 확인해볼 겁니다.

 

TEST A가 진행되지 않았는데 TEST B 또는 TEST C 또는 TEST D가 진행되는 경우 동작하는지 여부이죠.

 

정답은 동작하지 않아야 합니다.

 

TEST A가 선행조건이고 TEST A가 끝났을때만 TEST B, C, D를 진행하게끔 프로그래밍 되어있기 때문이죠.

 

P0를 누르고 P2를 건너뛰고 P3를 눌러도 반응이 없음을 확인할 수 있습니다

 

 

마찬가지로 P4를 눌러도 반응이 없구요.

 

QUEST 1과 마찬가지로 꼭 이런식으로 선행공정을 구현해야 하느냐 하시면

 

이게 정답은 아닙니다.

 

이런 방법도 있다는걸 알면 더 좋을뿐이지요.

 

 

 

QUEST3.

 

스마트폰에 잠금기능이 있습니다.

 

홍채인식, 패스워드 방식, 지문인식 방식등이 있겠지만

 

우리는 패턴인식방식을 Step relay 바탕으로 구현해 볼거에요.

 

아래 패턴을 주목해보시죠.

 

 

패턴의 원은 총 9개로 구성되며 이들의 순서와 조합에 따라 잠금이 풀리거나 풀리지 않거나

 

결정된다는 것은 누구나 아는 사실일테지요.

 

저는 이 패턴들에 넘버를 붙여보겠습니다.

 

규칙1.  패턴 모양이 내가 잠금 해제시 저장한 모양과 똑같아야 한다는 사실은 누구나 알겠죠

규칙2. 더불어, 똑같은 도형을 그리더라도 순서에 어긋나면 패스워드가 풀리지 않는 사실도 주목해야 합니다.

규칙3. 하나의 패턴 인식점이라도 빠지면 잠금해제가 안됩니다.

 

문제 본격적으로 나갑니다.

 

P9를 누르면 내가 누르는 패턴의 순서를 기억합니다.

 

예를들어 P9를 누르고

 

P0->P3를 누르는 경우 잠금해제 패턴은 P0와 P3가 순서대로 눌렸을때로 인식을 하게 됩니다. 

 

내가 잠금해제패턴에 만약 다음 순서로 눌렸을때 해제 된다고 가정해봅시다

 

P0->P3->P1->P4->P2->P5->P6->P7->P8

(이런 복잡한 패턴을 누가 저장하겠느냐 하지만은 저는 위 패턴을 사용합니다. ㅎㅎ)

 

이 로직을 오로지 Step relay로만 구현해보는 겁니다.

 

패턴이 정확하게 완성되었을때 잠금해제창으로 넘어가는 코일은 M0라고 가정합니다.

 

제가 기술하지 않은 부분은 자유롭게 사용 가능하며 데이터레지스터든 코일이든 자유롭게 사용할 수 있습니다.

 

(20.8.12 추가)

P10 버튼: 패턴입력완료 버튼

P20 버튼: M0 활성확인용 파일럿 램프

P11 버튼: 현재입력창 초기화버튼D0~D8: 패턴저장용 데이터레지스터D10~D18: 패턴입력용 데이터레지스터 

 

그리고 이렇게 구현되었을때 기존 순차회로를 구현했던 방식과 다르게 어떠한 장점이 있는지

 

생각해보세요.

 

->

 

 

해설 들어갑니다.

 

여기서 중요한점은 어떤 버튼을 누르냐에 따라 첫번째 스텝이 결정되는게 달라진다는 것인데요.

 

9개의 버튼에서 나타날 수 있는 순서에 유관한 순열의 갯수는 어떻게 될까요?

 

1개의 점으로 만들 수 있는 패턴

2개의 점으로 만들 수 있는 패턴

3개의....

.

.

.

9개의 점으로 만들 수 있는 패턴

 

정리해보면

 

무려 9만 8천여개입니다.

 

패턴을 풀다가 삽질을 하면 최대 9만 8천번 삽질이 가능하단 결론입니다.

 

바꿔말해보면 9만 8천여개의 각각의 패턴에 대해서 잠금을 푸를수 있게 로직을 짜야한다는 의미이기도 한데요.

 

저는 여러분께 이런 해결방법을 권해드리고 싶어요.

 

제가 소개드리는 것이 정답이 아니며, 더 훌륭한 엔지니어들께서 간단한 코드로 구현하실 수 있겠지만

 

이 역시 하나의 방법이 될 수 있다는 사실을 너그러이 이해바랍니다.

 

 

QUEST3_REV3.pdf
0.11MB

래더는 위에 첨부파일을 참고바랍니다.

 

이번 퀘스트는 굉장히 해설이 길지만, 원리만 따져보면 간단합니다.

 

현재 입력되고 있는 데이터레지스터 값과 저장된 데이터레지스터 값을 비교해야 한다는 것이 핵심인데요.

 

시뮬레이션을 돌려보면서 천천히 뜯어보겠습니다.

 

가장 먼저 시뮬레이션 화면을 열어보세요

 

문제가 다소 복잡하고 길지만 차근차근 이해시켜드리겠습니다.

 

실제 휴대폰을 보면 패턴을 입력하여 암호를 저장하는 창과

 

저장된 암호를 바탕으로 내가 입력하고 있는 패턴이 일치하는가를 확인하여 주는 인터페이스가 구분되어있죠?

 

우리는 먼저 패턴을 입력하여 암호를 저장하는 창을 구현할 겁니다. 

 

먼저 P9버튼을 누르면 내가 현재 패턴을 입력할 준비가 되었음을 알리게 됩니다.

 

 

저는 문제에서 제시한 패턴을 입력시키기 이전에

(P0->P3->P1->P4->P2->P5->P6->P7->P8)

 

P1->P2로 구성된 패턴이 정상 동작하는지를 확인해보겠습니다.

 

P1만 눌러보세요.

 

D0에 1이 저장되었음을 확인할 수 있죠. 1이 저장되었다는 것은 P1이 눌렸다는 의미로 받아들이시면 됩니다.

 

그다음 P2만 눌러보겠습니다.

 

이번엔 D1에 2가 저장되었음을 알 수 있습니다. 이때도 D0는 1을 유지하지요.

 

휴대폰을 보시면 알겠지만 패턴은 두개가 동시에 눌릴 수 없는 구조이기에 별도로 인터록을 걸지 않았습니다.

 

패턴은 2개가 될 수도 있고 9개가 될 수도 있지만 저는 2개의 패턴만을 사용하여 암호를 저장하기로 하였으니

 

P2를 끄고 P10을 눌러줍시다.

 

이렇게 되면 데이터레지스터 D100이 0에서 1로 변하면서 패턴 저장단계가 아니라

 

실시간 패턴 감시상태로 넘어가게 됩니다. 

 

여기까지가 패턴 저장의 과정이었습니다.

 

이번엔 내가 저장한 패턴을 기초로하여 실제 입력하는 패턴이 일치할때 M0가 활성화 되는지(P20이 켜지는지)

 

관찰하면 됩니다.

 

정상 동작하군요!

 

이번엔 제가 문제에서 제시했던

 

(P0->P3->P1->P4->P2->P5->P6->P7->P8) 패턴을 암호로 저장해보겠습니다.

 

초기화 버튼인 P11을 눌러주시고 현재 입력 대기상태 데이터를 초기화 해주세요

 

그리고 다시 P9를 눌러 패턴 저장단계로 진입합니다.

 

D100값이 1에서 0으로 바뀌었음을 확인할 수 있고 P20역시 소등되었음을 확인할 수 있죠.

 

이제 패턴순서대로 눌러봅니다.

 

데이터레지스터를 주목하세요

 

 

모든 데이터레지스터가 정확하게 입력되었다면 P10을 누릅니다.

 

자 D100이 1로 바뀌었습니다.

 

다시 패턴입력 상시 대기모드로 진입하였습니다.

 

이제 똑같은 패턴을 입력했을때 P20이 켜지는지 확인하기만하면 됩니다.

 

최대한 자세하게 설명을 드린다고 하였으나 이해가 가시지 않으시는 분들도 분명 있을듯 합니다.

 

댓글 남겨주시면 해설드리겠습니다.

 

 

 

 

QUEST4.

 

마라톤을 한다고 가정합니다.

 

마라톤은 대략 42KM를 완주해야 하는 스포츠 종목임은 누구나 다 알고 있으실테죠.

 

허나 프로들이 즐기는 마라톤이 아니라 한강이나 강변에서 즐기는 소소한 마라톤대회가 열렸습니다.

 

참가자는 헤아릴 수 없이 많고 마라톤을 하는 참가자들은 일정 반환점마다 푸시버튼을 통하여 자기 넘버를 태그하고

 

해당 반환점을 거쳤음을 증명해야 합니다.

 

반환점이 예를들어 4개가 있다고 가정하면 1, 2, 3, 4가 순서대로 태그되어야만 완주로 인정 받을 수 있는 것이죠.

 

1을 거치지 않고 2, 3, 4만 태그되었다면 부정으로 간주하여 실격처리 합니다.

 

자기 넘버를 기입하는 방법은 실제로는 센서를 이용한 태그로 이루어지겠으나 현재는

 

시뮬레이터를 기반으로한 퀘스트를 진행중이므로 직접 D0에 자기의 번호를 기입한다고

 

가정해봅시다. 

 

1, 2, 3, 4를 모두 거쳐 완주한 마라톤 참가자들의 숫자는 D10에 저장됩니다.

 

반환점은 총 5개로 가정합니다.

 

이를 MCS로 구현해보시기 바랍니다.

 

 

->

 

 

QUEST4.pdf
0.03MB

일단 래더를 참고해보시기 바랍니다.

 

여기서 비실행문을 기술한 이유는

 

실제 리더기로부터 참가자의 번호를 읽어낼 수 있는 외부 아날로그 데이터

 

입력 로직인데 우리는 시뮬레이터 기반의 프로그램을 작성중이기 때문에

 

비실행문 처리하였습니다.

 

시뮬레이터에서는 푸시버튼을 활용하여 문제를 진행할 수 있도록 하였어요.

 

실제로 이부분에 대한 자세한 설명은 여러분께 숙제로 남겨드리겠습니다.

 

제가 포스팅한 부분을 스스로 생각하고 공부하셨다면

 

이정도 래더해석은 쉽게 하실 수 있으리라 믿습니다.

 

시뮬레이터를 실제로 돌려보면 P4를 누름과 동시에 D1이 카운팅 되는데

 

실제로는 참가자가 0번일 수 없기 때문에(물론 0번부터 시작한다고 가정하면 래더가 수정이 되어야 합니다.)

 

통상은 1번부터 참가자 번호가 부여된다고 보았을때 이전까지 참가자 넘버가 정확히 태그되었다면

 

D10, D11, D12, D13, D14에서

 

D13과 D14가 같아지는 경우는 실제로 P14가 태그되는 순간입니다.

 

D14의 초기값은 0이고 D13은 0일 수 없기 때문입니다.

 

실상 이 예제는 실제로 사용하기엔 다소 부적합한 부분이 존재하나 MCS의 이해를 돕기 위한 것으로써 이해해주시면

 

감사하겠습니다.

 

이상. 공직자였습니다.

 

끝.

반응형
블로그 이미지

Lubly0104

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

,
반응형

안녕하세요!

 

공직자에요.

 

지난시간에 이어서 예제를 들고왔습니다.

 

오늘의 퀘스트는 총 4가지 입니다.

 

제 포스팅을 꾸준히 구독해오신 분이라면 익숙한 개념으로 별로 어렵지는 않겠어요.

 

QUEST1.

 

첫번째 문제는 쉽게갈까요?

 

모터를 돌리는데 인버터가 필요하다는 사실은 아마 아시리라 믿습니다.

 

인버터에는 저속 중속 고속이 존재하며

 

중속이 되기 위해서는 필히 저속구간을 거쳐야 하기에 저속지령이 5초간 유지된후

 

1초뒤 중속 지령을 5초간 유지한다고 가정하겠습니다.

 

고속구간도 마찬가지로 저속과 중속구간을 거쳐야 하며 중속 지령을 5초간 유지하고

 

1초뒤 고속지령을 5초간 유지한다고 가정하겠습니다

 

P0를 누르면 저속지령이 나오고

 

저속 지령을 받은 인버터는 5초간 저속지령을 유지합니다.

 

그리고 이후는 위에 기술한 저속, 중속, 고속 순서대로 동작합니다.

 

P1을 누르면 인버터에는 지령값이 0이 들어값니다

 

속도를 저장하는 데이터레지스터는 D0이며

 

저속은 10

중속은 60

고속은 120 입니다.

 

이 로직을 MCS로 구현해보시기 바랍니다. 

 

 

QUEST2.

 

MCS는 주로 전제조건을 사용하는 로직에 쓰입니다.

 

선행조건이 갖추어져 있어야 다음공정이 진행되고

 

다음공정이 진행되는 도중이라도 선행조건이 깨지면 로직이 구현되지 않죠.

 

이런 상황을 가정해봅시다.

 

1,000개의 제품을 신뢰성 테스트를 한다고 봅시다.

 

1,000개의 제품은 각각 A, B, C, D 4단계의 TEST를 진행하여야 하며

 

A단계를 통과한 제품들만 B, C, D단계를 거칠 수 있고,

 

마찬가지로 B단계를 거친 제품만 C, D를 거칠 수 있습니다.

 

각 단계별로 품질검수자가 육안으로 해당 제품의 양, 부를 판정할 수 있는 파일럿 램프가 있는데요.

 

A, B단계까지만 거친 제품에 한해서는 제품 품질이 불량이며 P20이 점등되며

 

C단계까지 거친 제품에 한해서는 제품 품질 보통이며 P21이 점등되고

 

D단계까지 거친 제품에 한해서는 제품 품질이 양호이며 P22가 점등됩니다

 

A, B, C, D TEST 각각은 1초의 소요시간이 필요하며

 

다음 TEST 진행시까지의 시간은 필요하지 않습니다. 

 

(20.8.11 추가)

A 테스트를 진행하기 위해서 P2 버튼을 눌러야하고

B 테스트를 진행하기 위해서 P3 버튼을 눌러야하고

C 테스트를 진행하기 위해서 P4 버튼을 눌러야하고

D 테스트를 진행하기 위해서 P5 버튼을 눌러야 합니다.

 

A, B, C, D에 대한 테스트가 끝나고 P9 버튼을 누르면

 

M0가 RESET되며 다음 제품의 테스트를 진행하기 위해서는

 

다시 P0를 눌러야 합니다.

 

A, B, C, D 테스트는 필히 알파벳 순으로만 진행될 수 있습니다.

 

정리하면

 

A를 건너뛰고 B, C, D TEST가 불가능하며

B를 건너뛰고 C, D TEST가 불가능합니다.

A, B를 건너뛰고 C, D TEST 역시 불가능하고

C를 건너뛰고 D TEST가 불가능하고

A, B ,C중 하나라도 건너뛰고 D만 단독으로 TEST가 불가능합니다.

 

카운터는 C0를 사용하며 1,000개 회전시 자동 리셋 됩니다.

 

불량인 제품의 개수는 D0에 저장되고

 

보통인 제품의 개수는 D1에 저장되며

 

양호한 제품의 개수는 D2에 저장됩니다.

 

이 문제를 MCS로 구현해보세요.

 

QUEST3.

 

스마트폰에 잠금기능이 있습니다.

 

홍채인식, 패스워드 방식, 지문인식 방식등이 있겠지만

 

우리는 패턴인식방식을 Step relay 바탕으로 구현해 볼거에요.

 

아래 패턴을 주목해보시죠.

 

 

패턴의 원은 총 9개로 구성되며 이들의 순서와 조합에 따라 잠금이 풀리거나 풀리지 않거나

 

결정된다는 것은 누구나 아는 사실일테지요.

 

저는 이 패턴들에 넘버를 붙여보겠습니다.

 

규칙1.  패턴 모양이 내가 잠금 해제시 저장한 모양과 똑같아야 한다는 사실은 누구나 알겠죠

규칙2. 더불어, 똑같은 도형을 그리더라도 순서에 어긋나면 패스워드가 풀리지 않는 사실도 주목해야 합니다.

규칙3. 하나의 패턴 인식점이라도 빠지면 잠금해제가 안됩니다.

 

문제 본격적으로 나갑니다.

 

P9를 누르면 내가 누르는 패턴의 순서를 기억합니다.

 

예를들어 P9를 누르고

 

P0->P3를 누르는 경우 잠금해제 패턴은 P0와 P3가 순서대로 눌렸을때로 인식을 하게 됩니다. 

 

내가 잠금해제패턴에 만약 다음 순서로 눌렸을때 해제 된다고 가정해봅시다

 

P0->P3->P1->P4->P2->P5->P6->P7->P8

(이런 복잡한 패턴을 누가 저장하겠느냐 하지만은 저는 위 패턴을 사용합니다. ㅎㅎ)

 

이 로직을 오로지 Step relay로만 구현해보는 겁니다.

 

패턴이 정확하게 완성되었을때 잠금해제창으로 넘어가는 코일은 M0라고 가정합니다.

 

제가 기술하지 않은 부분은 자유롭게 사용 가능하며 데이터레지스터든 코일이든 자유롭게 사용할 수 있습니다.

 

(20.8.12 추가)

P10 버튼: 패턴입력완료 버튼

P20 버튼: M0 활성확인용 파일럿 램프

P11 버튼: 현재입력창 초기화버튼D0~D8: 패턴저장용 데이터레지스터D10~D18: 패턴입력용 데이터레지스터 

 

그리고 이렇게 구현되었을때 기존 순차회로를 구현했던 방식과 다르게 어떠한 장점이 있는지

 

생각해보세요.

 

QUEST4.(20.8.12 문제수정)

 

마지막 문제는 쉽게가겠습니다.

 

마라톤을 한다고 가정합니다.

 

마라톤은 대략 42KM를 완주해야 하는 스포츠 종목임은 누구나 다 알고 있으실테죠.

 

허나 프로들이 즐기는 마라톤이 아니라 한강이나 강변에서 즐기는 소소한 마라톤대회가 열렸습니다.

 

참가자는 헤아릴 수 없이 많고 마라톤을 하는 참가자들은 일정 반환점마다 푸시버튼을 통하여 자기 넘버를 태그하고

 

해당 반환점을 거쳤음을 증명해야 합니다.

 

반환점이 예를들어 4개가 있다고 가정하면 1, 2, 3, 4가 순서대로 태그되어야만 완주로 인정 받을 수 있는 것이죠.

 

1을 거치지 않고 2, 3, 4만 태그되었다면 부정으로 간주하여 실격처리 합니다.

 

자기 넘버를 기입하는 방법은 실제로는 센서를 이용한 태그로 이루어지겠으나 현재는

 

시뮬레이터를 기반으로한 퀘스트를 진행중이므로 직접 D0에 자기의 번호를 기입한다고

 

가정해봅시다. 

 

1, 2, 3, 4를 모두 거쳐 완주한 마라톤 참가자들의 숫자는 D10에 저장됩니다.

 

반환점은 총 5개로 가정합니다.

 

이를 MCS로 구현해보시기 바랍니다.

 

 

 

퀘스트는 일단 여기까지인데요.

 

문제를 내면서도... 속으로 저는 이문제를 어떻게 풀지 고민입니다.

 

문제에 대한 해설은 준비하여 차주에 찾아뵙도록 할게요.

 

추가로. 이후의 포스팅 일정에 대해서 간략히 말씀드리면

 

XG-5000 관련 포스팅은 앞으로 2~3개 정도의 포스팅 이후에 잠시 휴식기를 가질 것 같습니다.

 

어느정도 오래 휴식기를 가질지는 제가 어느 시점에 실제 PLC키트를 구매할지와 연관이 되기 때문에

 

장담은 드릴 수 없습니다...ㅜ

 

그렇다고 아예 포스팅을 중단하는 것은 아니고...

 

기술쪽 관련하여서는 기타 전력전자나, 제어공학, 전기기기 관련된 지식들도 공부하면서 포스팅할 예정이고.

 

말씀드렸듯이 마이컴 제어, 일상, 재테크 관련 포스팅을 병행하여 진행할 예정입니다.

 

사실 제가 배움에 있어서 욕심이 많은편이라 이것저것 해보는 것을 좋아하는데 자칫 블로그 주제가 산으로 가지 않을까

 

걱정이 되지만 큰틀은 유지하는 관점에서 포스팅을 이어보도록 하겠습니다. 

 

이상 공직자였습니다.

 

끝.

 

반응형
블로그 이미지

Lubly0104

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

,
반응형

안녕하세요 공직자에요.

 

실상 기본적인 내용에 대해서는 다 말씀드린듯 합니다.

 

PLC에는 사실 제가 포스팅하는 내용 이외에도 배워야 할 것들이 너무나 많습니다.

 

허나 PLC라는 것이 회사별로, 버전별로 쓰이는 문법과 방식이 조금씩

 

바뀌기 때문에 모든 내용을 알 수는 없고 외우는것도 그렇게 크게 의미가 있지는 않거든요.

 

해서. 저는 기본적인 틀을 소개해드리고, 그것을 바탕으로 원하는 로직을 스스로 구현하실 수 있도록

 

길잡이 해드리자는 취지로 포스팅 해드렸었는데요.

 

이번 포스팅은 기존에 배웠던 방식으로도 충분히 구현이 가능하지만

 

조금 다른 방법으로 해결할 수 있는.... 알아두면 요긴하게 쓰일만한 내용에 대해서 설명드리고자 합니다. 

 

바로 스텝릴레이인데요.

 

스텝이라는 명칭에서 대충 감이 오실거에요.

 

사람이 계단을 하나하나씩 밟고 앞으로 나아가듯이.

 

스텝릴레이라는 녀석도 하나하나씩 코일이 SET되어야 다음 코일이 SET 될 수 있답니다.

 

순차제어를 하는데 필요하겠죠?

 

XGK 메뉴얼 발췌

128조* 100스텝 (S00.00 ~ S127.99) 라고 되어있네요.

 

조는 무엇이고 스텝은 무엇일까요?

 

눈치빠르신 분들은 대충 감을 잡으셨겠지만.

 

조라는 것은 아파트로 비유했을때 한층이고

 

스텝이라는 것은 호수를 말합니다.

 

요즘엔 계단식 아파트로 되어있는 구조가 많아 한층에 집이 2개씩 있는 경우가 있는데.

 

옛날아파트 보면 한층에 다세대의 호수가 있죠?

 

조라는 것은 아파트의 층수로 보시면 되고

 

스텝이라는 것은 아파트의 호수로 보시면 되겠습니다.

 

 

S00.00 S01.00 S02.00 . ~ . S127.00
S00.01 S01.01 S02.01 . ~ . S127.01
. . . . ~ . .
.   . . ~ . .
S00.99 S01.99 S02.99 . ~ . S127.99

행렬로 보았을때 128 x 100개의 구조입니다.

 

할당된 메모리가 12,800개 라는 의미이죠.

 

설명은 겨우 이게 끝입니다.

 

그럼 예제를 바탕으로 어떻게 구현되는지 직접봐볼까요?

 

래더는 이렇게 짜주시구요.

S00.00은 F9를 눌러서 코일 입력하듯이 입력해주시면 됩니다.

 

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

 

아무것도 먼저 누르지 말고 SET 되어 있는 코일을 하나 봐볼까요?

보시다시피 P0를 누르지 않았는데도 S00.00이 SET 되어있죠?

 

우리는 이 결과부터 다음 사실을 알 수 있습니다.

 

1. 'S00.00은 시작부터 ON이 되는데 PLC가 RUN될때부터 자동으로 SET이 된다'

 

그상태로 P1을 눌러 변화를 한번 보세요.

자 무슨변화가 있었나요?

 

보시다시피 P20이 꺼졌죠? 즉, S00.00이 꺼졌습니다.

 

우리는 다음 결과로부터 아래 사실을 추가 정리할 수 있습니다.

 

1. 'S00.00은 시작부터 ON이 되는데 PLC가 RUN될때부터 자동으로 SET이 된다'

2. 'S00.00 이후의 스텝의 Coil이 Set되면 앞 스텝 Coil의 Reset 된다

    즉, S00.00이 Set되어 있는 상태로 S00.01~S00.99중 하나가 Set 되면 S00.00은 Reset된다. 

 

그상태로 P2를 다시눌러 전기를 빼보겠습니다.

 

보시다시피 자기유지가 되고 있는것을 확인할 수 있습니다.

 

1. 'S00.00은 시작부터 ON이 되는데 PLC가 RUN될때부터 자동으로 SET이 된다'

2. 'S00.00 이후의 스텝의 Coil이 Set되면 앞 스텝 Coil의 Reset 된다

    즉, S00.00이 Set되어 있는 상태로 S00.01~S00.99중 하나가 Set 되면 S00.00은 Reset된다. 

3. Step 코일은 자기유지기능이 있다.

 

이번엔 레더를 한번 바꿔볼까요?

 

레더를 아래와 같이 한번 바꿔주세요.

똑같은 방법으로 시뮬레이션을 돌려보겠습니다.

 

 

전원을 넣자마자 아래처럼 점등이 되는 것을 확인할 수 있지요?

자. 여기서 앞에서 정리한 내용을 좀 수정할 필요가 생겼습니다.

 

1. 'S00.00은 스텝릴레이의 각조의 00번은 시작부터 ON이 되는데 PLC가 RUN될때부터 자동으로 SET이 된다'

2. 'S00.00 이후의 스텝의 Coil이 Set되면 앞 스텝 Coil의 Reset 된다

    즉, S00.00이 Set되어 있는 상태로 S00.01~S00.99중 하나가 Set 되면 S00.00은 Reset된다. 

3. Step 코일은 자기유지기능이 있다.

 

그 다음은 P1, P2, P3를 차례대로 눌러서 아래처럼 점등이 되는지 확인해보세요.

차례대로 켜지고 있죠? 붉은색 글씨 규칙처럼요.

 

다음은 P5, P6 버튼을 눌러볼겁니다.

 

아래처럼 되는지 확인해보세요.

 

우리는 요기서 얻은 결론을 바탕으로 붉은색 규칙을 다음과 같이 또한번 수정할 수 있어요.

 

1. 스텝릴레이의 각조의 00번은 시작부터 ON이 되는데 PLC가 RUN될때부터 자동으로 SET이 된다'

2. 'S00.00 이후의 스텝의 Coil이 Set되면 앞 스텝 Coil의 Reset 된다

    즉, S00.00이 Set되어 있는 상태로 S00.01~S00.99중 하나가 Set 되면 S00.00은 Reset된다. 

    스텝릴레이는 각조별로 후순위 스텝의 Coil이 Set되면 선순위 스텝 Coil이 Reset 된다

    즉, S00.00이 Set되어 있는 상태로 S00.01~S00.99중 하나가 Set 되면 S00.00은 Reset 된다.

        S10.00이 Set되고 S10.01~S10.99중 하나가 Set 되면 S10.00은 Reset 된다. 

3. Step 코일은 자기유지기능이 있다.

4. 각 스텝릴레이는 조별로 독립적으로 동작한다.

 

자 이제 마지막 결론을 도출할건데요.

 

래더는 그대로 두시고

 

S00.05와 S10.05가 SET 되어 있는 상태에서.

 

S00.00과 S10.00을 SET 시켜볼겁니다.

 

P6은 켜둔상태로 두시고 P0은 꺼둔상태로두고 실험해보는겁니다.

위 상태가 되었다면

 

그대로 P0과 P4를 눌러보세요.

 

결과적으로 위와 같은 상태가 되었는데요.

 

우리가 여기서 알수 있는 부분을 총정리하자면 다음과 같습니다.

 

1. 스텝릴레이의 각조의 00번은 시작부터 ON이 되는데 PLC가 RUN될때부터 자동으로 SET이 된다'

2. 스텝릴레이는 각조별로 후순위 스텝의 Coil이 Set되면 선순위 스텝 Coil이 Reset 된다

    즉, S00.00이 Set되어 있는 상태로 S00.01~S00.99중 하나가 Set 되면 S00.00은 Reset 된다.

        S10.00이 Set되고 S10.01~S10.99중 하나가 Set 되면 S10.00은 Reset 된다. 

3. Step 코일은 자기유지기능이 있다.

4. 각 스텝릴레이는 조별로 독립적으로 동작한다.

5. 스텝릴레이는 각조의 선순위 스텝이 들어간 경우 선순위 스텝이 Set된다.

   다만, 후순위 스텝에 전기가 항시 물려 있는 경우에는 선순위 스텝이 Set될 수 없다.

 

오늘은 스텝릴레이에 대해서 알아보았습니다.

 

사실은 내용이 너무 간단해서 더이상 설명드릴 이야기가 있나 싶습니다.

 

다음주는 17, 18 포스팅을 통합하여 퀘스트를 드릴 예정인데

 

스텝릴레이는 앞전 순차제어 포스팅과 겹치지 않게 다른문제를 드릴 예정이에요.

 

스텝릴레이 특성중 가장 중요한 부분은 '순서대로' 입니다.

 

항상 저는 개념을 설명드리고 이 개념이 어느부분으로 활용할 수 있는지를 설명드리죠.

 

배운걸 바로써먹는게 개념을 이해하는 가장 빠른길이라고 생각하기 때문입니다.

 

이번 포스팅 역시 순서대로 입력해야 되는 부분에 대해 요긴하게 쓰이는 부분이 어디일지 고민해보시면

 

여러분 실력향상에 많은 도움이 되리라 확신합니다.

 

저는 쉽게 요런 사례가 떠오릅니다.

 

Password 입력, 누르는 문자와 순서가 중요한 예제이죠.

 

그럼 다음포스팅에서는 Quest를 들고 찾아뵙도록 하는데 Quest중 하나는 Password 입력 관련 Test를 들고

 

찾아뵙겠습니다.

 

이상. 공직자였습니다.

 

끝.

반응형
블로그 이미지

Lubly0104

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

,