본문으로 건너뛰기

모듈화 기반 PLC 제어 프로그램

산에사는가재
작성자
산에사는가재
광운대학교 컴퓨터정보공학부 학부 졸업생.

본 프로젝트는 KDT 과정인 AI 융합 로봇 SW 개발자(2기)의 교과인 PLC 프로그래밍을 수강하며 구현한 미니프로젝트이다. 우리는 기존에 배운것 이외의 명령어인 CALL, RET, DUTY, MIN 등을 추가로 학습하여 기존의 수업에서 배운 개발 방법을 확장하였다. 이를 통하여 낮은 가독성, 빈번한 이중코일, 낮은 확장성 문제를 개선하데 성공하였다.

전체 코드 및 HMI, SERVO 파라미터, 발표자료는 다음 레파지토리를 참조 PLC_Mini_Project

1. 프로젝트 소개
#

1.1. 개요
#

우리는 PLC를 사용하는 제어 프로그램과 HMI를 통해 사용자가 제어프로그램을 사용할 수 있도록 구현했다. 구현한 제어 프로그램은 소재를 공급, 가공하여 창고에 적재 후 사용자의 요청에 따라 배출한다.

구현된 기능은 사전 점검, 가공 후 창고 적재, 창고 FIFO 배출, 실린더 자동 에러 점검이 있다. 각 기능이 의존하는 모듈화된 기능은 시스템 구성도을 통해 확인할 수 있다. 또한 해당 섹션에서는 구현된 모듈과 각 모듈이 어떠한 인터페이스, 즉 기능을 제공하는지 설명한다.

1.2. 목적
#

PLC 프로그래밍 교과는 해당 과정에서 큰 비중을 차지하지 않는걸로 보인다. 때문에 해당 과정에서 배우지는 않았지만 효과적으로 사용할 수 있는 다른 기능들이 많이 있을 것으로 판단했다. 특히 CALL 과같이 프로그램의 흐름을 변경하는 기능 본 프로젝트에서의 모듈화와 같이 다양한 방법으로 사용 될 수 있다고 판단했다. 이에 팀원과 같이 PLC 프로그래밍 메뉴얼을 참고하여 배우지 않은 기능들에 대해 학습하고, 이를 사용하기로 결정했다.

특히 모듈화를 큰 주제로 잡은 이유는 기존의 방법의 빈번한 이중코일, 낮은 가독성과 확장성 때문이다. 실제 산업 현장이라면 더욱 많은 장비들을 사용할테고, 이들을 제어하기 위해 더욱 긴 PLC 코드를 작성할 것이다. 기존의 모듈화를 하지 않은 개발 방법으로는 수정사항 하나로도 많은 시간과 노력을 요구하며 이는 개발자로써 비효율적인 방법이다. 따라서 우리는 모듈화를 통해 이러한 문제를 개선하여 확장성과 안정성을 향상시키는 것을 목표로 하였고, 짧은 시간에도 불구하고 문제점이 개선될 수 있음을 확인할 수 있었다.

2. 프로젝트 영상
#

구현된 기능의 결과 영상은 아래와 같다.

2.1. 장비에러 확인 밎 재기동
#

2.2. 소재 창고 적재
#

2.3. 입력한 가공 시간, 횟수만큼 소재 가공후 창고 적재
#

2.4. 지정한 창고 번호의 소재 배출
#

2.5. 금속, 비금속, 전체 배출
#

3. 하위 섹션
#

다음글: 개발 환경

2026