MÜHENDİSİN NOT DEFTERİ...
DERS NOTU ŞEKLİNDEDİR, DÜZENLENECEKTİR.
S71214 DCDCDC
1M bacağına 0 V verirseniz diğer girişleri tetiklemek için +24V kullanmalıyız.
Analog girişler 0-10V arasında tetikenmelidir.
Transistörlü PLC lerde çıkışlar +24V
Q0.0 dan başlayarak adresleme yapılmaktadır.
Profinet standart. Tüm ethernet kullanan sistemlerle kullanabilirsiniz.
Memori kart sayesinde plc işlemlerini kayıt edebilirsiniz.
Ortasında bulunan kapak içerisinde signal boardlar mevcut. Direk bağlantı yapılabilir. ÖRN: thermocouple.
Haberleşme modulleri sol tarafa monte edilebilir. Örn RS485
Ray üzerine montaj yapılırken modülleri önceden monte etmek kolaylık sağlar.
GSM-GPRS Modülü ile sms vb kontroller yapılabilir, Sim Kart ihtiyacı var.
Sağ tarafa Thermocouple vb modül bağlantısı yaparken ray'a takarak tornavida yardımı ile konnektörü dışarı çıkarabilir. Tırnaklı bir yapısı var. (ilginç :))
CPU değişeceği zaman konektörler kolaylıkla tırnaklar yardımı ile ayrılabilir. Sağ taraf modulleri kablo yardımı ile farklı yere montaj yapılabilir.
DC/DC/DC -> PLC BESLEME/İNPUT/OUTPUT
Servolar ile çalışma yapılacak ise Transitörlü Olan model seçilmelidir.
Güç Kaynağı Siemens olmak zorunda değildir.
TİA PORTAL TANITIMI
Allen Bradley Studio5000 e göre daha renkli bir tasarıma sahip.
İnternette illegal olan yöntemlerle kurulumu yapılabilir. Kaynaklar mevcut. :)
Crate New Project Diyerek yeni bir proje başlatıyoruz.
CRETE işleminden sonra ADD DEVİCE ile sisteme cihazlar eklenebilir. plc ve hmı gibi.
PLC buradan kolaylıkla seçilebiliyor.
CPU eklemesinden sonra project view bölümüne geçiş yapılıyor. Giriş çıkışlar ve plc durumu rahatlıkla gözüküyor. Alt tarafta özellikler bölümü var seçilen cihazın özelliklerini buradan ahatlıkla görebiliyoruz. slotları ve işlemleri gösterebiliyor.
Sayıcılar ve çıkışları yukarıdaki ekrandan rahatlıkla gözüküyor.
Alt kısımda seçilen bölüm ile alakalı genel özellikleri görüyoruz. PLC İsmi vb değiştirilebilir.
Profinet interface üzerinden IP adreslemeleri yapılabiliyor.
DI/DO ilgili işlemlerde filitreler yapılabiliyor.
Cpu Stop moduna geçerse nasıl işlem yapılması seçilebiliyor. (son değer koru-Tüm çıkışlar için değer ver) --- BURASI ÇOK GÜZEL. Hataya geçen bir plc Çıkışları random kalması durumda Çok ciddi İş sağlığı ve Güvenliği riski oluşturabiliyor. Tekrar start alması durumda da saha ve bağlı ekipmanlar beklenen durumdan farklı çalışmalar gösterebiliyor.
PROTECTİON bölümünden yazılan yazılım şifrelenebilir.
ÖRN ÜRÜN EKLEMEK.
Katolog üzerinden direk seçim yaparak plc üzerine kolaylıkla eklenebiliyor. Özellikklerden start adresi ayarlanabiliyor. Ekledikten sonra özellikler tek tek kontrol edilmeli, Güzel ve işe yaracak bilgiler,ayarlar içeriyor.
Sol tarafta PLC ismi ile başlayan sekme ve alt başlıları artık plc ile ilgili olan bölümleri içeriyor.
Sol sekmeden rahatlıkla eklenebiliyorlar,
Çalışma Yapıları:
TP=> timer girişi aktif olduktan sonra,giriş aktif olmaktan çıksa bile PT içerisinde ayarlanan süre boyunca çıkış aktif kalır. Bir işlemden belirli bir süre boyunca çalışmasını istediğimiz durumlarda kullanabiliriz. Örneğin makine önünden birisi geçtikten sonra 10 saniye boyunca alarm çalsın gibi.
Giriş süresi bitmeden gelse gitse bile sürenin bitmesini bekler.
TON =>Allen Bradley PLC ile aynı. Giriş aktif iken saymaya başlar, süre dolarsa çıkış verir. Süre dolmadan giriş pasif olursa süre sıfırlanır. Yalnızca girişte enerji varken sayma işlemi yapar.
TOF=> Ton ile ters düşünülebilir. Giriş verildiği anda çıkış aktif olur. Sayma işlemi giriş işaretinin bozulması ile başlar, Sayma işlemi sonunda çıkış 0 sinyaline dönüşür.
TONR => Allen Bradley ile aynı. Giriş aktifken sayar, giriş şartı bozulursa sayılan değer unutulmaz. Tekrar giriş aktif olması ile kaldığı yerden saymaya devam eder. Sayma işlemi bittikten sonra çıkış aktif olur. Bu aşamadan sonra giriş gitse bile çıkış aktif olmaya devam eder. Bu nedenle bu timerda özel olarak reset girişide gereklidir.
RT=> Bilinmiyor. Sonradan eklenecek.
Giriş her aktif olduğunda sayma değeri +1 artar, PV Değerine ulaşınca çıkış aktif olur. Reset yapılana kadar aktif olmaya devam eder. Giriş tetiklenmesi ile Sayma işlemi çıkışı aktif olsa bile sayıcı saymaya devam eder. MW2 sanal tagı programda başka yerlerde kullanılabilir.
CTD=> Aşağı sayıcıdır. Load tagı eklenmek zorundanlar. LOAD ile PV değeri sayıcı içine yazılarak resetleme işlemi yapılır. Sayıcı 0 veya daha düşük olursa çıkış aktif olur. Load tetikleyerek sayıcı tekrar PV değerinden başlar ve sayma işlemi yapılır. Çıkış bozulur.
CTUD=>
LOAD komutu ile çıkış vermeye başlar. CU yukarı CD aşağıya sayar. Çift yönlü sayıcıdır.
Hızlı Sayıcılar:
CTRL_HSR
DIR: Yön biti, DRV8825 gibi elektronik step motor kontrol elemanlarındaki motor yönünü belirlediğimiz bacak ile benzer çalıyor.( Niyeyse mutlu etti beni:))
CV: Memori Bit, Vereceğimiz new CV değerini encoderin sayma değerine yüklenecek.
DERS NOTU ŞEKLİNDEDİR, DÜZENLENECEKTİR.
S71214 DCDCDC
1M bacağına 0 V verirseniz diğer girişleri tetiklemek için +24V kullanmalıyız.
Analog girişler 0-10V arasında tetikenmelidir.
Transistörlü PLC lerde çıkışlar +24V
Q0.0 dan başlayarak adresleme yapılmaktadır.
Profinet standart. Tüm ethernet kullanan sistemlerle kullanabilirsiniz.
Memori kart sayesinde plc işlemlerini kayıt edebilirsiniz.
Ortasında bulunan kapak içerisinde signal boardlar mevcut. Direk bağlantı yapılabilir. ÖRN: thermocouple.
Haberleşme modulleri sol tarafa monte edilebilir. Örn RS485
Ray üzerine montaj yapılırken modülleri önceden monte etmek kolaylık sağlar.
GSM-GPRS Modülü ile sms vb kontroller yapılabilir, Sim Kart ihtiyacı var.
Sağ tarafa Thermocouple vb modül bağlantısı yaparken ray'a takarak tornavida yardımı ile konnektörü dışarı çıkarabilir. Tırnaklı bir yapısı var. (ilginç :))
CPU değişeceği zaman konektörler kolaylıkla tırnaklar yardımı ile ayrılabilir. Sağ taraf modulleri kablo yardımı ile farklı yere montaj yapılabilir.
DC/DC/DC -> PLC BESLEME/İNPUT/OUTPUT
Servolar ile çalışma yapılacak ise Transitörlü Olan model seçilmelidir.
Güç Kaynağı Siemens olmak zorunda değildir.
TİA PORTAL TANITIMI
Allen Bradley Studio5000 e göre daha renkli bir tasarıma sahip.
İnternette illegal olan yöntemlerle kurulumu yapılabilir. Kaynaklar mevcut. :)
TİA PORTAL GENEL BAKIŞ |
Crate New Project Diyerek yeni bir proje başlatıyoruz.
CRETE işleminden sonra ADD DEVİCE ile sisteme cihazlar eklenebilir. plc ve hmı gibi.
PLC buradan kolaylıkla seçilebiliyor.
TİA PORTAL PLC ÖZELLİKLERİNİ GÖSTERİYOR |
Tia Portal Adress Verilerini Değiştirme |
Alt kısımda seçilen bölüm ile alakalı genel özellikleri görüyoruz. PLC İsmi vb değiştirilebilir.
Seçilen PLC ile İlgili Genel Özellikler |
DI/DO ilgili işlemlerde filitreler yapılabiliyor.
Cpu Stop moduna geçerse nasıl işlem yapılması seçilebiliyor. (son değer koru-Tüm çıkışlar için değer ver) --- BURASI ÇOK GÜZEL. Hataya geçen bir plc Çıkışları random kalması durumda Çok ciddi İş sağlığı ve Güvenliği riski oluşturabiliyor. Tekrar start alması durumda da saha ve bağlı ekipmanlar beklenen durumdan farklı çalışmalar gösterebiliyor.
PROTECTİON bölümünden yazılan yazılım şifrelenebilir.
ÖRN ÜRÜN EKLEMEK.
TİA PORTAL CATALOG |
Katolog üzerinden direk seçim yaparak plc üzerine kolaylıkla eklenebiliyor. Özellikklerden start adresi ayarlanabiliyor. Ekledikten sonra özellikler tek tek kontrol edilmeli, Güzel ve işe yaracak bilgiler,ayarlar içeriyor.
Sol tarafta PLC ismi ile başlayan sekme ve alt başlıları artık plc ile ilgili olan bölümleri içeriyor.
TİA PORTAL PLC bölümleri |
TİMER(ZAMANLAYICILAR)
TİA PORTAL TİMER |
Çalışma Yapıları:
TP=> timer girişi aktif olduktan sonra,giriş aktif olmaktan çıksa bile PT içerisinde ayarlanan süre boyunca çıkış aktif kalır. Bir işlemden belirli bir süre boyunca çalışmasını istediğimiz durumlarda kullanabiliriz. Örneğin makine önünden birisi geçtikten sonra 10 saniye boyunca alarm çalsın gibi.
Giriş süresi bitmeden gelse gitse bile sürenin bitmesini bekler.
TON =>Allen Bradley PLC ile aynı. Giriş aktif iken saymaya başlar, süre dolarsa çıkış verir. Süre dolmadan giriş pasif olursa süre sıfırlanır. Yalnızca girişte enerji varken sayma işlemi yapar.
TİA PORTAL TON TİMER |
TOF=> Ton ile ters düşünülebilir. Giriş verildiği anda çıkış aktif olur. Sayma işlemi giriş işaretinin bozulması ile başlar, Sayma işlemi sonunda çıkış 0 sinyaline dönüşür.
TONR => Allen Bradley ile aynı. Giriş aktifken sayar, giriş şartı bozulursa sayılan değer unutulmaz. Tekrar giriş aktif olması ile kaldığı yerden saymaya devam eder. Sayma işlemi bittikten sonra çıkış aktif olur. Bu aşamadan sonra giriş gitse bile çıkış aktif olmaya devam eder. Bu nedenle bu timerda özel olarak reset girişide gereklidir.
TİA PORTAL TONR TİMER |
RT=> Bilinmiyor. Sonradan eklenecek.
COUNTER (SAYICILAR)
TİA PORTAL COUNTER |
CTU => Yukarı sayıcı, Eklendikten sonra databese otomatik olarak geliyor. timerlar ile aynı şekilde.
Reset girişi mevcut, PV bacağı sayılacak maxsimum degeri,CV Değeride o andaki sayıcı değerini gösteriyor.
TİA PORTAL CTU |
Giriş her aktif olduğunda sayma değeri +1 artar, PV Değerine ulaşınca çıkış aktif olur. Reset yapılana kadar aktif olmaya devam eder. Giriş tetiklenmesi ile Sayma işlemi çıkışı aktif olsa bile sayıcı saymaya devam eder. MW2 sanal tagı programda başka yerlerde kullanılabilir.
CTD=> Aşağı sayıcıdır. Load tagı eklenmek zorundanlar. LOAD ile PV değeri sayıcı içine yazılarak resetleme işlemi yapılır. Sayıcı 0 veya daha düşük olursa çıkış aktif olur. Load tetikleyerek sayıcı tekrar PV değerinden başlar ve sayma işlemi yapılır. Çıkış bozulur.
TİA PORTAL CTD COUNTER |
LOAD komutu ile çıkış vermeye başlar. CU yukarı CD aşağıya sayar. Çift yönlü sayıcıdır.
Hızlı Sayıcılar:
CTRL_HSR
TİA PORTAL Hızlı Sayıcı |
DIR: Yön biti, DRV8825 gibi elektronik step motor kontrol elemanlarındaki motor yönünü belirlediğimiz bacak ile benzer çalıyor.( Niyeyse mutlu etti beni:))
CV: Memori Bit, Vereceğimiz new CV değerini encoderin sayma değerine yüklenecek.
COMPARE (Karşılaştırma Komutları)
S71200 Data Tipleri:
Not alma gereği duymuyorum. Gayet açık gözüküyor.
CMP<> İfadesi yaptığım denemeler sonucunda yukarıdaki değer aşağıdaki değerden büyük ise aktif oluyor.
Karşılaştırma komutları gibi blok eklendikten sonra data tipi seçilmek zorundadır.
Örnek Kullanım ADD:
Gayet basit şekilde toplama işlemi gerçekleştiriyor. OUT yerine toplama işlemi yapılan veri tipinde yeni bir değişken oluşturmak gerekiyor. İçerisine sonuç kayıt ediliyor, Burada test isminde bir int değişken oluşturdum.
SUB ->çıkarma işlemi yapıyor.
MUL -> çarpma işlemi yapıyor.
DIV ->Bölme işlemi yapıyor.
MOD -> Bölümden kalanı verir. :Örneğin 6 metrelik parçalar bölen bir makinede kalan metreyi 6'nın modunu alarak tespit edebiliriz.
NEG Verilen değerin negatifini alıyor.
INC -> IN/OUT içerisinde verilen değeri bir arttırmaya yarıyor.
DEC -> IN/OUT içerisinde verilen değeri bir azaltmaya yarıyor.
NOT: INC ve DEC işlemleri PLC üzerinde her döngüde gerçekleştiriyor. Pulse anahtarları (Yükselen kenar, Düşen kenar tetiklemesi) kullanılarak tek sefer için işlem yapılması gerekli.
ABS -> Mutlak değer alıyor.
MIN -> in1 ve in2 içerisinde verilen datalardan en DÜŞÜK olanı OUT çıkışında veriyor.
MAX -> in1 ve in2 içerisinde verilen datalardan en BÜYÜK olanı OUT çıkışında veriyor.
LİMİT -> Verilen max ve min değerler arasında İN girişine verilen değeri OUT çıkışına taşıyor. Girilen değer max değerden büyük ise OUT da max değer gözükür. Tersi durumda da min değer taşınır.
SQR -> Kare alma işlemi yapıyor. (REAL) değişkenler ile çalışmak lazım.
SQRT -> Kare kök alıyor.
LN -> Doğal logaritma almaya yarıyor.
EXP -> Doğal logaritma tabanına göre exp alıyor.
SİN -> Sinus ifadenin açısını göre değerini buluyor.
COS -> Cosinüs ifadenin açısını göre değerin buluyor.
TAN -> Tanjant ifadenin açısını göre değerini buluyor.
ATAN-ASİN-ACOS -> arcsinus gibi, değerden açı tespit edebiliyoruz.
FRAC->Noktadan sonraki kısmı alır.
EXPT -> İN1 ve İN2 değerlerini kullanar in1 üzeri in2 ifadesini buluyor. Üstlü ifadeler. in1^in2
Help bölümünden diğer işlemlerin açıklamalarına oluşturulabilir.
CONVERT: Reel-int gibi dönüşümler yapabiliyoruz.
FLOOR: Noktalı değerin bir önceki tam sayıya yuvarlanmasını yapıyor.
TRUNC: Küsüratlı ifadeyi siliyor, İNT e çeviriyor.
S7100 DATA Tipleri |
TİA PORTAL Karşılaştırma Komutları |
CMP<> İfadesi yaptığım denemeler sonucunda yukarıdaki değer aşağıdaki değerden büyük ise aktif oluyor.
MATH (Matematiksel Komutlar)
TİA PORTAL MATEMATİKSEL KOMUTLAR |
Örnek Kullanım ADD:
TİA PORTAL ADD |
SUB ->çıkarma işlemi yapıyor.
MUL -> çarpma işlemi yapıyor.
DIV ->Bölme işlemi yapıyor.
MOD -> Bölümden kalanı verir. :Örneğin 6 metrelik parçalar bölen bir makinede kalan metreyi 6'nın modunu alarak tespit edebiliriz.
NEG Verilen değerin negatifini alıyor.
INC -> IN/OUT içerisinde verilen değeri bir arttırmaya yarıyor.
DEC -> IN/OUT içerisinde verilen değeri bir azaltmaya yarıyor.
NOT: INC ve DEC işlemleri PLC üzerinde her döngüde gerçekleştiriyor. Pulse anahtarları (Yükselen kenar, Düşen kenar tetiklemesi) kullanılarak tek sefer için işlem yapılması gerekli.
ABS -> Mutlak değer alıyor.
MIN -> in1 ve in2 içerisinde verilen datalardan en DÜŞÜK olanı OUT çıkışında veriyor.
MAX -> in1 ve in2 içerisinde verilen datalardan en BÜYÜK olanı OUT çıkışında veriyor.
LİMİT -> Verilen max ve min değerler arasında İN girişine verilen değeri OUT çıkışına taşıyor. Girilen değer max değerden büyük ise OUT da max değer gözükür. Tersi durumda da min değer taşınır.
SQR -> Kare alma işlemi yapıyor. (REAL) değişkenler ile çalışmak lazım.
SQRT -> Kare kök alıyor.
LN -> Doğal logaritma almaya yarıyor.
EXP -> Doğal logaritma tabanına göre exp alıyor.
SİN -> Sinus ifadenin açısını göre değerini buluyor.
COS -> Cosinüs ifadenin açısını göre değerin buluyor.
TAN -> Tanjant ifadenin açısını göre değerini buluyor.
ATAN-ASİN-ACOS -> arcsinus gibi, değerden açı tespit edebiliyoruz.
FRAC->Noktadan sonraki kısmı alır.
EXPT -> İN1 ve İN2 değerlerini kullanar in1 üzeri in2 ifadesini buluyor. Üstlü ifadeler. in1^in2
Help bölümünden diğer işlemlerin açıklamalarına oluşturulabilir.
Move(Taşıma Komutları)
Örnek yapmak gerekli. Allen Bradley PLC ye göre Farklı bir durum söz konusu, Siemens PLClerde adresleme sistemini güzel kavramak gerekiyor. Araştırmalarım bittikten sonra bu kısmı güncelleyeceğim.Covert(Dönüştüme Komutları)
CONVERT: Reel-int gibi dönüşümler yapabiliyoruz.
ROUND: İn girişine verilen değerin yuvarlamasını yapıyor. 12,6 ise 13 Özel durumu:12.5 için çift olan sayıya yuvarlar(12).
CEİL: Üst Tam sayıya yuvarlanmasını yapıyor.FLOOR: Noktalı değerin bir önceki tam sayıya yuvarlanmasını yapıyor.
TRUNC: Küsüratlı ifadeyi siliyor, İNT e çeviriyor.
ANALOG İNPUTLAR
Device Configuration bölümünden Analog modül eklenebilir.
Analog input pinine 0-10 V çıkış veren bir cihaz bağlansın,
Modulde her analog giriş bir kanal olarak belirtiliyor, Adreslerinide genel ayarlar kısmından verebiliyoruz.
MOVE ile pinden alınan değer sanal bir değişken içerisine aktarılarak sayısal işlemlere tabii tutulabilir.
Analog input pinine 0-10 V çıkış veren bir cihaz bağlansın,
Modulde her analog giriş bir kanal olarak belirtiliyor, Adreslerinide genel ayarlar kısmından verebiliyoruz.
MOVE ile pinden alınan değer sanal bir değişken içerisine aktarılarak sayısal işlemlere tabii tutulabilir.
ANALOG ÇIKIŞLAR
Sürücü hızı basınç değeri vb işlemleri ayarlamak için kullanıyoruz.
0 ile 27640 arasında değerleri çıkışa yönlendirebiliyoruz. 0-10V.
Data Block :
Global bir data blok oluşturalım. İsmi otomatik olarak alsın. bize bir blok oluşturacak ve burayı veri tabanı gibi kullanabiliyoruz. Her data için bir isim ve data tipi tanımlayarak tabanımızı oluşturalım.
Retail ile enerji kesintisi vb durumda verilerin kalıcı olup olmadığını seçiyoruz.
comment bölümünde ise bildiğiniz gibi açıklama ekleyebiliriz. Örnek olarak sisteme tanımlanmış bir datablok içerisi:
Artık bunlar hafızamızda bulunan bir bölüm olmuş oldu. Şimdi bunu programımız içerisinde kullanalım. Data blok 1 olarak zaten görebileceğiz, oluşturduğumuz datalar tıkladıktan sonra geliyor.
Function Blok:
Bir adet data blok ile birlikte çalışıyor. İçerisine input ve output lar tanımlanıyor. Kendi içerisine programımız yazıyoruz. Main blok içerisine geldiğimizde artık oluşturduğumuz fonksiyon blok kullanabiliyoruz. Bu blok her koyduğumuzda bir data blok oluşturuyor input outputlar otomatik geliyor. Avantaj: Üretim sahanız içerisinde fan motorları ve ancak özel koşullar altında çalışmasını istiyorsunuz, belli sıcaklıkta belli bir frekansa çalışacak duracak alarm verecek vs vs. Tüm saha için her motoru ayrı ayrı yazamak yerine fonksiyon blok içerisinde bir kere oluşturuyoruz, ve main programımızda istediğimiz kadar kullanıyoruz. Aynı C dilindeki fonksiyonlar gibi. Büyük bir iş gücünden bizi kurtarıyor ve modüler bir yapı bize sunmuş oluyor.
BLOCKLAR
Bildiğiniz gibi programları yazarken hep program blocks altındaki main [OB1] içerisine yazmıştık. Tia portal içersisinde new block seçeneği ile eklenebilecek farklı bloklar mevcut. Bunlar;
Organization Block: Main programı yazdığımız blok gibi buradan farklı bloklar oluşturup programı bölebiliriz. Örneğin 3 farklı proses işlemi yaoan bir makine içerisinde her proses ayrı bloklar içerisine yazılır ve bu sayede arıza arama, yazılım geliştirmesi vb işlerde kolaylıkla ilgi yazılım tespit edilebilir.
Function Blok: Data block ile birlikte kullanılır.
Function Blok: Data block ile birlikte kullanılır.
Function: Fonkisyon blokalrına benzer şekilde ancak data blok kullanmıyor. Yazılımiçerisinde tekrar eden işleri yapmak için kullanılabilir, Modüler bir yapı sağlıyor.
TİA PORTAL BLOK YAPISI GENEL GÖRÜNÜM |
Global bir data blok oluşturalım. İsmi otomatik olarak alsın. bize bir blok oluşturacak ve burayı veri tabanı gibi kullanabiliyoruz. Her data için bir isim ve data tipi tanımlayarak tabanımızı oluşturalım.
Retail ile enerji kesintisi vb durumda verilerin kalıcı olup olmadığını seçiyoruz.
comment bölümünde ise bildiğiniz gibi açıklama ekleyebiliriz. Örnek olarak sisteme tanımlanmış bir datablok içerisi:
TİA PORTAL DATA BLOCK |
Function Blok:
Bir adet data blok ile birlikte çalışıyor. İçerisine input ve output lar tanımlanıyor. Kendi içerisine programımız yazıyoruz. Main blok içerisine geldiğimizde artık oluşturduğumuz fonksiyon blok kullanabiliyoruz. Bu blok her koyduğumuzda bir data blok oluşturuyor input outputlar otomatik geliyor. Avantaj: Üretim sahanız içerisinde fan motorları ve ancak özel koşullar altında çalışmasını istiyorsunuz, belli sıcaklıkta belli bir frekansa çalışacak duracak alarm verecek vs vs. Tüm saha için her motoru ayrı ayrı yazamak yerine fonksiyon blok içerisinde bir kere oluşturuyoruz, ve main programımızda istediğimiz kadar kullanıyoruz. Aynı C dilindeki fonksiyonlar gibi. Büyük bir iş gücünden bizi kurtarıyor ve modüler bir yapı bize sunmuş oluyor.