İçeriğe geç

EtherNet/IP

EtherNet/IP (Ethernet Industrial Protocol), CIP (Common Industrial Protocol) tabanlı bir endüstriyel haberleşme protokolüdür. ODVA (Open DeviceNet Vendors Association) tarafından yönetilir. TCP/IP ve UDP üzerinde çalışır, varsayılan olarak port 44818 kullanır.

inSCADA, EtherNet/IP protokolünü yalnızca Client rolünde destekler.

inSCADA’nın EtherNet/IP implementasyonu tag-based addressing (CIP implicit messaging) kullanır. Bu adresleme yöntemi aşağıdaki kontrol platformlarında desteklenir:

PlatformDestekAçıklama
ControlLogix (Allen-Bradley)Logix 5000+ serisi — tam destek
CompactLogix (Allen-Bradley)Logix 5000+ serisi — tam destek
SoftLogix (Rockwell)PC tabanlı Logix çalışma ortamı
MicroLogix (Allen-Bradley)Data file tabanlı adresleme — desteklenmez
SLC 500 (Allen-Bradley)Data file tabanlı adresleme — desteklenmez
PLC-5 (Allen-Bradley)Data file tabanlı adresleme — desteklenmez

Logix platformlarında veriler tag (etiket) isimleri ile erişilir. Register adresi yerine programda tanımlanan tag adı doğrudan kullanılır:

Motor_1_Speed → Basit tag (REAL)
Tank.Level → UDT (User Defined Type) üyesi
Station[3].Temp → Dizi elemanı
Program:MainProgram.Counter → Program scope tag

Bu yaklaşım:

  • İnsan okunabilir — tag adı verinin ne olduğunu açıklar
  • PLC programı ile doğrudan eşleşir
  • Register adresi hesaplamaya gerek kalmaz
Connection (Bağlantı — IP, port, timeout)
└── Device (Cihaz — Slot numarası)
└── Frame (Veri Bloğu — Gruplama)
└── Variable (Değişken — Tag adı)
ParametreÖrnekAçıklama
ProtocolEthernetIpProtokol seçimi
IP Address192.168.1.1PLC IP adresi
Port44818EtherNet/IP portu (varsayılan: 44818)
Timeout5000 msİstek timeout süresi
Retries3Başarısız istek tekrar sayısı
ParametreÖrnekAçıklama
Slot0PLC’nin backplane slot numarası
Scan Time1000 msTarama periyodu
Scan TypePERIODICPERIODIC veya FIXED_DELAY

Frame, EtherNet/IP’de sadece variable’ları gruplamak için kullanılır. Protokole özgü ek parametre yoktur.

ParametreÖrnekAçıklama
NameMotor_1_SpeedPLC’deki tag adı (tam yol)
TypeREALCIP veri tipi
Bit Parent Type(opsiyonel)Bit erişim için üst veri tipi

Variable adı, PLC programındaki tag adıyla birebir aynı olmalıdır. inSCADA bu adı kullanarak CIP Read/Write Tag Service isteği gönderir.

Veri TipiCIP BoyutuAçıklama
BIT1 bitTek bit (Bit Parent Type gerektirir)
BOOL1 bitBoolean değer
SINT8 bitİşaretli 8-bit tam sayı (-128 ~ 127)
INT16 bitİşaretli 16-bit tam sayı (-32768 ~ 32767)
DINT32 bitİşaretli 32-bit tam sayı
LINT64 bitİşaretli 64-bit tam sayı
REAL32 bit32-bit kayan nokta (IEEE 754)
BITS32 bitBit dizisi (32-bit word olarak)
STRUCTDeğişkenYapısal veri tipi (UDT)

Tek bir bit’e erişmek için BIT tipi kullanılır. Bu durumda bit’in hangi veri tipinin içinden okunacağını belirten Bit Parent Type seçilmelidir:

Bit Parent TypeAçıklama
SINT8-bit integer içinden bit okuma
BITS32-bit word içinden bit okuma
Tag AdıTipAçıklama
Motor_SpeedREALBasit controller tag
Tank.LevelREALUDT (yapısal tip) üyesi
Sensors[0]DINTDizi’nin ilk elemanı
Sensors[5]DINTDizi’nin 6. elemanı
Station[2].TemperatureREALDizi + yapısal tip
Program:MainProgram.LocalTagINTProgram scope tag
Motor_RunBOOLBoolean tag
StatusBitsBITS32-bit durum word’ü

inSCADA, EtherNet/IP tag’lerini performans için toplu olarak okur. Tek bir CIP isteğiyle birden fazla tag okunur:

  • Normal tag’ler: 20 tag/istek
  • String tag’ler: 5 tag/istek (daha büyük payload)
  • Bit tag’ler: 20 tag/istek (üst tip üzerinden okuma)

Bu davranış otomatiktir — kullanıcı yapılandırması gerekmez.

Rockwell Studio 5000 / RSLogix 5000 Notları

Section titled “Rockwell Studio 5000 / RSLogix 5000 Notları”

PLC tarafında inSCADA ile haberleşme için özel bir yapılandırma gerekmez. Aşağıdaki noktalar kontrol edilmelidir:

  • Tag’lerin Controller Scope (global) olarak tanımlandığından emin olun — Program scope tag’lere erişim için Program:ProgramName.TagName formatı kullanılmalıdır
  • PLC’nin Remote Access (uzak erişim) ayarlarının açık olduğunu doğrulayın
  • Firewall’da 44818 portunun açık olduğundan emin olun