[MELSEC] Q 시리즈 에서 PID 제어를 하는 두가지 예제
Q 시리즈에서 지원하는 PID 명령어는 관련 매뉴얼을 보면 자세히 나옵니다.
Q에서 지원하는 PID 명령어의 두가지 샘플을 간단하게 업로드하니 스터디에 참조하시면 좋을것같네요.
< case1. 완전미분제어 PIDINIT, PIDCONT >
Q, L시리즈 PLC에서 지원하는 PID용 제어데이터 설정펑션 PIDINIT 과 연산명령어 PIDCONT 를 이용한 예제입니다.
기본적으로는 0~2000의 분해능으로 설정값(SV)과 조작량(MV)으로 PID 제어가 가능합니다.
이를 더 확장하여 사용하기를 원한다면 완전미분 리미트제한설정용 스페셜레지스터(SD774)의 루프1에 해당하는 비트를 1로 써주어 조작량(MV)과 설정값(SV)의 리미트를 해제할수있습니다.
기본값의 0~2000 제어량을 32767 까지 확장하여 사용이 가능합니다.
< 예제 프로그램 >
< 결과 >
< case2. 오토튜닝 기반 불완전미분 연산 명령어 PID >
R 시리즈에서 추가된 오토튜닝을 지원하는 PID 명령어를 사용한 예제입니다.
희안하게도 Q 시리즈의 PID 매뉴얼에는 존재하지 않지만 Q 시리즈의 UDV타입 CPU에서 정상동작하는 명령어입니다.
이 펑션의 기술자료는 R 시리즈 PLC의 매뉴얼에서 참조하면됩니다.
< 예제 프로그램 >
< 결과 >
이 샘플 프로그램을 통해서 P, I, D 정수들을 바꿔가며 PV값의 변화에 어떠한 변화가 생기는지 간단하게 시뮬레이션이 가능할것입니다.
단 PID 명령어는 CPU 스캔타임 처리시간에 영향을 많이 받는 명령어입니다.
GX Works2 의 시뮬레이터에서도 동작은 하지만 가능하면 실물 PLC에서 테스트 해보심이 바람직합니다.
또한 실제 구조물이 없더라도 시뮬레이터 할수있도록 임의로 PV값을 MV값에 추종하여 변동되게 만들었지만,
실제 구조물에서는 또한 다를수 있으니 천천히 안전하게 테스트 해보세요!