{"title":"Bilinmeyen PLC Programının Makine Öğrenmesi Yöntemleriyle Taklit Edilmesi","authors":"Faruk Ulamiş, Yasin Yüce, Bülent Cesur","doi":"10.29137/umagd.1364512","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":23481,"journal":{"name":"Uluslararası Muhendislik Arastirma ve Gelistirme Dergisi","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2023-10-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Uluslararası Muhendislik Arastirma ve Gelistirme Dergisi","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.29137/umagd.1364512","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
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.