일 시작한지 3개월 조금 덜됬는데


최근에 내가 맡아서 진행한 작은 프로젝트도 복기할겸 내가 하는일에대해 조금 적어볼까함


아직 3개월차라 내가 여기에 설명할 것들보다 컨트롤 시스템 엔지니어라는 직종에는 훨씬 많고 다양한 역할과 일거리가 있을꺼임


원래라면 고객으로 부터 워크오더를 받고 그 워크오더에 프로젝트 디테일들이 있는데


그 디테일은 사장이 받았고 사장이 나한테 이해하기 쉽게 잘게 씹어서 설명해줌(내가 아직 뉴비라)

04b0d121e09270f427f1dca511f11a39369af6fc2aa58fce8a9f


옆에서 설명해주는거 바로바로 받아적느라 개 날림으로 적어서 엉망인데


아무튼 나는 해당 프로젝트의 제어 시스템이 이런식으로 작동하게끔 프로그래밍하면됨

24b0d121e09c28a8699fe8b115ef0464d684e0cce124b0d121e09c28a8699fe8b115ef04699c3df6bcfe

시작하기에 앞서 몇가지 물밑작업을 해야하는데


도면과 I/O list를 바탕으로 PLC 모듈에 할당된 공장 내 실제 기기들의 주소 리스트를 확인후


확인된 주소값들을 토대로 PLC 프로그램에 사용할 장비나 기기들을 입력(Input)과 출력(Output)에 할당해 주는 일을 시작으로

(예를들어 종이에 적힌 YV254 벨브를 작동시키기위해 실제로 저 벨브와 연결된 PLC모듈의 주소값을 해당 기기이름과 연결시켜줌)

24b0d121e09c28a8699fe8b115ef046c65f92a4a95

해당 프로젝트에 사용될 기기들을 종류에 맞게 분류를 해줌

24b0d121e09c28a8699fe8b115ef046f5e4d9d9dae

이런 세팅들이 끝난뒤에야 진짜 프로그래밍을 시작할수있음


고객이 원하는건 지금 프로그래밍할 장비가 진공청소기같은 역할을 해줬으면 함


해당 공장에서는 동물사료를 염색하기위해 여러가지 색깔의 염료를 사용하는데


이 염료는 가루(파우더)형태라서 공장내에 엄청나게 날림 그리고 바닥에도 많이 쌓이고


그래서 특정 조건을 성사시키면 이 진공청소기가 작동해 공장에 날리는 가루들을 빨아들여 시설을 청소하려는게 목표임 


04b0d121e09270f527f1dca511f11a39d4c89e99f3bcd858

04b0d121e09270f227f1dca511f11a3952f9f1b5bf4673ee

진공청소기 역할을하는 친구는 이렇게 생김


맨첨 종이에 적힌데로 프로그래밍할 차례인데


우선 어떻게 이게 작동하는지 설명하자면


선요약

1. 진공 펌프가 시설내 가루와 먼집을흡입

2. 가루와 먼지가 원통내 특정 높이 이상 차오르면 진공펌프의 흡입을 차단

3. 원통에 쌓인 가루와 먼지를 쓰레기통으로 배출, 배출 완료후 다시 흡입

이후 반복


아래는 좀더 잘게 부순 작동 방식임


시간 없으면 선요약 읽고 건너띄면됨

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


프로그램이 가동되면 바이패스 벨브가 열려있고 진공 펌프가 작동됨

--------------------------------------------------

*바이패스 밸브가 뭐냐?


이걸 키고 끔으로써 공기의 방향을 우회(바이패스)시키는 밸브임


바이패스 밸브가 열리면 진공 펌프로 부터 빨아들이는 공기가 바깥에서 들어옴 (호퍼(긴 원통)는 진공펌프로부터 차단, 쌓인 가루와 먼지를 방해 없이 배출가능)


바이패스 밸브가 닫히면 진공 펌프로 부터 빨아들이는 공기가 시설 내부에서 들어옴 (가루와 먼지를 흡입)

---------------------------------------------------

사진에 호퍼(긴 원통)내에는 피드백 센서(레벨 스위치)가 있는데 


이 센서는 호퍼내에 쌓인 가루나 먼지의 양이 특정 높이 이상으로 넘어가면 켜짐


센서가 켜지면 바이패스 밸브가 열리고 (진공펌프의 공기방향을 우회, 바깥으로부터 공기를 흡입)


