S7 1200 PLC’de Veri depolama, bellek alanları, I/O ve adreslemeler

S7-1200’ün verilerine erişim

STEP 7, sembolik programlamayı kolaylaştırır. Verilerin adresleri için bellek adresleriyle ilgili PCL etiketleri ve I/O noktaları ya da bir kod bloğu içinde kullanılan lokal değişkenler olarak sembolik isimler veya etiketler (“tag“) oluşturabilirsiniz. Bu etiketleri kullanıcı programında kullanmak için sadece komut parametrelerine etiket ismini giriniz.
CPU’nun bellek alanlarını nasıl yapılandırdığını ve adreslediğini daha iyi anlamak için aşağıda PLC etiketleri tarafından başvurulan “mutlak” adresleme açıklanmıştır. CPU, kullanıcı programının yürütülmesi sırasında veri depolamak için birkaç seçenek sunar:
● Global bellek: CPU, çeşitli özelleştirilmiş bellek alanları sunar: girişler (I), çıkışlar (Q) ve bit belleği (M). Bu belleğe tüm kod blokları herhangi bir kısıtlama olmaksızın erişebilir.
● PLC etiket Çizelgesi: Belirli bellek yerleri için STEP 7 PLC etiket Çizelgesinde sembolik isimleri girebilirsiniz. Bu etiketler STEP 7 için globaldır ve uygulamanız için anlamlı olan isimler ile programlamaya izin verir.
● Veri bloğu (DB): Kod blokları için veri depolamada kullanıcı programınıza DB’ler ekleyebilirsiniz. Depolanan veriler, ilgili kod bloğunun yürütmesi sonlanana kadar kalır. Bir “global” DB, tüm kod blokları tarafından kullanılabilen verileri saklar, bir instance DB’si ise belirli bir FB için verileri depolar ve FB için parametreler tarafından yapılandırılır.
● Geçici bellek: Bir kod bloğunun her çağrılışında, CPU’nun işletim sistemi, bloğun yürütülmesi sırasında kullanılacak geçici ya da lokal hafızayı (L) tahsis eder. Kod bloğunun yürütülmesi bittiğinde, CPU lokal hafızayı diğer kod bloklarının yürütülmesi için tekrar tahsis eder.

Her bellek konumunun benzersiz bir adresi vardır. Kullanıcı programınız bu adresleri bellek konumundaki bilgilere erişmek için kullanır. Giriş (I) veya çıkış (Q) bellek alanlarına IO.3 veya Q1.7 gibi başvurular, proses görüntüsüne erişir. Fiziksel girişe veya çıkışa anında erişim, “:P” referansı ile ekleyiniz (I0.3:P, QI.7:P veya “Stop:P“ gibi)

Her bellek konumunun benzersiz bir adresi vardır. Kullanıcı programınız bu adresleri bellek konumundaki bilgilere erişmek için kullanır. Mutlak adres, izleyen elemanlardan oluşur:
● Bellek alanı tanımlayıcısı (I, Q veya M gibi)
● Erişim sağlanacak verilerin boyutu (Bayt için “B”, Word için “W” veya DWord için “D”)
● Verilerin başlama adresi (bayt 3 veya word 3 gibi)
Bir Boolean değeri için adres içindeki bir bite erişirken, boyut için bir hatırlatıcı girmenize gerek yoktur. Sadece bellek alanını, bayt konumunu ve veriler için bit konumunu girersiniz (I0.0, Q0.I veya M3.4 gibi).

CPU’nun bellek alanlarındaki verilere nasıl erişilir?

STEP 7, sembolik programlamayı kolaylaştırır. Tipik olarak, etiketler PLC etiketlerinin, bir veri bloğunun veya OB’nin, FC’nin veya FB’nin üstündeki ara yüzün içinde oluşturulur. Bu etiketler bir isim, veri tipi, ofset ve yorum içerir. Ayrıca bir veri bloğunda bir başlangıç değeri belirlenebilir. Bu etiketleri programlama sırasında komut parametresindeki etiket ismini girerek kullanabilirsiniz. Tercihen komut parametresindeki mutlak operandı (bellek alanı, boyut ve ofset) da girebilirsiniz. Aşağıdaki bölümlerde yer alan örnekler, mutlak operandların nasıl girileceğini göstermektedir. % karakteri, mutlak operandın önüne program editörü tarafından otomatik olarak eklenir. Program editöründeki görünümü şunlardan biri olarak seçebilirsiniz: sembolik, sembolik ve mutlak veya mutlakI (proses imaj girişi): CPU, çevresel (fiziksel) giriş noktalarını, her bir tarama döngüsünün döngüsel OB yürütmesinin hemen öncesinde örnekler ve bu değerleri giriş proses görüntüsüne yazar. Giriş proses görüntüsüne bit, bayt, word veya double word olarak erişebilirsiniz. Hem okuma hem de yazma erişimine izin verilir, ama tipik olarak proses görüntü girişleri sadece okunur.

