HA sisteminin dengeli bir performans göstermesi için proje task yapılandırmanızda aşağıdaki önerileri dikkate alın:
Genel
-
HA ile ilgili tüm task’ler için gerçek zamanlı öncelikleri kullanın. HA programı/task’i, temel HA işlevselliğinden sorumlu olduğu ve en hızlı task olması gerektiği için en yüksek öncelikte çağrılmalıdır.
-
Modbus task’i, Modbus iletişim işlev bloklarını daha düşük öncelikte ve (CPU performansına bağlı olarak) ayrıca CPU'yu iletişimle aşırı yüklemeden Modbus üzerinde yeterli güncelleme hızlarını sağlamak için daha hızlı bir döngü süresi içerir.
-
Uygulama programı parçaları, yukarıdaki task’lerden daha düşük önceliğe ve daha büyük bir döngü süresine sahip uygulama task’inde çağrılmalıdır.
-
PLC'ler arasında hızlı geçiş için standart Modbus TCP'yi geliştirmek üzere yapılandırma.
-
Haberleşme ağı iletişiminin yapılandırıldığı ETH portu için RTO yeniden iletim süresi fonksiyon bloğu "EthSetRtoMin". Varsayılan olarak, yapılandırılan minimum yeniden iletim süresi 15 ms'dir.
|
Task |
Öncelik |
PM57x, PM58x, PM59x |
PM595-4ETH |
V3 PLC'ler |
|---|---|---|---|---|
|
HA |
10 (yüksek) |
4 ms veya daha yüksek |
2 ms veya daha yüksek |
4 ms veya daha yüksek |
|
Modbus |
11 (orta) |
Maksimum (HA döngü süresi *2), (3 ms + yuvarlama (#CI/2)) |
Maksimum (HA döngü süresi *2), (3 ms + yuvarlama (#CI/2)) |
Gemide ETH: Maks ((HA döngü süresi *2), (3 + yuvarlama (#CI modülleri/2))) |
|
CM5640-2ETH: Maks ((HA döngü süresi * 2), (#CI modülleri)) |
||||
|
Uygulama |
12 (düşük) |
Maksimum (Modbus döngü süresi *2), (iNoOfEthFrames * HA döngü süresi) |
(iNoOfEthFrames * HA döngü süresi) |
Maksimum (Modbus döngü süresi *2), (iNoOfEthFrames * HA döngü süresi *2) |
Task konfigürasyonu için prosedür
-
CPU seçimi, sistem boyutu, performans göstergeleri bölümüne göre uygun CPU tipini seçin
-
Task önceliklerini tabloya göre yapılandırın
-
HA task’ini yukarıdaki tabloya göre minimuma ayarlayın
-
HA döngüsüne ve CI modüllerinin sayısına "#CI" dayalı olarak tablodaki formüllere göre Modbus döngü süresini hesaplayın
-
Uygulama döngü süresini, Modbus döngü süresine ve HA-Modbus TCP kütüphanesinin global değişkenlerinde tanımlanan iNoOfEthFrames değişkenine dayalı olarak tablodaki formüllere göre hesaplayın.
-
Deneme çalışması sırasında PLC ve CPU yükünü ölçün.
V3: PLC Kullanımı⮫ «PLC kullanımı»
PLC yükü %40 veya CPU yükü %60 üzerindeyse HA döngü süresini artırın (örneğin 8 ms / 12 ms / 24 ms, ...) ve adım 4'e gidin, yükleme tanımlanan aralıkta olana kadar adımları tekrarlayın.
Yeni bir V3 CPU yapılandırma seçeneği, Automation Builder 2.4.1 ve sonrasında PLC'lerde Ethernet iletişimi için önceliği değiştirmeye olanak tanır.
Bu yapılandırmayı CPU'nun cihaz ağacında Automation Builder PLC'ye çift tıklayarak ayarlayın «CPU Parametreleri İletişim Şeması "Dahili Ethernet"» seçin.
Yukarıdaki parametre HA sistemleri için «Dahili» Ethernet olarak ayarlanmalıdır ve sonuç olarak daha yüksek öncelik nedeniyle yüklemeyi artıracaktır. Burada task süreleri ayarlanırken PLC Yükü < 50 % ve CPU yükü < 70 % yerine kılavuz olarak dikkate alınmalıdır.
-
Tanımlanan ilişkiye göre aşağıdaki zaman aşımı değerleri kullanıcı projesinde tanımlanmalıdır.
Zaman aşımı değişkenleri (tablonun altındaki kutuda yer alan tanımlara bakın)
V2'de HA
V3'te HA
timCI52xTimeOut
1 * Modbus Task süresi
50 ms veya 2 * Modbus Task süresi, hangisi daha yüksekse
timHaModSyncTimeOut
1* HA Task süresi
2 * HA Task süresi
timResponseTimeout
Geçerli değil
50 ms veya (3 * «Modbus Task süresi»), hangisi daha yüksekse
timCanTimeOut
Geçerli değil
100 ms veya 100'ün katları şeklinde artış
timeLifecom2TimeOut
50 ms
50 ms
timDualSyncPingTimeout
100 ms
100 ms
-
Ek uygulamalar ve SCADA iletişimi ekleyin: PLC ve CPU yükünü gereksinimlerinize göre tekrar kontrol edin.
HA Modbus sisteminde, yukarıda V2 ve V3 PLC'ler için task konfigürasyonunda açıklandığı gibi sistemin hassas çalışması için farklı zaman aşımları yapılandırılmalıdır. Bu farklı zaman aşımlarının anlamı ve ilişkisi aşağıda açıklanmıştır:
timHaModSyncTimeOut:
İkincil PLC'de yeni senkronizasyon verisinin alınıp alınmadığını kontrol etmek için zaman sınırı. Bu zaman aşımı doğru tanımlanmazsa, Sync lost error/ «lifecom1» lost hatası üretilecektir.
timCanTimeOut:
CAN üzerinden yapılandırıldığında «lifecom2» adresinin alınıp alınmadığını kontrol etmek için kullanılan süre. Bu değer yalnızca AC500 V3 adresinde geçerlidir. CAN üzerinden Lifecom2 PLC'ler arasında stabil olmayacak ve doğru değer yapılandırılmamışsa çalışma zamanı hatası "lifecom2 lost" yanıp sönecektir.
timCI52xTimeOut:
Modbus alan modüllerinde yeni veri alınıp alınmadığını kontrol etmek için zaman sınırı. Ayrıca Modbus TCP üzerinden yapılandırıldığında «lifecom2» alınıp alınmadığını kontrol etmek için de kullanılır. «timCI52xTimeOut» açıklandığı gibi tanımlanmazsa, «lifecom2» hatası / iletişim arayüzü tanı hatası beklendiği gibi oluşturulmayacaktır.
timResponseTimeOut:
CPU'nun ağa bağlı iletişim arayüz modüllerini kaybedip kaybetmediğini kontrol etmek için zaman aşımı değeri. Bu değer açıklandığı gibi tanımlanmazsa, iletişim arayüz modülü kayıp tespiti düzgün şekilde gösterilmeyecektir.
timLifecom2TimeOut
Modbus TCP üzerinden yapılandırıldığında «lifecom2» adresinin alınıp alınmadığını kontrol etmek için zaman sınırı. «timlifecom2TimeOut» değerini varsayılan 50 ms olarak ayarlayın, değer doğru tanımlanmazsa, çalışma zamanı hatası «Lifecom2 lost» teşhis hatası beklendiği gibi oluşturulmayacaktır.
timDualSyncPingTimeout
Modbus TCP üzerinden yapılandırıldığında «lifecom2» adresinin alınıp alınmadığını kontrol etmek için zaman sınırı. «timlifecom2TimeOut» değerini varsayılan 50 ms olarak ayarlayın, değer doğru tanımlanmazsa, çalışma zamanı hatası «Lifecom2 lost» teşhis hatası beklendiği gibi oluşturulmayacaktır.
Başka bir PLC'den ping yanıtı almak için zaman aşımını tanımlayan ikili senkronizasyon ping zaman aşımı. «timDualSyncPingTimeout» düzgün tanımlanmazsa, çalışma zamanı hatası "Lifecom1 ile birlikte Sync durduruldu ve Lifecom2 ile Sync etkinleştirildi" tanı hatası beklendiği gibi oluşturulmayacaktır. Bu zaman aşımı yalnızca İkili senkronizasyon özelliği etkinse gereklidir, Global değişken «xEnableDualSync» TRUE olarak ayarlanmıştır