AC500 PLC'lerde paralel olarak çalışabilen çok çeşitli işlevler nedeniyle, sistem davranışının bireysel uygulamanın ihtiyaçlarına daha iyi uyacak şekilde ayarlanması önerilir, hatta istenen işlevselliğe bağlı olarak zorunludur.
Donanım sınırlamaları ve kısıtlamaları nedeniyle, özellikle birden fazla özelliğin paralel olarak yürütülmesi amaçlanıyorsa, işlevselliğe öncelik vermek gerekir. Altta yatan yazılım bileşenlerinin karmaşıklığı nedeniyle önceliklendirme yapmak çok zor olabilir. Task önceliklerinin yanı sıra, belirli bir özellik için mümkün olan en iyi performansı elde etmek için düşük seviyeli sistem yapılandırmasını ayarlamak da gerekebilir.
Karmaşıklığı ve dolayısıyla olumsuz yan etki riskini azaltmak için Communication schema CPU parametresi eklenmiştir. Bu parametre, kullanıcının ilgili PLC'nin birincil amacını
özel olarak tanımlamasını ve belirli bir işlevselliğe odaklanmasını sağlar.
|
Şema |
PM50xx |
PM56xx |
Açıklama |
|---|---|---|---|
|
Varsayılan |
X |
X |
İletişim modülleri (CM'ler) ve dahili Ethernet iletişimi aracılığıyla iletişim için dengeli öncelik. |
|
İletişim modülleri |
- |
X |
Senkronizasyon task’leri aracılığıyla iletişim modülü (CM) tabanlı iletişim için öncelik ve yüksek performans. Dahili Ethernet ve G/Ç veri yolu için daha düşük öncelik. |
|
Dahili Ethernet |
X |
X |
Senkronizasyon task’leri aracılığıyla iletişim modülü (CM) tabanlı iletişim için öncelik ve yüksek performans. Dahili Ethernet ve G/Ç veri yolu için daha düşük öncelik. |
|
Dahili EtherCAT |
X |
X |
Dahili Ethernet iletişimi için çok yüksek öncelik (örn. EtherCAT, PROFINET, EtherNet/IP). İletişim modülleri (CM'ler) aracılığıyla iletişim için düşük öncelik. |
İletişim şemasının değiştirilmesi kullanıcı uygulamasının davranışı üzerinde önemli bir etkiye sahip olabilir ve bu nedenle yalnızca aşağıdaki durumlarda yapılmalıdır,
-
Belirli bir şemaya dayanan bir özellik yapılandırılır (örneğin, dahili EtherCAT).
-
Sistem davranışının performans açısından optimizasyonuna ihtiyaç vardır (reaksiyon sürelerinin azaltılması, verimin artırılması vb.)
IEC task yapılandırması ve IEC kullanıcı kodu önemli sistem işlevselliğini çok uzun süre engelleyebileceğinden, esneklik ve özgürlük artışının sorumluluk artışını da beraberinde getirdiğini unutmayın. Aşağıda verilen bilgiler, zaman aşımı istisnaları veya iletişim sorunları gibi çalışma zamanı hatalarını önlemek için uygun ayarların belirlenmesine yardımcı olacaktır.
Öncelik sınıflandırmaları ve amaçları
Her bir iletişim şeması tarafından önceliklendirilen işlevsellik 3 farklı sınıfta gruplandırılmıştır:
-
Yüksek öncelikli gerçek zamanlı işlevsellik
-
Gerçek zamanlı önceliğe sahip IEC task’leri
-
Düşük öncelikli gerçek zamanlı olmayan işlevsellik
Yüksek öncelikli gerçek zamanlı işlevsellik
Sıkı zamanlama gereksinimleri olan işlevsellik, örneğin, donanım erişimi olan sürücüler veya donanım bekçi köpeği izleme arızaları, istisna hatalarına, donanımla iletişim kaybına ve kurtarılamayan ve kullanıcı uygulamasının durmasına neden olabilecek diğer sorunlara yol açabilir.
Bu sınıfın işlevselliği, kullanıcı tanımlı IEC task’lerinin faaliyetinden etkilenemez. Bunun sonucu olarak, ilgili işlevsellik IEC task’lerini kesintiye uğratabilir veya geciktirebilir ve bu nedenle IEC task titreşimini ve IEC task döngülerinin süresini artırabilir.
Gerçek zamanlı önceliğe sahip IEC task’leri
Bu, kullanıcı tanımlı gerçek zamanlı IEC task’lerinin öncelik aralığıdır. 0 ila 15 arasındaki öncelikler gerçek zamanlı önceliklerdir (IEC önceliği 16 gerçek zamanlı olmayan önceliğe eşlenir) ve Automation Builder adresinde bir IEC task’inin önceliğini tanımlamak için kullanılabilir.
Bu aralıktaki task’ler yüksek öncelikli işlevler tarafından kesintiye uğratılabilir veya geciktirilebilir. IEC kullanıcı kodunun yüksek öncelikli aktiviteyi bastırması mümkün değildir, böylece güvenlik artar ve IEC kullanıcı kodundaki veya kütüphanelerindeki hatalardan veya IEC task’lerinin yanlış yapılandırılmasından kaynaklanan olumsuz yan etki riski azalır.
Düşük öncelikli gerçek zamanlı olmayan işlevsellik
Düşük öncelik aralığı, herhangi bir özel zamanlama gereksinimi olmayan ve kullanıcı uygulamasını ve ilgili işlevselliğini geciktirmeden veya kesintiye uğratmadan faaliyetini yürütmesi beklenen gerçek zamanlı olmayan işlevsellik için tasarlanmıştır.
Bu aralığa atanan faaliyet, yüksek öncelikli ve gerçek zamanlı IEC task’leri tarafından bastırılabilir. Bu nedenle, genel sistem yüküne bağlı olarak yüksek titreşim, düzensiz etkinlik veya büyük tepki süreleri gösterebilir.
Bu gruptaki task’lerin bastırılmasını önlemek için sistem, CPU yükü neredeyse %100'e ulaştığında düşük öncelikli işlevleri işlemek için kısa bir zaman aralığı ayırır. Normal koşullar altında (ortalama %80 sistem yükünün altında) bu mekanizma devreye girmemelidir. Bu zaman aralığı yüksek öncelikli task’lerin biraz titremesine neden olsa da (± 100 mikrosaniye), sistemin duyarlı kalmasını ve düzenli olarak yürütülmesi gereken temel işleri her zaman çalıştırabilmesini sağlar. Düşük öncelikli task’lerin hala önemli bir rol oynadığını ve bireysel zamanlama gereksinimlerini karşılamak için düzenli olarak programlanmaları gerektiğini unutmayın.
Sistemin düşük öncelikli işlevleri işlemesi için yeterli zaman olduğundan emin olmak için ortalama CPU yükünün %80'i aşmadığından emin olun.
Bu işlevsellik bireysel uygulama için önemli olmayabilir, ancak Automation Builder oturum açma veya teşhis verilerine erişim gibi diğer işlevleri canlı tutmak yine de gereklidir.
CPU yükü %80'i aştığında, sistemin task’leri doğru şekilde programlaması zorlaşacaktır.
