A PC based software for industrial process control systems
Endüstriyel denetim sistemleri için PC tabanlı bir yazılım
- Tez No: 22038
- Danışmanlar: PROF. FÜSUN TUNALI
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 1992
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Kontrol ve Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 132
Özet
Bilgisayar teknolojisindeki çok önemli ve büyük ilerlemelerden sonra, bilgisayar denetimli sistemler endüstrinin bütün alanlarına yayıldı. Bu da sayısal kontrolde büyük bir gelişmeye yol açtı. Bütün bu gelişmeler daha verimli, daha az bakim ve işletme giderlerine sahip işletmelerin ortaya çıkmasına olanak sağladı. Bir bilgisayar denetimli sistem Şekil 1 deki gibi gösterilebilir. Şekil 1. Bilgisayar denetimli bir sistem Örnekleyici ve tutucular bu çalışmanın konusu değildi. Amacımız sayısal ve analog algoritmalar kullanarak herhangi bir kontrol işlevini başarıyla yerine getiren bir yazılım geliştirmekti. Güvenli bir kontrol sistemi geliştirmenin en önemli şartı veri tabanının ve algoritmaları koşturan programların oldukça dikkatli tasarlanması ve gerçekleştirilmesidir. Bunların dışında geliştirilen sistem, kontrol edilen prosesin izlenmesine ve sürekliliğin sağlanmasına olanak sağlayacak özelliklere sahip olmalıdır. Bu özellikler prosesin izlenmesine olanak sağlayacak grafikler oluşturulmasına olanak vermek, oluşan alarmları operatörlere en iyi şekilde bildirmek, istenen sistem değişkenlerinin değişimlerini eğriler halinde verebilmek, veri tabanını ve kontrol algoritmalarını kolayca oluşturup, değiştirmeye olanak sağlayan bir kullanıcı programına sahip olmak v.s. şeklinde sıralanabilir. ilk olarak geliştirilen yazılımın temel bölümleri anlatılacak bunu da yazılımın nasıl oluşturulduğu vıizleyecektir. Yanlız daha önce sıkça kullanılacak bir kaç terimin tanımını vermek yararlı olacaktır. TANIM. 1. Herhangi bir kontrol işlevinde (taslağında veya stratejisinde) hesaplanan herhangi bir değeri tutan değişkene nokta (point) denir. TANIM 2. Kontrol stratejisinin herhangi bir bölümünü kapsayan (genellikle bir bilgisayar ekranında gösterilebilecek sayısal ve/veya analog algoritmaların oluşturduğu ) bölümüne merdiven ( ladder ) denir. a. Kullanıcı arabirimi Temel olarak geliştirilen yazılımın kullanıcı arabirimi 5 bölümden oluşmaktadır: Dosyalama, veri tabanl, merdiven, alarm menüsü, eğri (trend) menüsü (Şekil 2). ANA PROGRAM DOSYALAMA VER I TABAN I MERDİVEN ALARM MENOSO EĞRİ MENOSO Şekil 2. Yazılımın temel bölümleri Dosyalama kısmı bilgisayarda oluşturulan veri tabanı ve kontrol algoritmalarının hard disk veya floppy üzerine saklanmasına veya daha önce saklanmış bir uygulamanın bilgisayar belleğine yüklenmesine olanak sağlar. Bu bölümün diğer bir özelliği de yazıcıdan çıktı alınmasına olanak sağlamasıdır. Veri tabanı bölümü kullanılarak nokta ekleme, bir noktanın parametrelerini değiştirme, herhangi bir noktayı veri tabanından silme, veritabanını ekrana listeleme, veritabanındaki noktaların o andaki değerlerini gözetleme veya herhangi bir noktanın değerini değiştirme gibi işlevler yerine getirilebilir. Kullanıcı arabiriminin merdiven bölümünde ise sayısal ve/veya analog algoritmalar kullanarak yeni bir merdiven oluşturma, önceden oluşturulmuş bir merdiveni değiştirme veya silme imkanı sağlayan, kulanımı çok kolay bir kullanıcı editörü geliştirilmiştir. Bu bölümün en vııönemli özelliği herhangi bir merdivenin o andaki durumunu izleyebilme olanağı sağlamasıdır. Bu özellik kullanılarak, kontak ve bobinlerin o andaki durumları, sayıcı veya zamanlayıcıların değerleri, ya da herhangi bir PID 'nin giriş ve çıkış değerleri izlenebilir. Alarm menü, o anda alarm durumunda olan noktaların anlaşılması için kullanılan bölümdür. Alarm durumunda olan noktalar, kesme programının bir bölümü olan alarm programı tarafından belirlenir. Bu program periyodik olarak donanım giriş noktalarının (sayısal veya analog) alarm durumunda olup olmadığı tespit eder. Eğer alarm varsa, bu noktalar gerekli alarm verisi ile bir alarm listesine yerleştirilir ve alarm olduğunu bildiren bir mesaj kullanıcıya gönderilir. Bu mesaj yazılımın neresinde olunursa olunsun görülebilir. Bu mesajın silinebilmesi, ancak alarm menüsüne girip bu alarmın anlaşıldığının bilgisayara belirtilmesinden sonra mümkündür. Alarm listesinde şu veriler bulunur: Alarmın oluştuğu zaman, alarmda olan noktanın ismi, onun tanımı ve alarmın oluştuğu değer. Eğri menüsü, kullanıcının istediği en fazla 3 değişkene ait 2 dakika geriye doğru değerlerini eğriler halinde görmesine olanak sağlar. Hangi noktalara ilişkin eğrilerin görülmek istendiği, eğri listesine bu noktaların isimlerini yazmasıyla belirtilir. Ayrıca istenilen veri aralığının görülebilmesi için yüksek ve düşük sınırlayıcı iki tane parametre de bu listeye girilmelidir. b. Veri taban I Veri tabanı sabit büyüklükteki diziler yerine, bağlantılı listeler (linked lists) halinde oluşturulmuştur. Bu önceden belirli sabit bellek gereksinimi elimine etmemizi sağlar. Bellek kullanımının optimizasyonu için, 4 tane analog nokta ve 4 tane sayısal nokta tipi oluşturulmuştur. Her nokta tipi kendine has bir kayıt biçimine sahiptir ve bu kayıtlarda değişik alanlar bulunmaktadır. Örneğin analog giriş (Al) ve analog çıkış (AO) tipindeki analog noktalar kayıtlarında donanım adres bilgisi bulundurmalarına karşın, diğer analog tanımlı (AD) ve analog minimum (AM) tipileri bu alan için kayıtlarında yer ayrılmamıştır. Benzeri durum sayısal tipteki noktalar için de geçerlidir. Kayıtların yapıları hakkında kısaca bir fikir edinmek için en büyük kayda sahip Analog giriş (Al) nokta tipinin kaydı ve ona ilişkin alanlar aşağıda verilmiştir. Viiistruct Al { unsigned int id; /* Noktanın tanım numarası */ char name[9]; /* Noktanın ismi */ char rt; /* Noktanın kay 1 1 tipi */ char as; /*' Noktanın durum bilgisi */ char fm; /* Noktanın gösterim formatı */ int tb; /* Noktanın görülebilecek en büyük değeri*/ int bb; /* Noktanın görülebilecek en küçük değeri */ char ed[31]; /* Noktanın tanımı */ char eu[7]; /* Noktanın birimi */ char cd; /* Kullanılan analog kart In tipi */ unsigned int hw; /* Donan I m adresi */ char lc; /* Alarm limit kontrolü */ float hi; /* Yüksek alarm limiti */ float 11; /* Düşük alarm limiti */ char ct; /* Dönüştürme tipi */ char ci; /* Dönüştürme indeksi */ >; Tablo 1 de nokta tipleri ve bellekte kapladıkları büyüklüğü verilmiştir. (Liste yapısının oluşturulması için gerekli bellek göz önüne alınmamıştır). Herhangi bir nokta yaratıldığı zamana, noktaya gerekli olan bellek tahsisi yapılır ve nokta daha sonra kendi tipindeki bağlantılı listeye eklenir. Arama hızını arttırmak için ayni zamanda veri tabanındaki bütün noktaları kapsayan bir genel nokta listesi de yaratılır. Temel olarak özel nokta tipini içeren listeler, noktalara ilişkin donanım adresi, tanım, birim alarm limitleri vs gibi çeşitli parametrelerin belirlenmesinde, genel nokta listesi de noktanın değer ve tipinin belirlenmesinde kullanılırlar. Genel nokta listesinde bir noktaya ilişkin şu alanlar bulunur. Noktanın ismi, noktanın tanım numarası, noktanın tipi ve değeri. Doğal olarak noktanın değerini okumak ve yazmak için kullanılan arama algoritmaları genel nokta listesinin kullanılmasıyla daha da hızlanmaktadır. Yukarıda kısaca özetlenen veri tabanı; alarm, eğrileme, merdivenleri izleyebilme gibi birçok yararlı özelliklerin ve hatta gelecekte yapılabilecek iyileştirmelerin kolaylıkla gerçekleştirilebilmesine olanak sağlamaktadır. Kontrol stratejisinin bilgisayara girilmesi ve bilgi sayarda temsili Herhangi bir uygulamaya ait kontrol stratejisi (taslağı) analog ve/veya sayısal algoritmalar içeren ıxmerdivenlere bölünebilir. Geliştirilen yazılımda bilgisayar temel iki işlevi gerçekleştirmektedir: Geri Tablo 1. Nokta tipleri ve büyüklükleri BYTE BYTE TİPİ SAYISI TİPİ SAYISI ANALOG GİRİŞ (Al) 74 SAYISAL GİRİŞ (Di) 62 ANALOG ÇIKIŞ (AO) 72 SAYISAL ÇIKIŞ (DO) 62 ANALOG TANIMLI (AD) 60 SAYISAL TANIMLI (DD) 58 ANALOG MİNİMUM (AM 17 SAYISAL MİNİMUM (DM) 13 planda kontrol algoritmaların! koşturmak ve ön planda kullanıcının isteği işlevleri yerine getirmek. (Şekil 3). Kontrol algoritmalarım bilgisayara girmek için kullanımı çok kolay bir editör yazılmıştır. Bu editör kullanılarak yukarıda da bahsedildiği üzere analog ve/veya sayısal algoritmaları kapsayan merdivenler bilgisayar ortamına aktarılır. Her merdiven 9 kolon ve 7 satır olmak üzere 63 tane hücreden oluşur. Şekil 4 bilgisayara girilmiş bir merdiveni göstermektedir. Yazılım bilgisayara ilk yüklendiği anda ayni zamanda veritabanını güncelleştiren ve merdivenleri tarayan bir kesme programı da koşullandırılır. Temel olarak bu kesme programı donanım girişlerini okur, merdivenleri tarar ve donanım çıkışlarına hesaplanan çıkış değerlerini yazar. Herhangi bir merdiven editöre girilirken ayni zamanda merdiveni bellekte göstermek için 4 farklı matris oluşturulur. Merdivenin her hücresinde bulunan elemanı gösteren bir fonksiyon matrisi; merdivenin satırları arasındaki bağlantıyı gösteren bir bağlantı matrisi; eğer hücredeki eleman normal olarak açık veya kapalı kontak ise bu noktalara ilişkin nokta tanım numaralarım, eğer fonksiyon ise fonksiyonun numarasını bulunduran bir tanım numarası matrisi, ve son olarak her elemandan sonraki düğüm değerlerini taşıyan bir değer matrisi. Eğer merdivenin hücresindeki eleman bir fonksiyon ise, bu fonksiyonun kullandığı noktaların tanım numaraları, fonksiyonun kayıtlarına yerleştirilir. Her fonksiyon, noktalar gibi bir bağlantılı fonksiyon listesine konur.Merdivenler kolon kolon, soldan sağa doğru taranır. Merdivenler de bir merdiven numarasına sahiptir ve bellekte yine bir bağlantılı merdiven listesinde tutulurlar. Bu liste uygun bir şekilde işlenerek, merdivenlerin işletilme sıraları istenilen biçimde ayarlanabilir. Böylece kullanıcı bir merdivenin kontrol stratejisindeki yerini istediği gibi kolayca belirleyebilir. Şekil 3. Genel akış diagramı Fonksiyonların yapısının açıklanması yazılımı daha da belirgin hale getirecektir. Bir fonksiyonun yapısı aşağıdaki gibidir. struct function unsigned short int no; /* Fonksiyon numarası */ unsigned short char status; /* Fonksiyon durum bilgisi unsigned int input [5]; /* Giriş nokta numaraları */ unsigned int output [5]; /* Çlklş nokta numaraları */ float parameter [ 25 ] ; /* Parametre dizisi */ }; V XIDÖUT CNT RESET jPSET iCTUAL fiCT DÖUT - ( >- i ACT - CI3- py -İÖ3 I LADDER İ00 Şekil4. Bir merdivene ilişkin görüntü Görüldüğü gibi, fonksiyon kaydında fonksiyonun numarası, giriş ve çıkış noktaları ve fonksiyonun yerel sabit ve değişkenlerinin tutulduğu parametre dizisi bulunmaktadır. Örneğin PID 'nin kazanç, integral sabiti, giriş değişkenin bir önceki değeri v.s. parametreleri bu dizide saklanır. Tarama programı her seferinde bir fonksiyon bulduğunda, numarasına bakarak yürütülecek algoritmayı tespit eder. Algoritmanın giriş değerlerini nokta tanım numaraları vasıtasıyla okur, algoritmayı koşturur ve sonuçları çıkış noktalarına yazar. Daha sonra kontrolü tekrar tarama programına geri verir. xxıd. Kontrol algoritmaları, Tablo 2 deki gösterilen algoritmalar yaz I İmiş ve test edilmiştir. Yeni algoritmaları yaz I Uma eklemek mümkün olduğundan, kullanıcı kendi istediği algoritmalar! yazabilir ve algoritma kümesine katabilir. e. Giriş çıkış arabirimi Yazılım, PC nin giriş/çıkış haritasını kullanmaktadır. PC 'ye bağlanacak olan herhangi bir kart bu haritanın uygun bellek adreslerini kullanmalıdır. Yazılımda her donanım giriş ve çıkışı bir bellek gözü gibi işlem görür. Giriş/çıkış programı donanım noktasının ilgili nokta listesine bakarak, adres bilgisini belirler, direk bu adresten veriyi okur veya yazar. Analog noktaların kayıtlarında sadece adres bilgisi mevcuttur. Diğer yandan sayısal noktaların kayıtlarında ise adres bilgisine ek olarak, o sayısal noktanın adreslenen kart üzerinde kaçıncı bit olduğunun anlaşılması için bit pozisyon bilgisi de kayıtta yer al İr. Yukarıda kısaca özetlemeye çalıştığımız sistemin birçok avantajı olduğu açıktır. Kullanıcı elindeki mevcut bellek büyüklüğünde, veritabanı ve kontrol strateji oluşturabilir. Yazılımın 200 KByte' İlk bir bellek kullanıldığı göz önüne alınısa, 512 KByte 'İlk bir PC için bile 312 KByte 'İlk bellek alanı kontrol ve veritabanl için kullanılabilir. Tablo 2 'den de görüldüğü gibi algoritma setine birinci ve ikinci dereceden sistem simülator algoritmalar! da eklenmiştir. Yukarıdaki bellek olanağı da göz önüne alındığında büyük bir kontrol uygulaması sahaya kurulmadan önce gerekli simülasyonlar kolaylıkla gerçekleştirilerek zaman ve iş kaybı büyük ölçüde azaltılabilir. Bu simülasyon özelliği yazılıma çok iyi bir eğitim aracı olma özelliği de kazandırmaktadır. Yukarıda da vurgulandığı gibi algoritma seti, kullanıcı programları ile büyütülebilir. Bu sayede yazılıma ileri (fuzzy, adaptif) kontrol algoritmaları eklenebilir. xııı
Özet (Çeviri)
SUMMARY The purpose of the thesis is to develop a software in order to obtain a PC based control system which can be used for either real time control or simulation purposes. At the beginning of the text, the general concepts of the database forming the heart of the system is explained. That is followed by a chapter that gives the details of functions and ladders. In chapter 4 the ladder scanning strategy will be explained. Next chapter is attached as a user's guide. In Chapter 6, the digital and analog functions of the software can be found. It is then explained how to add a new algorithm to the system in Chapter 7. Chapter 8 gives an example application in order to demonstrate the features of the software. It is believed that this work is one of the first works of its kind in our country and can be used as a stepping point for feature developments.
Benzer Tezler
- Orta ölçekli bir otomasyon sisteminde multi-PLC tasarımı ve gerçekleştirilmesi
Başlık çevirisi yok
METİN DÖNER
Yüksek Lisans
Türkçe
1996
Elektrik ve Elektronik MühendisliğiDumlupınar ÜniversitesiPROF.DR. HAMDİ ATMACA
- Bir proses kontrol sisteminin pascal dili ve seri iletişim kullanılarak PC ile gerçek zamanlı kontrolü
Real time PC based process control using pascal and serial communication
MEHMET BİÇER
Yüksek Lisans
Türkçe
1997
Elektrik ve Elektronik MühendisliğiDumlupınar ÜniversitesiElektronik Mühendisliği Ana Bilim Dalı
PROF. DR. HAMDİ ATMACA
- FDDI tabanlı bir ağ sistemi için etkin bir gerçek zamanlı iletişim yapısının tasarımı
Design of an efficient real time communication structure for an fddi based network system
FEZA BUZLUCA
Doktora
Türkçe
1997
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Bilimleri Ana Bilim Dalı
PROF. DR. EMRE HARMANCI
- Programlanabilir lojik kontrolörler ve bir konum kontrolü uygulaması
Programmable logic controllers and an application of position control
ŞENİZ CEYLAN
Yüksek Lisans
Türkçe
1990
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiPROF.DR. EMİN TACER
- Üretim kaynakları planlaması ve optimize üretim sistemlerinin analizi
Analysis of manufacturing resources planning and optimized production technologd2s
YEŞİM EMANET
Yüksek Lisans
Türkçe
1997
Endüstri ve Endüstri Mühendisliğiİstanbul Teknik ÜniversitesiEndüstri Mühendisliği Ana Bilim Dalı
DOÇ. DR. MEHMET TANYAŞ