Siemens S7 Adresleme
Siemens S7 TCP cihazlarında tag'in Adres alanına PLC'deki mutlak S7 adresi yazılır. Cihaz ve kanal ayarları için Siemens S7 TCP sayfasına bakın.
Adres Söz Dizimi
Adres, bellek alanını ve başlangıç baytını (Bool için ayrıca bit numarasını) belirtir. Adresler büyük harfle ve boşluksuz yazılır.
DB (veri bloğu) adresleri
DB<db>.DBX<bayt>.<bit>
DB<db>.DBB<bayt>
DB<db>.DBW<bayt>
DB<db>.DBD<bayt>DB numarası ile alan arasında nokta (.) kullanılır; DB1,DBW0 gibi virgüllü yazım kabul edilmez.
Giriş (I), çıkış (Q) ve bellek (M) adresleri
I<bayt>.<bit> IB<bayt> IW<bayt> ID<bayt>
Q<bayt>.<bit> QB<bayt> QW<bayt> QD<bayt>
M<bayt>.<bit> MB<bayt> MW<bayt> MD<bayt>Almanca kısaltmalar da kabul edilir: giriş için E (E0.0, EW2), çıkış için A veya O (A0.1, AB1).
Timer (T) ve counter (C) adresleri
T<numara>
C<numara>Counter için Almanca Z<numara> yazımı da kabul edilir.
Adres öğeleri
| Öğe | Anlamı |
|---|---|
DB<db> | Veri bloğu numarası, örn. DB10 |
I, Q, M | Giriş, çıkış ve bellek (merker) alanları |
T, C | Timer ve counter alanları |
X + .<bit> | Bit erişimi; bit numarası 0–7 |
B | Bayt (1 bayt) |
W | Word (2 bayt) |
D | Double word (4 bayt) |
<bayt> | Alan içindeki başlangıç baytı; en fazla 2097151 |
DB, timer ve counter numaraları en fazla 65535 olabilir.
TIP
B, W ve D harfleri yalnızca başlangıç baytını gösterir. Okunan bayt sayısını ve değerin nasıl çözüleceğini tag'in Veri Tipi belirler. Karışıklığı önlemek için harfi veri tipinin boyutuyla uyumlu seçin: 2 baytlık tipler için W, 4 baytlık tipler için D.
Veri tipi ve adres biçimi
- Bool tag'ler bit adresi ister:
DB<db>.DBX<bayt>.<bit>veyaI/Q/M+<bayt>.<bit>(örn.DB1.DBX0.0,M0.1). - Bit adresi yalnız Bool tag'lerde kullanılır. Diğer tipler bayt, word veya double word adresi kullanır (örn.
DB1.DBW0,MW10). - Timer ve counter adresleri bit içermez; bu adreslerde Bool kullanılmaz.
Örneğin MW10 üzerinde Bool tag veya M0.1 üzerinde Int tag kaydedilmez.
Desteklenmeyen yazımlar (tag tablosunda ve sunucuda reddedilir):
IX0.0,MX10.1gibiXönekli giriş/çıkış/bellek bit adresleri:I0.0,M10.1biçimini kullanın.- Bit numarası olmayan bit adresi (örn.
DB1.DBX0), alanı olmayan DB adresi (örn.DB1) ve 7'den büyük bit numarası. - Küçük harfli adresler (örn.
db1.dbw0). - Çevre birimi (
P) adresleri.
Tag kaydı reddedildiğinde hata mesajında nedeni görünür.
Veri Tipleri
| PLC tipi | Veri Tipi | Okunan boyut | Örnek adres |
|---|---|---|---|
| BOOL | Bool | 1 bit | DB1.DBX0.0, I0.0, Q0.1, M10.3 |
| BYTE, USINT | Byte | 1 bayt | DB1.DBB1, IB0, QB1, MB5 |
| INT | Int | 2 bayt, işaretli | DB1.DBW2, IW64, MW20 |
| WORD, UINT | Word | 2 bayt, işaretsiz | DB1.DBW4, QW2, MW22 |
| DINT | DInt | 4 bayt, işaretli | DB1.DBD6, MD40 |
| DWORD, UDINT | DWord | 4 bayt, işaretsiz | DB1.DBD10, ID4 |
| REAL | Real | 4 bayt, kayan noktalı | DB1.DBD14, MD44 |
| LREAL | LReal | 8 bayt, kayan noktalı | DB1.DBD18 |
| STRING[n] | String | n + 2 bayt | DB1.DBB26 (Veri Uzunluğu = n) |
Kurallar:
- String: Adres, STRING değişkeninin başlangıç baytını gösterir. Veri Uzunluğu alanına PLC'de tanımlı en fazla karakter sayısı yazılır (örn.
STRING[20]için 20). Yalnızca S7 STRING desteklenir; WSTRING ve CHAR dizileri desteklenmez. - Veri Uzunluğu: String dışındaki tiplerde 1 olmalıdır; dizi okuma desteklenmez. Dizinin her elemanı için ayrı tag tanımlayın.
- Sbyte: Siemens cihazlarında desteklenmez. SINT değişkenlerini PLC programında INT bir değişkene aktarıp Int olarak okuyun.
- LInt, ULInt ve LWord: 2.10'da desteklenmez; Siemens cihazlarında listede seçilemez ve sunucu kaydı reddeder. LINT, ULINT ve LWORD değişkenlerini PLC programında DINT, DWORD veya LREAL bir değişkene aktarıp onu okuyun.
- Otomatik: Siemens cihazlarında desteklenmez; Veri Tipi'ni açıkça seçin.
Eski sürümden kalan tag'ler
LInt, ULInt veya LWord tipindeki ya da adresi veri tipine uymayan (bkz. Veri tipi ve adres biçimi), eski sürümde kaydedilmiş tag'ler silinmez. Çalışma zamanında okunmaz, Bad kalitede kalır ve nedeni servis loguna yazılır; bu tag'lere yazma da reddedilir. Düzeltmek için tag'in adresini veya veri tipini değiştirip kaydedin; yalnız açıklamayı değiştirerek kaydetmek reddedilir.
Timer ve Counter
T<numara> ve C<numara> adresleri, timer veya counter'ın 16 bitlik ham değerini Veri Tipi Word veya Int olarak okur. Değer saniyeye veya ondalık sayıya çevrilmez; timer'larda zaman tabanı ve BCD kodlu değer birlikte gelir. Okunabilir bir değer gerekiyorsa PLC programında timer veya counter değerini bir DB'ye ya da bellek word'üne (örn. MW100) aktarıp o adresi okuyun. Timer ve counter adreslerinden yalnızca okuma yapın.
Örnekler
| Adres | Veri Tipi | Veri Uzunluğu | Anlamı |
|---|---|---|---|
DB1.DBX0.0 | Bool | 1 | DB1, bayt 0, bit 0 |
DB1.DBX0.7 | Bool | 1 | DB1, bayt 0, bit 7 |
DB1.DBB1 | Byte | 1 | DB1, bayt 1 |
DB1.DBW2 | Int | 1 | DB1, bayt 2–3 |
DB1.DBD6 | DInt | 1 | DB1, bayt 6–9 |
DB1.DBD14 | Real | 1 | DB1, bayt 14–17 |
DB1.DBB26 | String | 20 | DB1, bayt 26'dan başlayan STRING[20] |
I0.0 | Bool | 1 | Giriş baytı 0, bit 0 |
IW64 | Int | 1 | Giriş baytı 64–65 |
Q0.1 | Bool | 1 | Çıkış baytı 0, bit 1 |
QB1 | Byte | 1 | Çıkış baytı 1 |
M10.3 | Bool | 1 | Bellek baytı 10, bit 3 |
MW20 | Word | 1 | Bellek baytı 20–21 |
MD44 | Real | 1 | Bellek baytı 44–47 |
T5 | Word | 1 | Timer 5'in ham değeri |
C3 | Word | 1 | Counter 3'ün ham değeri |
Girişlere (I) yazmak önerilmez; PLC giriş alanını her çevrimde fiziksel girişlerden yeniden doldurur.