Programlanabilir Mantık Denetleyiciler (PLC) uzun yıllardır endüstrinin hemen her alanında kullanılmaktadır. Kullanılan bu PLC’ lerin eskimesi, bozulması veya şifreyle korunması gibi durumlarda PLC programlarının yedeklenmesi mümkün olmamaktadır. Herhangi bir arıza sonucu PLC programının silinmesi durumunda veya PLC' nin yenilenmesi ihtiyacı oluştuğunda programın yeniden yazılması gerekir. Böyle bir durumunda sistemin çalışma adımlarının detaylı bir şekilde bilinmesi gerekir ve program yazılması esnasında atlanacak bir adım sistemin tamamında çok büyük problemlere sebep olabilir. Bu çalışmada, çeşitli makine öğrenmesi algoritmaları kullanılarak PLC içerisinde çalışan ve bilinmeyen bir programın çalışma adımlarının taklit edilmesi işlemi yapılmıştır. Bunun için ilk olarak bir veri günlüğü oluşturularak PLC’ nin giriş ve çıkış bilgileri kaydedilmiştir. Daha sonra bu giriş-çıkış verileri Makine Öğrenmesi algoritmaları ile eğitilmiştir. Eğitilen bu algoritmaların giriş veri setine karşılık verdiği çıktıları, PLC çıkışlarıyla paralel olarak izlenmiştir. Makine öğrenmesi algoritması olarak karar ağacı, k-en yakın komşu ve rastgele orman algoritmaları kullanılmıştır. Algoritmaların performans ölçüm metriği olarak doğruluk puanı (accuracy score) kullanılmıştır. Yapılan çalışmalar sonunda Rastgele Orman algoritmasının daha iyi sonuç verdiği gözlemlenmiştir.
Programlanabilir Mantık Denetleyiciler Makine Öğrenmesi Bilinmeyen PLC Programının Modellenmesi
Programmable Logic Controllers (PLC) have been used in almost every field of industry for many years. It is not possible to back up PLC programs in cases such as aging, deterioration or password protection of these PLCs. If the PLC program is deleted as a result of any malfunction or when the PLC needs to be replaced, the program must be rewritten. In such a case, the working steps of the system must be known in detail, and a step that is skipped during the writing of the program can cause major problems in the entire system. In this study, various machine learning algorithms are used to imitate the execution steps of an unknown program running in a PLC. For this purpose, a data log was first created and the input and output information of the PLC was recorded. Then, these input-output data were trained with Machine Learning algorithms. The outputs of these trained algorithms in response to the input data set were monitored in parallel with the PLC outputs. Decision tree, k-nearest neighbor and random forest algorithms were used as machine learning algorithms. Accuracy score was used as the performance measurement metric of the algorithms. At the end of the studies, it was observed that the Random Forest algorithm gave better results than the Machine Learning algorithms.
Primary Language | Turkish |
---|---|
Subjects | Electronic Instrumentation |
Journal Section | Articles |
Authors | |
Publication Date | December 31, 2023 |
Submission Date | September 22, 2023 |
Published in Issue | Year 2023 Volume: 15 Issue: 3 |
All Rights Reserved. Kırıkkale University, Faculty of Engineering and Natural Science.