EtherNet/IP (Logix)
EtherNet/IP sürücüsü Allen-Bradley ControlLogix ve CompactLogix PLC'lerinin tag'lerini adlarıyla, CIP açık mesajlaşmayla okur ve yazar. Tüm sürücülerin ortak yanları için bkz. Sürücüler nasıl çalışır.
Protokol ve rol
| Rol | İstemci. PLC'lere YTCC bağlanır ve tag'leri adlarıyla okur. |
| Taşıma | TCP üzerinden EtherNet/IP açık mesajlaşma (bağlantısız) |
| Varsayılan port | 44818 |
| Sürücü başına cihaz | Sınırsız; her PLC'nin kendi oturumu vardır. |
| PLC'ler | ControlLogix ve CompactLogix (Logix tag'leri). |
| Sürücü tipi | EtherNet/IP (ethernetip) |
Cihaz parametreleri
Bunları Drivers → devices görünümünde cihaz üzerinde ayarlayın (bkz. Sürücü ve cihaz ekleme). Boş kutu, içinde gösterilen varsayılanı kullanır. Her parametrenin yanındaki yardım işareti kısa bir açıklama gösterir.

| Parametre | Varsayılan | Aralık | Anlamı |
|---|---|---|---|
| Host | — (zorunlu) | IP adresi ya da host adı | CompactLogix'in ya da ControlLogix rafındaki Ethernet modülünün adresi. |
| Port | 44818 | 1–65535 | EtherNet/IP portu. |
| Slot | boş | 0–17 | ControlLogix rafında CPU'nun yuvası. CompactLogix için boş bırakın. |
| Connect timeout (ms) (Bağlanma zaman aşımı) | 3000 | 100–60000 | Sürücünün bağlanırken ne kadar beklediği. |
| Request timeout (ms) (İstek zaman aşımı) | 5000 | 100–60000 | Bir isteğin en uzun süresi; daha uzun bekleme bağlantı kopması sayılır. |
| Poll interval (ms) (Tarama aralığı) | 1000 | 10–3600000 | Kendi tarama sınıfı olmayan sinyallerin okuma periyodu. |
| Batch size (Toplu okuma boyu) | 20 | 1–200 | Tek istekte okunan en çok tag. |
| Max packet bytes (En büyük paket) | 504 | 504–4000 | En büyük istek; 504 her Logix PLC'de çalışır. |
| Cmd timeout (ms) (Komut zaman aşımı) | 5000 | 100–600000 | Bir komutun eskimiş sayılmadan önce ne kadar bekleyebileceği. |
| Set invalid on disconnect (Kopunca geçersiz yap) | açık | açık / kapalı | Bağlantı kopunca PLC'nin tüm sinyallerini Bad · Not connected yapar. |
Host, Port, Slot, Batch size ya da Max packet bytes değişince o PLC yeniden bağlanır; diğer parametreler bağlantı kopmadan geçerli olur.
Sinyal adresi
Adresi sinyalin Value source (Değer kaynağı) sekmesinde, Address — EtherNet/IP altında ayarlayın: Tag path (Tag yolu) ve Data type (Veri tipi). Tag yolu, PLC programındaki tag adıdır, boşluksuz:
| Tag yolu | Anlamı |
|---|---|
Motor1_Speed | Denetleyici tag'i |
Program:MainProgram.Counter | Program tag'i |
Recipe[3] | Dizi elemanı |
Line.Motor[2].Speed | Kullanıcı tanımlı tip üyesi |
StatusWord.5 | Bir tamsayı tag'inin 5. biti; veri tipi BOOL olmalı |
İçe aktarma dosyalarında tag yolunu address sütununa yazın.
Veri tipleri
| Veri tipi | YTCC'deki değer |
|---|---|
| BOOL | Açık ya da kapalı |
| SINT, INT | Int16 |
| DINT | Int32 |
| LINT | Int64 |
| USINT, UINT | UInt16 |
| UDINT | UInt32 |
| ULINT | UInt64 |
| REAL | Float32 |
| LREAL | Float64 |
| STRING (standart, 82 karakter) | Metin |
Veri tipi PLC'deki tag'in tipiyle aynı olmalıdır: PLC başka bir tip döndürürse sinyal Bad olur.
STRING için Advanced: raw params (JSON) içinde "data_type": "string" ayarlayın. Kullanıcı tanımlı bir tipi
okumak için her üyeyi ayrı sinyal olarak bağlayın.
Okuma
Sürücü bir PLC'nin sinyallerini okuma periyoduna göre gruplar ve cevap Max packet bytes'a sığdıkça en çok Batch size tag'lik gruplar hâlinde okur. Aynı tag yolunu kullanan sinyaller bir kez okunur. Bir grup reddedilirse, örneğin bir tag yok diye, sürücü tag'lerini tek tek okur; hâlâ başarısız olan bir tag her 30 saniyede bir tek başına yeniden denenir, böylece diğerlerini yavaşlatmaz.
Değerler değiştikçe yayınlanır.
Yazma
Access'i Read / Write ya da Write only olan bir sinyal yazılabilir. Değer Data type'a çevrilir: tamsayılar aralıklarına göre denetlenir, tamsayı tipine kesirli değer reddedilir, BOOL 0 ya da 1 alır. Ölçekli değerler yazmadan önce geri çevrilir.
- Ayrı bir BOOL tag'e yazın. Bir tamsayının bitindeki (
StatusWord.5) ya da bir BOOL dizisinin elemanındaki (Flags[3]) sinyal salt okunur kalır. - Cmd timeout (ms)'den uzun bekleyen ya da PLC bağlı değilken gönderilen komut reddedilir.
- Yazmalar hiç yinelenmez. Yazma sırasında bağlantı koparsa sonuç No response from device olur ve PLC değeri almış ya da almamış olabilir; sinyalde geri okuma ayarlayın.
Operatörlerin komutu nasıl gönderip onayladığı için bkz. Komut gönderme.
Kalite
| Durum | Kalite |
|---|---|
| Tag okundu ve tipi doğru | Good |
| Tag yok, erişim reddedildi ya da tip farklı | Bad; son değer kalır |
| Bağlantı koptu | Bad · Not connected (Set invalid on disconnect ile); son değer kalır |
Bir değerin zamanı okunduğu andır; PLC zaman damgası göndermez.
Yeniden bağlanma
Bağlantı kopunca sürücü 100 ms sonra yeniden dener ve bekleyişi 20 saniyeye kadar ikiye katlar. Bu sırada gelen komutlar hemen reddedilir.
Tanılama
Value source sekmesindeki Read now tag'i PLC'nin oturumu üzerinden bir kez okur:
| Metin | Anlamı |
|---|---|
| Bir değer ve PLC tipi | PLC cevap verdi |
| Tag path is missing | Tag yolu yok |
| Bit address '…' needs data_type bool | Bit adresi başka bir veri tipiyle |
| No connection to … | PLC bağlı değil |
| Timeout — no response from … within … ms | PLC cevap vermedi |
| CIP error — … (tag …, device …) | PLC okumayı reddetti, örneğin tag yok |
| Decode error — Type mismatch — the point is Dint, the PLC returned REAL | Data type tag'le uyuşmuyor |
| Belirti | Olası neden |
|---|---|
| PLC bağlanmıyor | Yanlış host; ControlLogix'te yanlış Slot ya da Ethernet modülü yerine CPU'nun IP'si |
| Bir sinyal Bad | Tag adı yanlış yazılmış, tag denetleyici ya da program kapsamında değil, Data type yanlış |
| Tüm değerler yavaş | Max packet bytes PLC'nin kabul ettiğinden büyük: gruplar reddediliyor ve tag'ler tek tek okunuyor |
| Özel dizgi tipi ya da bütün bir kullanıcı tanımlı tip üzerindeki sinyal Bad | Tag, Veri tipleri tablosundaki bir tipte değil; standart STRING kullanın ya da üyeleri ayrı sinyal olarak bağlayın |
Desteklenen servisler
| Servis | Destek |
|---|---|
| Oturum kaydı, yönlendirmeli bağlantısız gönderim | Evet |
| Tag okuma | Evet |
| Tag yazma | Evet |
| Çoklu servis paketi (toplu okuma) | Evet |