İçeriğe geç

Siemens S7

Siemens S7 protokolü, Siemens S7 serisi PLC’ler ile TCP/IP üzerinden haberleşme sağlar. ProfiNET (Process Field Network) endüstriyel ethernet standardı üzerine çalışır ve varsayılan olarak port 102 kullanır.

inSCADA, S7 protokolünü yalnızca Client rolünde destekler.

  • Siemens S7-300
  • Siemens S7-400
  • Siemens S7-1200
  • Siemens S7-1500
Connection (Bağlantı — IP, port, rack, slot)
└── Device (Cihaz)
└── Frame (Veri Bloğu — S7 bellek alanı)
└── Variable (Değişken — adres + veri tipi)
ParametreÖrnekAçıklama
ProtocolS7Protokol seçimi
IP Address192.168.1.1PLC IP adresi
Port102S7 portu (varsayılan: 102)
Rack0PLC rack numarası (varsayılan: 0)
Slot0PLC slot numarası (S7-1200/1500 için 0, S7-300/400 için 2)
Timeout5000 msBağlantı timeout süresi
Connection TypeS7_BASICBağlantı tipi
TipAçıklama
PGProgramlama cihazı bağlantısı
OPOperatör paneli bağlantısı
S7_BASICStandart S7 bağlantısı (varsayılan)
ParametreÖrnekAçıklama
Scan Time1000 msTarama periyodu
Scan TypePERIODICPERIODIC veya FIXED_DELAY
ParametreÖrnekAçıklama
TypeDBBellek alanı tipi (aşağıya bakın)
Start Address0Başlangıç byte adresi
Quantity100Okunacak byte sayısı
DB Number8Datablock numarası (yalnızca DB ve DI tipleri için)
TipAçıklamaKullanım
DBDataBlock (Peripheral I/O) AreaEn yaygın — Global Data Block
DIDataBlock AreaInstance Data Block
DB_LOCALDataBlock (local) AreaLocal Data Block
MKMarker (Flags) AreaMerker alanı (M)
PEPE (Inputs) Instance AreaGiriş alanı (I)
PAPA (Outputs) Instance AreaÇıkış alanı (Q)
TMS7 Timer AreaZamanlayıcı
CT_INPUTSS7 Counter AreaSayaç
SYS_INFOSystem InformationSistem bilgisi
SYSTEM_FLAGSS7 CountersSistem bayrakları
TM_IECIEC Counters (200 Family)IEC sayaçlar
TM_VIEC Timers (200 Family)IEC zamanlayıcılar
ANALOG_INPUTSAnalog Inputs (200 Family)Analog giriş
ANALOG_OUTPUTSAnalog Outputs (200 Family)Analog çıkış
ParametreÖrnekAçıklama
Start Address0Frame içindeki byte ofseti
Bit Offset0Bit ofseti (BIT tipi için, 0-7)
TypeREALS7 veri tipi
Max Len0String değişkenler için maksimum uzunluk
Veri TipiBoyutAçıklama
BIT1 bitTek bit (Bool) — Bit Offset ile erişilir
BYTE8 bitİşaretsiz 8-bit tam sayı
WORD16 bitİşaretsiz 16-bit tam sayı
INT16 bitİşaretli 16-bit tam sayı
DWORD32 bitİşaretsiz 32-bit tam sayı
DINT32 bitİşaretli 32-bit tam sayı
REAL32 bit32-bit kayan nokta (Float)
LREAL64 bit64-bit kayan nokta (Double)
DATETIME8 byteTarih ve saat
S7STRINGDeğişkenS7 string formatı
S7WSTRINGDeğişkenS7 wide string formatı

S7 adresleme byte ve bit tabanlıdır. Frame’in başlangıç adresine göre variable adresleri hesaplanır:

Frame: DB8, Start Address: 0, Quantity: 100
Variable örnekleri:
├── DB8.DBX0.0 → Start: 0, Bit Offset: 0, Type: BIT (ilk bit)
├── DB8.DBX0.1 → Start: 0, Bit Offset: 1, Type: BIT (ikinci bit)
├── DB8.DBB2 → Start: 2, Type: BYTE (3. byte)
├── DB8.DBW4 → Start: 4, Type: WORD (5-6. byte)
├── DB8.DBD8 → Start: 8, Type: REAL (9-12. byte)
└── DB8.DBD12 → Start: 12, Type: DINT (13-16. byte)

S7 protokolü ile haberleşme için PLC tarafında bazı ayarların yapılması gerekir. Bu ayarlar TIA Portal V12 ve üzeri sürümlerde geçerlidir.

1. Optimized Block Access’i Devre Dışı Bırakma

Section titled “1. Optimized Block Access’i Devre Dışı Bırakma”

S7-1200 ve S7-1500 PLC’lerde Global DB’lerin optimized block access özelliği varsayılan olarak açıktır. inSCADA ile haberleşme için bu özellik kapatılmalıdır:

  1. TIA Portal’da ilgili DB’ye (Data Block) çift tıklayın
  2. DB’nin Properties (Özellikler) penceresini açın
  3. Attributes sekmesinde “Optimized block access” seçeneğinin işaretini kaldırın
  4. DB’yi kaydedin ve PLC’ye yükleyin

PLC’nin dış haberleşmeye izin vermesi için erişim seviyesi ayarlanmalıdır:

  1. TIA Portal’da CPU Properties (CPU Özellikleri) bölümüne gidin
  2. Protection & Security (Koruma ve Güvenlik) sekmesini açın
  3. Access Level ayarını “Full access (no protection)” olarak seçin

S7 protokolü PUT/GET mekanizması ile çalışır. Bu özelliğin PLC’de etkinleştirilmesi gerekir:

  1. TIA Portal’da CPU Properties bölümüne gidin
  2. Protection & Security sekmesinde
  3. “Permit access with PUT/GET communication from remote partner” seçeneğini etkinleştirin (işaretleyin)
#AyarKonumDurum
1Optimized block accessDB Properties → Attributes☐ Kapalı
2Access LevelCPU Properties → Protection☐ Full access
3PUT/GET permissionCPU Properties → Protection☐ Etkin

Minutes Offset parametresi, PLC’den okunan zaman damgalarına dakika cinsinden ofset uygular. Örneğin PLC UTC saatinde çalışıyor ve inSCADA yerel saat göstermesi gerekiyorsa:

  • UTC+3 (Türkiye) için: 180 (3 saat × 60 dakika)
  • Saat geri almak için negatif değer: -60 (1 saat geri)
  • Varsayılan: 0 (ofset yok)

Frame’in tarama periyodu, Device’ın Scan Time değeri ile çarpılarak hesaplanır:

Frame Scan Time = Device Scan Time × Scan Time Factor

Örneğin Device Scan Time = 1000 ms ve Frame Scan Time Factor = 5 ise, bu frame her 5 saniyede bir taranır. Yavaş değişen veriler için factor artırılarak gereksiz haberleşme yükü azaltılabilir.