Siemens S7 1200 CPU Belleği Hakkında Bilmeniz Gereken Her Şey!

S7 1200 PLC’nin Bellek yönetimi nasıl yapılır?

CPU; kullanıcı programı, veriler ve konfigürasyonun saklanması için aşağıda verilen bellek alanlarını sağlamaktadır:
● Yük belleği; kullanıcı programı, veriler ve konfigürasyon için kalıcı bir bellektir. Bir projeyi CPU’ya yüklediğinizde, CPU programı önce yük belleği alanında saklar. Bu alan, bir bellek kartında (eğer varsa) veya CPU’da yer alır. Enerji kesilmelerinde, CPU bu kalıcı bellek alanını muhafaza der. Hafıza kartı, CPU’da yerleşik olandan daha büyük bir depolama alanını destekler.
● Çalışma belleği, kullanıcı programının yürütülürken kullanıcı projesinin bazı elemanları için kalıcı olmayan bellektir. CPU, projenin bazı elemanlarını yükleme belleğinden çalışma belleğine kopyalar. Bu geçici alan enerji kesildiğinde silinir ve enerji geri geldiğinde CPU tarafından kurtarılır.
● Kalıcı bellek, çalışma belleği değerlerinin sınırlı bir miktarı için kalıcı bir depodur. CPU, kalıcı bellek alanını seçilen kullanıcı belleği alanlarının değerlerini enerji kesilmesi durumunda saklamak için kullanır. Enerji kesildiğinde ve yeniden geldiğinde CPU bu kalıcı değerleri tekrar yükler.
Derlenen bir program için bellek kullanımını göstermek üzere STEP 7’de ‘‘Program Blokları“ içinde bloka sağ tıklayınız ve menü içeriğinden “kaynakları“ seçiniz. Derleme özellikleri yükleme belleğini ve derlenen blok için çalışma belleğini gösterir.
Geçerli CPU için bellek kullanımını çevrimiçi görüntülemek için STEP 7‘de “Online ve Diyagnostik“ üzerine çift tıklayınız, diyagnostiği genişletiniz ve Belleği seçiniz.

Kalıcı bellek

Elektrik kesintisi sonrası veri kaybı, bazı verilerin kalıcı olarak işaretlenmesiyle engellenebilir. CPU, aşağıda verilen verileri kalıcı olarak konfigüre etmenize izin verir:
● Bit hafızası (M): PLC etiket çizelgesindeki veya atama listesindeki bit hafızası için belleğin kesin genişliğini tanımlayabilirsiniz. Kalıcı bit hafızası her zaman MB0’da başlar ve belirli bir bayt sayısı boyunca art arda çalışır. Bu değeri PLC etiket çizelgesinden veya atama listesinden “Retain” araç çubuğu simgesine tıklamak suretiyle belirleyebilirsiniz. Kalıcı alanı seçmek için MB0’dan başlanacak şekilde M bayt sayısını giriniz.
● Bir fonksiyon bloğunun (FB) etiketleri: Bir FB “ “Optimized” ” kutucuğu işaretlenerek oluşturulmuşsa, bu FB için ara yüz editörü bir “Retain” sütunu içerir. Bu sütunda, her bir etiket için bağımsız olarak “Retain” veya “Non-Retain” veya her bir etiket için ayrı ayrı “Set in IDB” seçimini yapabilirsiniz. Bu FB program editörüne yerleştirilirken oluşturulan bir instance DB’si de bu retain sütununu içerir, ancak sadece görüntüler. Optimize edilen FB içinde etiket için Retain seçiminde “Set in IDB” (instance veri bloğu içinde ayarlama)’yı seçmişseniz, instance DB ara yüzü içinden bir etiketin kalıcı durumunu değiştirebilirsiniz.
Bir FB, “Standard – compatible with S7-300/400” seçilerek oluşturulmuşsa, o zaman bu FB için ara yüz editörü bir “Retain” sütunu içermez. Bu FB program editörüne eklendiğinde oluşturulan bir instance DB’si bir “Retain” sütunun gösterir. Bu sütunu editörün düzenlemesi mümkündür. Bu durumda herhangi bir etiket için “Retain” seçeneğinin seçilmesi, tüm etiketlerin seçilmesiyle sonuçlanır. Buna benzer bir şekilde herhangi bir etiket için bu seçeneğin geri alınması, tüm etiketlerin seçiminin geri alınmasıyla sonuçlanır. “Standard – compatible with S7-300/400” olacak şekilde konfigüre edilmiş bir FB için, kalıcı durumu instance DB editöründen değiştirebilirsiniz, ancak bu durumda tüm etiketler aynı kalıcı duruma ayarlanmış olur.

