Micro800 PLC에서 정밀 공정 제어를 위한 PID 루프 구현 방법
PID 루프는 공정 산업에서 온도, 압력, 레벨 등의 설정값을 한계 내로 유지하는 데 사용됩니다.
동영상을 시청해 자세히 알아보거나, 아래로 스크롤해 기사의 나머지 부분을 읽어보세요.
PID 루프 개념이 처음이라면 블로그 게시물 'PID 컨트롤러 설명'에서 자세히 알아볼 수 있습니다.
이 글에서는 Connected Components Workbench를 사용해 Micro800 PLC에서 PID 루프를 구현하는 방법과 PID 루프가 탱크의 레벨을 제어하는 방식을 시연하겠습니다.
PID 루프 프로그래밍
Connected Components Workbench로 전환해 PID 루프를 설정해 보겠습니다.
Connected Components Workbench에서 File > New를 클릭해 새 프로젝트를 만듭니다.
New Project 대화 상자에서 프로젝트 이름을 지정하고 컴퓨터에 저장할 위치를 지정한 후 Create를 클릭해 프로젝트를 생성합니다.
Add Device 대화 상자에서 2080-LC50-48QWB-SIM PLC를 선택하고 Select를 클릭해 선택 항목에 추가한 다음 Add To Project를 클릭해 프로젝트에 추가합니다.
Project Organizer에서 Global Variables를 더블 클릭해 Global Variables 테이블을 열고 이 데모에서 사용할 변수를 선언합니다.
변수 선언 후 Global Variables 테이블을 닫습니다.
그런 다음 Programs를 마우스 오른쪽 버튼으로 클릭하고 Add > New FBD: Function Block Diagram을 선택해 프로젝트에 프로그램을 추가합니다.
새 프로그램을 더블 클릭해 열고 오른쪽 Toolbox에서 Instruction Block을 캔버스로 드래그 앤 드롭합니다.
Instruction Block을 더블 클릭해 Instruction Block Selection 대화 상자를 열고 PID를 검색합니다. 검색 결과에서 PID Instruction Block을 선택하고 OK를 클릭해 프로젝트에 추가합니다.
인터페이스를 그림과 같이 매개변수화하고 Gains 변수의 각 게인을 1로 설정합니다.
인스트럭션 구성 후 Project Organizer에서 컨트롤러를 더블 클릭하고 Interrupts 탭을 엽니다. 이 탭에서 Add를 클릭해 인터럽트를 추가합니다.
인터럽트 유형을 STI로, 프로그램을 Prog1로 설정합니다. Auto Start 체크박스를 선택하고 인터럽트가 100밀리초마다 실행되도록 구성합니다.
마지막으로 OK를 클릭해 구성을 저장합니다.
이제 프로젝트 구성이 완료되었으므로 PID 루프의 성능을 확인하기 위해 트렌드를 설정할 수 있습니다.
트렌드 구성
Connected Components Workbench에서는 트렌드를 사용해 변수 값을 시간 경과에 따라 모니터링할 수 있습니다. Connected Components Workbench 버전 22를 사용하는 경우 Trends 도구를 설치하기 전에는 트렌드 기능을 사용할 수 없습니다.
트렌드를 구성하려면 Project Organizer에서 Trends 탭을 활성화하고 Add Trend를 클릭합니다.
그런 다음 플러스 버튼을 클릭해 Trace(모니터링할 변수)를 추가합니다.
열리는 대화 상자에서 FLOAT_OUT_0, FLOAT_IN_0, Setpoint를 Trace할 변수로 선택하고 Add를 클릭해 트렌드에 추가합니다.
OK를 클릭해 구성을 저장합니다.
Trend 페이지에서 오른쪽 하단의 설정 아이콘을 클릭하고 Y-Axis 구성을 Stacked에서 Overlaid로 변경합니다.
이제 프로젝트를 테스트하고 PID 루프가 실제 공정을 어떻게 제어하는지 확인할 준비가 되었습니다.
PID 루프 테스트
이 PID 루프를 테스트하기 위해 프로젝트를 Micro800 Simulator에 다운로드하고 Simulator를 Run 모드로 전환합니다.
다음으로 Factory IO에서 Level Control Scene을 엽니다.
Scene이 열리면 File > Drivers를 클릭해 Driver 구성을 엽니다. 드롭다운 메뉴에서 Allen-Bradley Micro800 드라이버를 선택하고 Configuration을 클릭해 Driver Configuration 창을 엽니다.
이 창에서 Host IP Address를 Micro800 Simulator의 IP 주소와 일치하도록 설정합니다.
구성이 완료되면 뒤로 가기 화살표를 클릭해 Driver Configuration으로 돌아가 Connect를 클릭합니다. 녹색 체크 표시가 Scene이 Micro800 Simulator에 연결되었음을 나타냅니다.
Driver Configuration 창을 닫고 Play 아이콘을 눌러 Scene을 실행합니다.
탱크가 채워지기 시작하고, Discharge 밸브를 약간 열어 물이 탱크에서 빠져나가도록 합니다.
Connected Components Workbench에서 Trend를 열고 Play 아이콘을 클릭해 실행을 시작합니다. 이 트렌드에서 PID 루프가 목표 설정값을 유지하기 위해 Fill Valve를 조정하는 것을 볼 수 있습니다.
요약
이 글에서는 Micro800 PLC에서 PID 루프를 구성하는 방법, 트렌드를 사용해 PID 루프를 모니터링하는 방법, Factory IO를 사용해 PID 루프가 실제 공정을 제어하는 방식을 보았습니다.
이 데모에서는 임의의 게인을 사용했습니다. 실제 공정에서는 PID가 잘 수행되도록 튜닝하는 데 시간을 들일 것입니다. 불행히도 튜닝은 복잡한 주제라 이 글의 범위를 벗어납니다. PID with Micro800 PLCs 과정에서 자동 튠을 사용해 PID 루프를 튜닝하는 방법을 다룰 예정입니다.