호퍼 맨 아랫부분에 있는 슬라이드 게이트가 열림 (진공 펌프의 흡입방향이 우회되면서 방해없이 가루와 먼지를 배출가능)


슬라이드 게이트는 쓰레기통으로 연결되어있음


슬라이드 게이트가 열리면서 호퍼에 진동을 만들어내는 진동 모터가 켜짐 (진동을 만듬으로써 호퍼 벽에 붙은 가루와 먼지들을 떨어뜨림)


동시에 두개의 필터밸브들이 열고 닫음을 반복함


호퍼 상단에 가루와 먼지가 진공펌프로 넘어가는걸 막는 필터가 있는데


필터밸브들은 필터로 압축된 공기를 쏴주는 역할을함 (필터에 낀 가루와 먼지를 호퍼 아래로 보내는 역할)


센서가 켜져있을때 동안은 이 모든 동작을 반복함


가루와 먼지가 특정 높이 이하로 내려가면은 센서가 꺼지는데


센서가 꺼진 후 잔여물을 제거하기위해 n초 만큼의 충분한 시간을 주고 


바이패스 벨브와 슬라이드 게이트가 닫힘 (진공 펌프가 공장내에 가루와 먼지를 빨아드리고 호퍼내에 가루와 먼지를 모으기 시작)


이후 계속 반복(피드백 센서가 켜지고 꺼지고 켜지고 꺼지고)

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ


이제 프로그래밍 순서를 단순하게 설명하자면


1. 종이에 적힌 플로우차트를 읽어보고 어떤식으로 작동해야하는지 이해하고


2. 작동시킬 장비들을 나열함 (M250, YV254, 등등...)


3. 장비들이 어떤식으로 상호작용하는지 정리하고 (어쩔때 모터가 가동하고, 어쩔때 밸브가 열리고 닫히는지)


4. 나열한 장비들 하나하나에 고유한 임무들이 적힌 장비표를 만듦 (M250은 이럴때 작동함, YV254는 저럴때 작동함)


5. 정리한 장비표를 바탕으로 PLC에 프로그래밍을함

대충 이런식으로

24b0d121e09c28a8699fe8b115ef046c63f5294e9a

프로그래밍한건 스크린샷따기 어려워서 생략함


프로그래밍이 완료되면 이제 이 프로그램과 상호작용할 HMI(Human-Machine Interface)를 만들어줘야하는데 


HMI는 단순하게 공정이 어떻게 돌아가고있는지 사용자나 작업자들이 알아보기 쉽게 보여주는 화면같은거임 (자동차 네비게이션, ATM화면,등등)


이 HMI디자인은 SCADA 시스템이라는걸 통해서 하게되는데 


SCADA시스템을 제공하는 소프트웨어는 다양하게 있고 우리가 사용하는건 AVEVA의 Plant SCADA - Citect이라는 소프트웨어를 사용함


이 부분은 상당히 단순함 


아까 본 도면을 보고 그대로 화면에 그려내면됨 


24b0d121e09c28a8699fe8b115ef046c63f421479aef

이건 ㄹㅇ 설명 한줄 필요없다 ㅇㅈ?


이렇게 완료된 PLC와 SCADA작업물을 들고 현장에가서 Commissioning(시운전)하고 문제없으면 프로젝트 하나 끝내는거임


보다시피 내가 진행한건 엄청 단순한 프로젝트라 쉬워보일수 있겠지만


실제로 고객들이 이런 시설 설계 주문을 넣을땐 적게는 수십개 많게는 수천개의 밸브들과 모터 그리고 센서들이 들어간 일을 물어봄


내가 진행한 프로젝트는 그냥 엄청 큰 프로젝트들사이에 자그마한 먼지같은 존재임


나도 빨리 큰 프로젝트 도맡아서 프로그래밍 하고싶다...

ㅆㄱㄴ

3줄요약

1. 3개월차라 정확히 무슨일을 하는지 전부 다 알진 못함

2. 고객으로 받은 정보를 바탕으로 자동화 설계진행함

3. 작업물을 가지고 현장에 가서 고객들에게 시운전을 보여주고 문제없으면 프로젝트 한건 완료

이후 2,3번 반복


두서없이 적은 긴글 읽어줘서 ㄳ


모두 좋은하루 보내셈