FB’yi oluşturduktan sonra, “Standard – compatible with S7-300/400” için seçeneğini değiştiremezsiniz. Bu seçeneği sadece FB‘yi oluşturulduğunuzda seçebilirsiniz. Mevcut bir FB’nin “Optimized” veya “Standard – compatible with S7-300/400” için yapılandırılmış olup olmadığını belirlemek için Proje ağacından FB’ye sağ tıklayınız, “Properties” ve sonra “Attributes” seçiniz. “Optimized block access” seçildiğinde kontrol kutusu bir bloğun optimize edilip edilmediğini gösterir.
● Bir global veri bloğunun etiketleri: Bir global DB’nin kalıcı durum atamasına bağlı davranışı, bir FB’nin davranışına benzerdir. Blok erişim ayarlamasına göre kalıcı durumu müstakil etiketler veya bir global veri bloğunun tüm etiketleri için tanımlayabilirsiniz.
– DB oluştururken “Optimized” komutunu seçtiyseniz, her bir münferit etiket için kalıcı durum ayarlayabilirsiniz.
– DB oluştururken “Standard – compatible with S7-300/400” seçtiyseniz, bütün etiketlerin kalıcı olmasına veya hiç birinin kalıcı olmasına bakılmaksızın DB’nin bütün etiketlerine kalıcı durum ayarı uygulanır.

CPU, toplam 10240 bayt kalıcı veriyi destekler. PLC etiket Çizelgesinden veya atama listesinden ne kadar kaldığını görmek için“Retain” araç çubuğu simgesine tıklayınız. M belleği için kalıcı aralığının belirlendiği yerde ikinci satır M ve DB bileşimi için toplam kalan belleği gösterir. Bu değerin doğru olabilmesi için kalıcı etiketli bütün veri bloklarını derlemeniz gerektiğine dikkat ediniz.

Not
Bir programın yüklenmesi kalıcı hafızada var olan değerlerde her hangi bir değişikliği silmez veya yapmaz. Bir yükleme öncesi kalıcı bir belleği silmek isterseniz, programı yüklemeden önce CPU’nuzu fabrika ayarlarına reset ediniz.

Sistem ve darbe jeneratör belleği

“Sistem belleği” ve “darbe jeneratörü belleği” (“clock memory”) için baytları etkinleştirmek üzere CPU özelliklerini kullanabilirsiniz. Program mantığınız bu fonksiyonların münferit bitlerini kendi etiket isimleriyle kullanabilir.
● M hafızasında sistem belleği için bir bayt atayabilirsiniz. Sistem belleğinin baytı, kullanıcı programınız tarafından aşağıdaki etiket isimleriyle kullanılabilecek dört biti sağlar:
– İlk döngü: ( “FirstScan” için etiket ismi) bit’i başlangıç OB’si tamamladıktan sonra ilk taramanın süresi için 1’e set edilir (İlk taramanın yürütülmesinden sonra, “first scan” biti 0’a set edilir).
– Diyagnostik durumu değiştirildi (Tag name: “DiagStatusUpdate”), CPU bir diyagnostik olayını sıralı kayıt yaptıktan sonra, bir tarama için 1’e set edilir. CPU, “diyagnostik grafiği değişti” bitini program döngüsü OB’lerinin ilk yürütmesinin sonuna kadar ayarlamadığından, kullanıcı programınız eğer başlangıç OB’lerinin yürütülmesi ya da program döngüsü OB’lerinin ilk yürütülmesi sırasında bir diyagnostik değişikliği meydana gelmişse bunu tespit edemeyebilir.
– Daima 1 (yüksek): (Etiket ismi “AlwaysTRUE”) biti daima 1’e set edilir.
– Daima 0 (düşük): (Etiket ismi “AlwaysFALSE”) biti daima 0’a set edilir.

