PLC ile NMPC uygulaması
NMPC application using PLC
Yazar: MURAT ERHAN ÇİMEN
Danışman: DOÇ. DR. YAPRAK YALÇIN
İstanbul Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Kontrol ve Otomasyon Mühendisliği Ana Bilim Dalı / Kontrol ve Otomasyon Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2018
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Elektrik ve Elektronik Mühendisliği = Electrical and Electronics Engineering ; Mekatronik Mühendisliği = Mechatronics Engineering

Özet:
Model öngörülü kontrol tekniği ilk olarak endüstride birbirlerinden bağımsız olarak Shell firmasıdaki Cutler ve Ramaker ve Adersa firmasında çalışan Richalet ve arkadaşları tarafından 1978 yılında ortaya atılmıştır. Bu kontrol tekniği o zaman çok ilgi görmüştür ve şimdi başta petrol rafineleri olmak üzere endüstride 4500'ün üzerinde uygulaması bulunmaktadır. Model öngörülü kontrolün en büyük avantajı endüstride bulunan bir çok problemde olduğu gibi eşitlik veya eşitsizlik kısıtları bulunduğunda kısıtları ihlal etmeden istenilen amaç fonksiyonunu minimize edecek şekilde kontrol işareti üretebilmektedir.  Endüstriyel uygulamalarda kaçınılmaz olan ölü zamanlı sistemlerin kontrolünde de kullanılabilmektedir. Ölü-zaman etkisini de öngörülerde göz önünde bulundurup ölüzamanlı sistemleri de başarı ile kontrol edebilmektedir Hatta bu tezde ölü zamanı duruma bağlı olarak değişen bir sistem için öngörü yapılmıştır. 
Endüstride kullanılan sistemlerin çoğusu nonlineer sistemlerdir veya nonlinear kısıtlar içermektedir. Bu sistemleri lineer olan modeller üzerinden kontrol etmek istendiğinde beklenen performansın sağlanamamaktadır. Bunun yerine her çalışma koşulunda daha önceden tanımlanmış modeller kullanmak bir çözüm olabilir. Lakin bu durumda da süreksizlikler nedeni ile kararlılık problem oluşabilir, doğrudan Nonlineer Model Öngörülü Kontrol kullanımı daha akıllıca olacaktır. Çünkü Nonlinear Model Öngörülü Kontrol aslında sistemin durumlarına, giriş büyüklüklerine vb. nedenlerle değişen dinamiklerini yakalayabilmeyi sağlamaktadır. 
NMPC'nin dezavantajlarından biri karmaşıklığı yüksek çevrim-içi sayısal optimizasyon işlemlerinin yapılmasını gerektirdiği için hızlı dinamiğe sahip sistemlerin kontrolü için uygulanabilir olmamasıdır.
Bu tezde NMPC'nin temel presiplerinin ve temel bileşenlerinin neler olduğu araştrılıp öğrenilmiştir. NMPC'de kullabilecek olan farklı teknikler incelenmiştir. Bu tez çalışmasının amaçlarından biri temel prensipler aynı kalmak şartı ile NMPC'de yeni teknikler geliştirilebilmenin alt yapısını oluşturmaktır. Diğer amaç ise endüstriyel kontrol uygulamaları için giriş-çıkış arabirimleri ve işletim sistemleri özelleşmiş  (MATLAB simulasyonlarının yapldığı güncel yüksek hızlı kişisel bilgisayarlara göre göre daha yavaş kod işlemektedirler ve türev alma gibi bazı matematik fonksiyonları bulunmamaktadır) ve örnekleme zamanına uygun biçimde gerçek zamanlı simülasyon ve gerçekleme yapmaya olanak tanıyan PLC'ye uygun NMPC algoritması oluşturmaktır. 

NMPC'nin başarımını ve uygulanabilirliğini test edebilmek için sistemde eyleyici olan hava dinamiği ve sistemin kendi dinamiği gereği ağır nonlineerliği olan ve değişken ölü-zamanı bulunan Fan ve Levha düzeneğinin NMPC ile kontrolü problemi ele alınmıştır.
Fan ve Levha sisteminin Doğrusal Olmayan Model Öngörülü Kontrol kullanılarak PLC ile kontrolü için ilk olarak kısıtlarda göz önünde bulundurularak Matlab/Simulink'te benzetim çalışmaları yapılmıştır. Bu çalışmalarda Matlab'da bulunan hazır MPC fonksiyonları ve karesel programlama çözücüler kullanılmamış, PLC'de de gerçekleme yapılmasına uygun olarak seçilen sayısal optimizasyon algoritması yazımı ve öngörülerin inşaası gerçekleştirilmiştir. Sayısal optimizasyon algoritmasındaki Gradyan ve Hessian hesapları için matematik literatürde bulunan yaklaşıklıklar kullanılmıştır. Ardından bu kontrol tekniğinin PLC'de uygulaması TIA PORTAL V12 program geliştirme ortamında Nonlineer Model Öngörülü Kontrol Ladder ve SCL dili kullanılarak oluşturulmuş, başarımı test edilmiştir. Sistemde oluşan sürekli hal hatası ve aşım ilgili durumlarda ağırlıklar değiştirilerek çözülmüştür, yani sistemin yanıtının değişimi boyunca duruma göre ağırlıklar değiştirilmiştir.
Fan ve Levha sistemi üzerinde yapılan Matlab simülasyonlarında ve PLC'de yapılan simulasyon uygulamalarında giriş ve çıkış bozucularının etkisi de incelenmiştir. Bozucu etkiyi giderebilmek için sistem çıkışı ile öngürüler arasındaki fark göz önünde bulundurularak ölçüt fonksiyonunda uygun bir değişiklik yapılmıştır ve başarılı sonuçlar elde edilmiştir. Ayrıca S71200 ile gerçek zamanlı uygulama yapılmıştır.

