[ Teach ] in KIDS 글 쓴 이(By): qkim (김 용 운) 날 짜 (Date): 1994년05월25일(수) 20시54분09초 KDT 제 목(Title): [Re] about PLC 무엇을 알고 싶은지, 질문이 보다 구체적이면 좀 더 자세히 말씀드릴 수 있을텐데, 일반적인 것을 알고 싶으시다니 생각나는 대로밖에 알려드릴 수가 없네요. 혹시 제 얘기를 듣고 좀 더 묻고 싶은 것이 있으면 다시 말씀해 주세요. 장점 1. 사용이 간편하다. 왕초보라도 잠깐만 배우면 흉내정도 낼 수 있다. 2. 프로그램의 변환이 손쉽다. 다른 랭귀지처럼 컴파일을 하니 어쩌니 하는 귀찮은 짓을 안 해도 된다. 현장에서 곧바로 고치고 그 결과를 확인할 수 있다. 극단적인 경우 기계를 돌리고 있는 동안에도 고칠 수 있다. 3. 프로그램을 짤줄을 알면 틀림없이 저학력 사용자들인 현장 근로자들에게 어깨 힘줄 수가 있다. 그리고 뭔가 있어 보인다. 따라서 남들한테 부탁할 때 짜웅(군대갔다 온 사람은 안다)을 안 해도 된다. 단점 1. 사용상 단점으로는 프로그램 디버깅하는 기계가 반드시 있어야 한다. 따라서 PLC와 세트로 구입해야 한다. 2. 프로그램 짤줄 아는 사람이 자신 뿐이라면 기계가 설 때 자다가도 튀어나와야 한다. 3. 프로그래밍 경험 미숙으로 공장 돌려가면서 에러 디버깅을 하게 되면 와장창 뿌아먹기 십상이다. 4. 에러 디버깅을 하면서 제품이나 기계 구할려고 무대뽀로 덤벼들다간 자동으로 돌아가고 있는 여기저기 기계나 장치들에게 붙잡혀 손가락 발가락 손모가지 발모가지 팍팍 날아가는 험한 꼴을 겪을 수 있다. 따라서, '케세라 세라', 그냥 내비두도록 한다. 순간의 피바가지 욕은 평생의 안전을 보장한다. (여수 남해화학에서 넘어지는 비료푸대 허겁지겁 꺼내다가 손가락 날릴 뻔 했음) PLC 기본 이론 1. 개론 일반적인 Computer Programming Language(ex. C, Pascal, Fortran, etc) 들은 언어 사용 방식에 대한 지식과 하드웨어에 대한 지식, 그리고 프로그래밍의 숙달된 경험이 있어야만 원하는 대로 적절히 프로그램을 짤 수가 있다. 그런데 PLC에서는 기호에 의한 프로그램 방식을 택하고 있으므로 비전공자라 하더라도 약간의 학습으로 프로그램을 짤 수가 있다. 물론 PLC가 보다 고도의 기능을 수행하게끔 프로그램을 짜기 위해서는 어느 정도의 경험이 필요하며, 약간의 하드웨어 지식이 필요하다. 절대적이지는 않으나 프로그램을 짜기가 수월하다는 것은 틀림없는 사실이다. 2. PLC에서 사용하는 프로그래밍 기호 기호를 사용하여 프로그램을 짜기 때문에 PLC를 만든 회사마다 사용하는 기호가 다르다. 그러나 기본 원리는 똑같기 때문에 하나만 잘 익히면 된다. 예) ---||--- : a 접점 -> 버턴을 눌리면 불이 들어온다는 표시.(전등) / ---||--- : b 접점 -> 평소에는 붙어 있어서 불이 들어오다가 / 버턴을 눌리면 떨어지면서 불이 꺼진다는 표시. 이상의 두 표시는 전자석을 이용한 접접 개폐기를 나타낸 것이다. 즉, 코일로 감아둔 두 선에 전기를 넣으면 전자석이 되면서 함께 내장되어 있는 a접점과 b접점이 붙고 떨어지는 개폐기인 것이다. | --+-- PB1 _____ |-----* *---+----* | *----------( R1 )-------| | | PB2 relay | |------||-----+ | | R1_a | 이것은 대표적으로 사용되는 프로그램 예이다. PB1는 Push Button으로써 말 그대로 손으로 눌리는 버턴이며 이때 불이 들어온다. R1_a는 릴레이 R1의 a 접점이다. R1은 위에서 설명한 전자식 접점 개폐기이다. 이것이 수백 개 PLC 속에 들어있다. 이 갯수에 따라서 PLC의 값이 달라진다. 갯수가 많다는 것은 그만큼 많은 장치들을 제어할 수 있다는 것이고 이의 프로세싱 타임이 그만큼 빨라야 하므로 값이 올라가는 것은 당연. 동작설명을 하자면, 외부에서 PB1을 눌리면 PB2가 b 접점으로써 이미 붙어 있으므로 R1에 전기가 공급되면서 R1_a 접점이 붙게 된다. 그 결과로 R1에는 PB1과 R1_a 둘을 통해서 전기가 공급되게 된다. 이어서 PB1을 손에서 놓으면 붙어 있던 R1_a를 통해서 전기가 계속 공급된다. 이것을 '자기유지 회로'라고 한다. 물론 PB2를 눌리면 전기 공급이 중단되면서 자기유지가 더 이상 되지 않는다. 위와 같은 기호들의 수많은 연결에 의해 전체 프로그램이 이루어진다. 3. PLC의 외부 인터페이스 PLC에서 사용하는 릴레이는 크게 두 가지 종류가 있다. 하나는 외부와의 인터페 이스를 하기 위해 사용하는 진짜 릴레이가(이것은 전기가 들어와서 동작할 때 접접이 붙었다 떨어졌다 하는 소리가 들린다) 있고, EEPROM으로 만들어져 있는 CPU 속에서 이용하는 릴레이가 있다. CPU 속에 이 릴레이가 수백 개 들어 있으며 진짜 릴레이는 하나의 랙 속에 32접점 또는 64접점짜리 입력 모듈 또는 출력 모듈을 넣도록 되어 있다. 이 모듈이 열 개 정도 들어갈 크기가 하나의 PLC 로 이루어진다. CPU 속에 있는 릴레이는 메모리를 통해 구현이 된다. 단지 기호상으로 릴레이처럼 그려 놓았을 뿐이다. 똑같은 기능을 하면서... EEPROM(Electricaly Erasable Programmable Read Only Memory) 이거 맞죠? 어쨌거나 전기적으로 프로그램을 써넣었다 지웠다 할 수 있다는 뜻이죠. RS232C, RS422, RS423 통신용 모듈이 있으므로 PC와의 harmonic computing도 가능하게 할 수 있다. 이 통신을 자유자재로 할줄 아는 사람들이 별로 없으므로 요거 하나만 확실히 해도 밥먹고 사는 데 전혀 지장이 없다. 4. 더 이상은 case by case로 질문하기 바람. 5. mail로 도착한 것에 대한 응답. 5.1 사용상의 장점이나 단점... 위에서 씰데없는 소리까지 해가면서 설명하였음. 5.2 소프트웨어 PLC를 만든 회사에서 제공하는 것만이 가능함. 디버깅하는 장비도 같이 있어야 함. 통상 Desktop용과 Portable용으로 나오니 돈이 되는대로 사기 바람. Desktop이 more powerful and more convinient한 것은 불문가지임. 5.3 케이블이 필요... - 기계장비에 전원을 공급하는 케이블이 필요. - 프로그램 디버거와 PLC를 연결하는 데 쓰이는 케이블이 필요. - 다른 PLC 또는 PC와 연결해서 통신하는 데 쓰이는 케이블이 필요(물론 통신을 이용하는 경우에만) 5.4 효과적인 사용방법 - 습도가 높으면 PLC는 쥐약이므로 조심. - 누전이 사용자를 위협할 수 있으므로 누전차단기를 설비하고 접지를 철저히. - PLC를 살 때 주는 사용자 메뉴얼에 보면 자세히 나옴. - PLC를 구입하지 않았다면 PLC 판매대리점에 전화해서 'PLC를 살려고 그러는데 사용법이랑 프로그램하기가 수월한지 알려고 그러니 한 권 보내달라'고 거짓말 하기 바람. 찾아가도 됨. 5.5 전기(자)를 하지 아니한 사람도 쉽게 배울 수... 앞에서 얘기 했음. 무지 쉬움. 하루만 책 보면 간단한 것은 프로그램할 수 있음. 5.6 전기배선을 한 호주사람도 책 좀 보면서 공부를 하여야 겠다고 하던데.. 세상에 쉬운 것은 하나도 없음. 물론 책을 보면서 공부를 좀 해야 함. 음... 위에 말과 모순인데... 공부를 해보면 쉬움. 5.7 기계를 가동하다가 고장(피엘씨에)이 발생할 수도 있으니... 남이 짜놓은 프로그램 가지고 고칠려면 진짜 고생함. 그러나 어쩌겠수... 고장은 났고 고쳐야 하는데... Following are the possible answers... 1. 고장난 기계의 구동 장치가 무엇인가 본다.(Motor, etc. 그새 기억이 안 나는데... 어쨌든 전기에 의해서 움직이는 모든 것) 2. 그 구동 장치를 시동시키는 PLC의 출력모듈의 출력릴레이 일련번호를 PLC에서 찾는다(이것은 대단히 무식한 방법임. 설계 도면에 보면 나오니 도면을 참조하는 것이 제일 현명함) 3. 프로그램 디버거(이것을 일컫는 이름이 있는데 기억이 안 나서 이렇게 부르고 있음)와 PLC를 연결시켜 입력되어 있는 프로그램을 본다. 연결만 하면 저절로 튀어나올 수도 있고, 최초 메뉴화면에서 필요한 선택을 해야만 하는 경우도 있음. 4. find의 기능이 있으므로 그 출력릴레이가 있는 프로그램 라인을 찾는다. 저 위에서 ( R1 )으로 표시되어 있는 부분과 같이 생겨먹었다. 일단 전기를 받아야 이것이 동작해서 밖에 있는 외부 접점을 ON 시키고 이어서 다른 장비들이 동작하기 때문이다. 5. 출력릴레이를 동작시키기 위해서는 위의 프로그램 예에서 보이듯이 여러 개의 a 접점과 b 접점들이 결합하여 이루어진다. 이것이 붙었다 떨어졌다 하면서 다른 기계들과 연동하여 움직이게 되는 것이다. 이 접점들을 전체 기계 장비들과 연동하여 논리적으로 적절하게 움직이는지 검사한다. 지금까지 말한 절차는 고장을 찾다가 찾다가 못 찾아서 하는 최후의 방법이다. 거의 프로그래머 레벨에서 해야 하는 작업이기도 하다. 사용자 레벨이라면 다른 방법을 이용해야 한다. 왜냐하면 잘 돌아가던 기계에서 고장이 생겼다면 프로그램 문제가 아니라 외부적 문제이기 때문이다. 이때는 그 구동장치를 시동시키는 주위의 다른 장치들이 있다. 예를 들어 어느 작업이 끝났다는 것을 알리는 것, 제품이 진입하고 있다는 것을 인식하는 센서, 제품이 도착했다는 것을 인식하는 센서, 등이다. 여기에서 문제가 생기는 것이 십중팔구이다. 그러므로 잘 돌아가던 장비에서 고장이 발생 했다면 이것부터 체크하고, 아무리 살펴도 알 수가 없을 때 앞서 언급한 절차대로 확인을 해보도록 한다. 더 이상의 질문은 아래의 연락처로 하기 바람. 대답은 이 보드에 올리겠음. 혹시나 다른 사람도 이런 문제에 처해있을 수도 있으므로... ----------------------------------------------------------------------- Kim, Yong-Woon, Department of Computer and Communications Engineering, PIRL/GSIT, POSTECH, E-mail: qkim@snoopy.postech.ac.kr TEL. : 0562-279-5663 (Computer Communications Lab.) _______________________________________________________________________ |