● Darbe jeneratörü belleği için M belleğine bir bayt atayabilirsiniz. Darbe jeneratörü belleği olarak konfigüre edilen baytın her bir biti, bir kare dalga darbesi üretir. Darbe jeneratörü belleğinin baytı, 0,5 Hz (yavaş) – 10 Hz (hızlı) arasında olmak üzere 8 farklı frekans sağlar. Bu bitleri kontrol bitleri olarak kullanabilirsiniz, özellikle kullanıcı programındaki aksiyonları döngüsel esasta tetiklemek için kenar komutları birleştirildiği durumda.

CPU, bu baytları STOP modundan STARTUP moduna geçişte başlangıç durumuna getirir. Darbe jeneratörü belleğinin bitleri, STARTUP ve RUN modları üzerinden senkronize olarak CPU darbe jeneratörüne değişir.

DİKKAT

Sistem belleği veya darbe jeneratörü belleği bitlerinin üzerine yazma riskleri
Sistem belleği ya da darbe jeneratörü belleği bitlerinin üzerine yazılması durumunda bu fonksiyonlardaki veriler bozulabilir ve kullanıcı programınızın hatalı bir şekilde çalışmasına neden olabilir. Bu da ekipmana zarar verebilir, personelin yaralanmasına neden olabilir.
Hem darbe jeneratörü belleğinin hem de sistem belleğinin M hafızası içinde rezerve edilmemiş olmasından, komutlar veya haberleşmeler bu konumlara yazma işlem yapabilir ve verileri bozabilirler.
Bu fonksiyonların düzgün bir şekilde çalışmasını sağlamak için bu konumlara veri yazmaktan kaçınınız ve her zaman işlemleriniz veya makinanız için bir acil durum durdurma devresi sağlayınız.

Sistem belleği, özel bir olayı etkinleştiren (değer = 1) bitler ile bir baytı konfigüre eder:

Darbe jeneratörü belleği, bağımsız bitleri sabit aralıklarla açıp kapatarak bir döngü oluşturan bir baytı yapılandırır. Her bir darbe jeneratörü biti, karşılık gelen M hafızası bitinde bir kare dalga darbesi üretir. Bu bitler kontrol bitleri olarak kullanılabilir, özellikle kullanıcı kodundaki hareketleri döngüsel bir esasa göre tetiklemek için kenar komutları ile birleştirildiğinde.

Darbe jeneratörü belleği CPU döngüsüyle asenkronize olarak çalıştığından, darbe jeneratörü belleğinin durumu uzun bir döngü süresince birkaç kez değişebilir.

Diyagnostik (tanılama) ara belleği

CPU, her bir diyagnostik olayı için bir giriş içeren bir diyagnostik ara belleğini destekler. Her bir giriş, olayın meydana geldiği tarihi ve zamanı, bir olay kategorisini ve bir olay açıklamasını içerir. Girişler kronolojik sırada, en yakın zamanlı olanı en üstte olacak şekilde görüntülenir. Bu kütükte, en son 50 olay tutulabilir. Kütük dolduğunda en son gelen olay kütükteki en eski olayın yerini alır. Enerji kesildiğinde, olaylar kaydedilir.
Diyagnostik ara belleğinde şu olay tipleri kaydedilir:
● Her sistem diyagnostik olayı; mesela CPU hataları ve modül hataları
● CPU’nun her durum değişimi (her enerji açılışı, her STOP’a geçiş, her RUN’a geçiş)
Diyagnostik ara belleğine (Sayfa 793) erişmek için çevrimiçi durumda olmalısınız. Online & Diyagnostik” görünümünden “Diagnostics > Diagnostics buffer” altına kütüğü konumlandırınız.

Günün saati