Abstract:
The model predictive control technique was first put forward as an industry. This technique was invented by different people who work study independently, Cutler- Ramaker who worked at Shell Oil and Richalet etc. worked at Adersa. After some symposium, which was organized by Shell Oil, about model predictive control was noticed by the this field. A consequence of this, model predictive control was began to study by academicians. That wasn't not just for academic level but also industrial applications. Thus, model predictive control has gained importance in the 80's and especially in the 90's. Until now, this techique has implemented to more than 4500 application and it has been going on.

The greatest advantage of the model predictive control was that it could generate a control signal to minimize the desired objective function without violating the constraints when there were equality or inequality constraints as in many problems in the industry. So, model predictive control technique allows the system to operate in the desired conditions at desired constraints and at desired constraints or in regions close to inequality constraints. Model predictive control could also be used to control time delay systems which are inevitable in industrial applications. Model predictive control can successfully control time delay systems by considering the time delay effect for prediction. Even in this thesis, a dead time is predicted for a system that changes depending on the situation.

Basically, Model Predictive Control solves optimal control problem. Its components makes it happen. Also these components specify the perfomance of controller. Those components are cost function, model of system, equaity and inequality constraints of system and control and prediction horizon.
Cost function is also known as objective function or fitness objective function. It is used to obtain appropriate solution for problem. These cost functions may have changes from problems to problems. But generally main purpose is that predicted output of the system follows the reference signal with optimal input. That's why, difference of reference, predicted output signal and input changes multiply with coefficients accordig to their importance. The intention is that the predicted output follows reference signal along prediction horizon and both control and states stay in certain limits.
Describing a system is very improtant in model predictive control. Actually it is heart of this technique. Because prediction are made by using of model of system. If model doesn't present the system accurately and precisely then predictions of model never match with system answer. That is the point of distinction of lineer and nonlineer model predictive control. Lineer model predictive control uses lineer models and nonlineer model predictive control uses nonlinear models or nonlinear contraints.
One of the main component is constraints. These could be equaity and inequality and increase depend on problem. In the application almost every system has these constraints. These are used because constraits might be system equations or system limits such as actuator operating rates spesified by manufacturer and actuators can't work out of these operating limits. So model predictive control garantees that optimal solution remains within these limitations
The another component is control and prediction horizon. Control horizon is about how forward we can control. And pontrol horizon is about how forward we can predict. Predicition horizon consist of control horizon. Because control horizon is smallaer than prediction horizon. The main logic is that we can predict future but we can control less. So after control sequence is acquired the last control signal is appled rest of the predictions in one sampling time. If control prediction and control horizons are big that would need some conservative solutions but give satisfactory solution.  If control prediction and control horizons are small that would cause aggressive and uneffective solution.  Because of that this parameters should be selected system behaviors. 
In this technique main idea is to minimize the the performance index in order to obtain control sequence. By doing that future of the system can be know at the current condions. But this can calculated by using of input's past value and past value of the output.
There are a lot of application about model predictive control. For example crude oil distillation, direct current motor, pH balance of wastewater, energy consumption ,electricity distribution, network control, flow control of fuel batteries, fuel cells control, PEM electrolyser control.
Most of the systems used in the industry include nonlinear systems or nonlinear constraints. If the system was desired to control through linear models, this could cause the expected value performance not to be achieved. Instead of that, using previously defined models in each working condition can be a solution. In this case, stability problems may arise due to discontinuities Instead, it is wise to use nonlineer model to predictive control directly. Because the nonlinear model predictive control actually makes it possible to capture the dynamics of the system's states, input magnitudes, time-varying reasons, etc. 
One of the disadvantages of the NMPC is that it is applicable to the control of systems with fast dynamics, as complexity requires high on-line numerical optimization operations
In this thesis, what basic presses and basic components of NMPC have beend studied and learned. Different techniques that can be used in NMPC have been studied. One of the aims of this thesis is to form the substructure of developing new techniques in NMPC with the basic principles being the same. The other goal is to provide real-time simulation and realization of the input-output interfaces and operating systems for industrial control applications (including some math functions like slower code operations and differentiation than current high-speed personal computers with MATLAB simulations) to create an NMPC algorithm suitable for the PLC
In order to test the performance and feasibility of the NMPC, the problem of control of the fan and plate arrangement with the NMPC, which has heavy nonlinearity and variable time delay due to the air dynamism acting as the actuator in the system and its own dynamics, is discussed.
In order to control the Fan and Plate system with PLC using Nonlinear Model Predictive Control, simulation studies were first carried out in Matlab / Simulink considering limitations first. In these studies, ready MPC functions in Matlab and quadratic programming solvers were not used. A numerical optimization algorithm has been written in the PLC in accordance with the implementation, also construction of predictions has been realized. The approximations found in the mathematical literature for the Gradyan and Hessian calculations in the numerical optimization algorithm were used. Subsequently, this control technique was created using the Nonlinear Model Predictive Control ladder and SCL language in the TIA PORTAL V12 program development environment for application in the PLC and performance tested. The steady state error and overshoot that occurs in the system are solved by changing the weights in the related situations, i.e. the weights are changed according to the situation throughout the response of the system.
The effects of input and output disturbances in real-time applications in Matlab simulations and PLCs on the Fan and Plate system have also been examined. The fitness function for disturbance effect was arranged according to the difference between the system and the prediction and successful results have been achieved. Furthermore a real time application was implemented by using Siemens S71200 PLC on Fan and Plate System.