Adrese bir “:P” ekleyerek CPU’nun, SB’nin veya SM’nin dijital ve analog girişlerini hemen okuyabilirsiniz. I yerine I_:P kullanarak erişim sağlandığında, veriler giriş proses görüntüsünden gelmek yerine direkt olarak erişilen noktalardan gelir. Bu I_:P erişimine “anında okuma” erişimi denir. Bunun sebebi verilerin giriş görüntüsünün güncellendiği son zamanda alınan bir kopyadan alınması yerine direkt olarak kaynaktan alınmasıdır.
Fiziksel giriş noktaları değerlerini direkt olarak bu noktalara bağlı olan saha cihazlarından aldığından, bu noktalara yazma yasaklanmıştır. Yani, I erişimleri hem okunur hem yazılabilirken, I_:P erişimleri salt okunurdur.
I_:P erişimleri aynı zamanda en yakın bayta yuvarlanmış şekilde tek bir CPU, SB veya SM tarafından desteklenen girişlerin boyutuyla da sınırlıdır. Örneğin eğer bir 2 DI / 2 DQ SB’nin girişleri 14.0’da başlamak üzere yapılandırılmışsa, o zaman giriş noktalarına I4.0:P ve I4.1:P ya da IB4:P olarak erişilebilir. I4.2:P’ye I4.7:P üzerinden erişimler reddedilmez, ancak bu noktalar kullanılmadığından bir anlam da ifade etmez. IW4:P’ye ve ID4:P’ye erişimler, bunlar SB ile ilişkilendirilmiş bayt ofsetini aştıklarından yasaklanır.
I_:P kullanan erişimler, giriş proses görüntüsünde saklanan karşılık gelen değeri etkilemez.

Adrese bir “:P” ekleyerek CPU’nun, SB’nin veya SM’nin dijital ve analog çıkışlarına anında yazabilirsiniz. Q yerine Q_:P kullanılan bir erişimde veriler direkt olarak erişilen noktaya ve buna ek olarak çıkış proses görüntüsüne gider (iki yere de yazılır). Bu Q_:P erişimine bazen “anında yazma” denir. Çünkü veriler hedef noktasına direkt olarak gönderilir; hedef noktası çıkış proses görüntüsünden gelecek bir sonraki güncelleme için beklemek zorunda değildir.
Fiziksel çıkış noktaları bu noktalara bağlı olan saha cihazlarını direkt olarak kontrol ettiklerinden, bu noktalardan okuma yasaktır. Yani, Q erişimleri hem okunur hem yazılabilirken, Q_:P erişimleri salt yazılırdır.

Q_:P erişimleri aynı zamanda en yakın bayta yuvarlanmış şekilde tek bir CPU, SB veya SM tarafından desteklenen çıkışların boyutuyla da sınırlıdır. Örneğin eğer bir 2 DI / 2 DQ SB’nin çıkışları Q4.0’da başlamak üzere yapılandırılmışsa, o zaman çıkış noktalarına Q4.0:P ve Q4.1:P veya QB4:P olarak erişilebilir. Q4.2:P’ye Q4.7:P üzerinden erişimler reddedilmez, ancak bu noktalar kullanılmadığından bir anlam da ifade etmez. QW4:P’ye ve QD4:P’ye erişimler, bunlar SB ile ilişkilendirilmiş bayt ofsetini aştıklarından yasaklanır.
Q_:P kullanan erişimler hem fiziksel hem de çıkış proses görüntüsünde saklanan karşılık gelen değeri etkiler.

Temp belleği M hafızasına benzer ancak aralarında tek bir büyük fark bulunur: M hafızasının “global” bir kapsamı vardır, temp belleği ise “lokal” bir kapsama sahiptir:<
● M beleği: M hafızasındaki verilere herhangi bir OB, FC ya da FB erişebilir. Yani veriler kullanıcı programının tüm elemanları için global olarak kullanılabilir.
● Temp beleği: Temp belleğindeki verilere erişim, temp belleği konumunda oluşturulmuş veya tanımlanmış OB, FC veya FB ile kısıtlanmıştır. Temp hafızası konumları lokal kalır ve kod bloğu başka bir kod bloğunu çağırdığında bile farklı kod blokları tarafından paylaşılmaz. Bir OB bir FC’yi çağırdığında, FC onu çağıran OB’nin temp belleğine erişemez.
CPU, üç OB öncelik gurubunun her biri için temp (lokal) hafıza sağlar:
● 16 kilobayt, program döngüsü ve başlatma için, ilgili FB’ler ve FC’ler dahil
● 6 kilobayt, her bir ilave interrupt olayı yürütmesi için, FB’ler ve FC’lerle ilgili olanlar dahil
Temp belleğine sadece sembolik adresleme ile erişebilirsiniz.
DB (veri bloğu): DB belleği, bir işlemin ara durumunu ya da FB’ler için diğer kontrol bilgileri parametreleri ve zamanlayıcılar ve sayıcılar gibi çoğu komut için gerekli veri yapıları dahil olmak üzere çeşitli veri türlerinin saklanması için kullanabilirsiniz.
Salt okunur data blokları için sadece okuma erişimine izin verilir.

CPU ve I/O modüllerindeki I/O’ların konfigürasyonu

Konfigürasyon ekranınıza bir CPU ve I/O modülleri eklediğinizde, I ve Q adresleri otomatik olarak atanır. Konfigürasyon ekranından adres alanını seçip yeni numaralar girerek varsayılan adreslemeyi değiştirebilirsiniz.
 Dijital girişler ve çıkışlar, modül tüm noktaları kullansın ya da kullanmasın 8 noktalık (1 bayt) gruplar halinde atanır.
 Analog girişler ve çıkışlar, 2 noktalık gruplar halinde atanır (4 bayt).

Şekilde, iki SM ve bir SB’li bir CPU 1214C örneği gösterilmiştir. Bu örnekte, DI8 modülünün adresini 8 yerine 2 olarak değiştirebilirsiniz. Araç, hatalı boyuta sahip ya da diğer adreslerle çakışan adres aralıklarını değiştirerek size yardımcı olacaktır.

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.