CPU, bir günün saati desteğini sağlar. Bir süper kapasitör CPU enerjili değilken saatin çalışabilmesi için gerekli enerjiyi sağlar. Bu süper kapasitör, CPU’da enerji beslemesi varken şarj olur. CPU en az 24 saat boyunca enerjili kaldığında, süper kapasitör saatin tipik olarak 20 gün boyunca çalışması için yeterli şarja sahip olur.
STEP 7, günün saatini sistem saatine ayarlar. Bu bir kutudan veya izleyen fabrika resetinden bir varsayılan değere sahiptir. Günün saatini kullanabilmek için onu set etmeniniz gerekir. Diyagnostik ara bellek girişleri, veri kütük dosyaları ve veri kütük girişlerinde olduğu gibi zaman bilgisi sistem saatine dayanır. Günün saatini online CPU’nun “Online & diagnostics” görünümündeki “Set günün saatini ayarla” fonksiyonundan (Sayfa 789) ayarlayınız. STEP 7 sonra sistem saatini sizin set ettiğiniz saate artı veya eksi olarak Windows İşletim Sisteminin UTC (Coordinated Universal Time) ofseti dikkate alarak hesaplar. Windows İşletim Sistemininiz ayarlaması zaman bölgesi için ve yaz saatini yerel konumunuza karşılık ise günün saatinin geçerli yerel saate ayarlanması UTC’nin sistem saatini üretir.
STEP 7 sistem saatini okumak ve yazmak için (RD_SYS_T ve WR_SYS_T) (Sayfa 286) ve local saati okumak için (RD_LOC_T) ve saat bölgesini set etmek için (SET_TIMEZONE) komutlarını içerir. Yerel saat, CPU genel özelliklerindeki (Sayfa 242) “Günün saati” konfigürasyonunda set ettiğiniz saat bölgesi ve yaz saati ofsetini kullanarak RD_LOC_T komutu hesaplar. Bu ayarlamalar sizin lokal saat için saat bölgenizi ayarlamanızı ve yaz saati için başlama ve bitiş tarihleri ve saatlerini belirlemenizi mümkün kılar. Bu ayarlamaları konfigüre etmek için SET_TIMEZONE komutunu da kullanabilirsiniz.

Bir RUN – STOP geçişindeki çıkışların konfigürasyonu

CPU STOP modunda iken dijital ve analog çıkışların davranışını yapılandırabilirsiniz. Bir CPU’nun, SB’nin veya SM’nin herhangi bir çıkışı için çıkışları dondurabilir ya da çıkışlara geçici bir değer atayabilirsiniz:
● Belirli bir çıkış değerinin yerine geçmek (varsayılan): CPU, SB veya SM cihazının her bir çıkışı (kanalı) için geçici bir değer atayabilirsiniz.
Dijital çıkış kanalları için varsayılan geçici değer OFF (kapalı) şeklindedir. Analog çıkış kanalları için geçici değer ise 0’dır.
● Çıkışları son durumda kalmaları için dondurmak: Çıkışlar, RUN’dan STOP’a geçişte o anki değerlerinde kalırlar. Enerjilendikten sonra, çıkışlara varsayılan yedek değer atanır.
Çıkışların davranışını, Cihaz Konfigürasyonundan yapılandırabilirsiniz. Münferit cihazları seçiniz ve her bir cihaz için çıkışları yapılandırmak üzere “Özellikler” sekmesini kullanınız.
CPU, RUN’dan STOP’a geçtiğinde, CPU proses görüntüsünü sabit tutar ve hem dijital hem de analog çıkışlar için konfigürasyonda tanımlanan uygun değerleri yazar.

KURSLARIMIZ

BLOG KATEGORİLERİ

SON YAZILAR

Mesajınız için teşekkür ederiz. Size en kısa sürede ulaşacağız.
Mesajınızı gönderirken bir hata oluştu. Lütfen tekrar deneyin.

İletişim Bilgilerinizi Bırakın Biz Sizi Arayalım!

Sizin memnuniyetiniz, bizim mutluluğumuzdur…

Mesajınız için teşekkür ederiz. Gönderildi.
Mesajınızı gönderirken bir hata oluştu. Lütfen tekrar deneyin.