Güvenlik sistemleri, her zaman öngörülebilir olmalıdır — özellikle de sistem yeniden başlatıldığında. Bir cihazın ‘kendiliğinden çalışmaya başlaması’ gerekiyorsa, bu durumun her seferinde aynı şekilde gerçekleşmesi beklenir. Ne var ki, bazı durumlarda, sistemin güvenlik davranışını çalışırken değiştirmek, gizli hatalara yol açabilir. Bu da, güvenilir görünen bir sistemin aslında ne kadar kırılgan olabileceğini gösteren bir örnek.
Tek bir bağlantı kimliğiyle iki farklı güvenlik sistemi
Bir test cihazı geliştirilirken, karşıt iki güvenlik sisteminin aynı anda çalışmaması, ancak tek bir bağlantı üzerinden yönetilmesi gerekti. Bu cihaz, Beckhoff’un FSoE (Fail Safe over EtherCAT) protokolü üzerinden güvenlik sinyallerini iletiyordu. FSoE, güvenlik sinyallerini normal bir ağ üzerinden ileten, ancak her bağlantının benzersiz bir kimliğe sahip olduğu ve bu kimliğin her döngüde doğrulandığı bir sistemdir. Ana cihaz (master), güvenli durumu belirlerken, yardımcı cihaz (slave) bu durumu uygular. Ancak bu projede, karşıt iki güvenlik davranışını tek bir kimlik altında toplamak gerekiyordu — bu da doğal olarak bir çelişki yaratıyordu.
Çalışma anında güvenlik davranışını değiştirmek: Akıllıca mı, riskli mi?
Standart çözüm, her iki güvenlik davranışını ayrı ayrı doğrulanmış yapılandırmalar olarak tanımlamak ve yalnızca birinin aktif olmasıydı. Ancak projenin kısıtları, bu yaklaşımı mümkün kılmadı. Bunun yerine, Beckhoff’un TwinCAT 3 Safety Editor (TE9000) kullanılarak, çalışma anında güvenlik davranışının master ve slave arasında değiştirilmesi sağlandı. Aynı bağlantı kimliği tekrar tekrar kullanılarak, cihazın her yeniden başlatmada otomatik olarak çalışmaya başlaması hedeflendi. Bu çözüm, taşınabilir bir birim olan Beckhoff kompakt PC ve güvenlik PLC’sinden oluşan sistemde başarıyla uygulandı — ve ilk etapta işe de yaradı.
Gizli hatanın kaynağı: Belirsiz yeniden başlatmalar
Ancak sistem birkaç kez yeniden başlatıldıktan sonra, otomatik başlatma bazen çalışmamaya başladı. İkinci veya üçüncü yeniden başlatmada, cihazın kendiliğinden çalışmaya başlaması gereken uygulama, manuel olarak başlatılması gereken bir duruma geldi. Hatanın kesin nedeni henüz tam olarak anlaşılamadı, ancak en güçlü şüphe, çalışma anında güvenlik yapılandırmasının sürekli değiştirilmesinin, sistemin önyükleme sırası ile güvenlik tarafının senkronizasyonunu bozmuş olabileceği yönünde. Sonuç olarak, otomatik başlatma sessizce başarısız oldu — ki bu, güvenilir bir güvenlik sisteminde asla hoş karşılanmayacak bir durumdur.
Güvenlik sistemlerinde öngörülebilirlik her şeyden önemli
Güvenlik sistemleri, öngörülebilir olmalıdır — özellikle de başlangıç anında. Bir sistem ne kadar güvenli olursa olsun, yeniden başlatıldığında her zaman aynı bilinen duruma geri dönmelidir. Çalışma anında güvenlik davranışını değiştirmek, sistemin önyükleme sürecinin temiz bir şekilde kurtaramayacağı durumlara yol açabilir. Aralıklı hatalar ise en tehlikelileridir, çünkü yalnızca sistemin çalışmadığı anlarda ortaya çıkarlar.
Bu projede uygulanan geçici çözüm, güvenlik davranışını değiştirmek yerine, statik olarak doğrulanmış ayrı yapılandırmaları kullanmak oldu. Her iki yapılandırma da mevcuttu, ancak yalnızca biri aktif olarak çalıştırıldı. Kolaylık ve öngörülebilirlik arasında bir tercih yapılması gerektiğinde, güvenlik sistemlerinde öngörülebilirliğin her zaman kazandığı unutulmamalıdır. TwinSAFE, FSoE veya herhangi bir güvenlik PLC’si ile çalışan geliştiricilerin, sistem çalışırken güvenlik davranışını değiştiren herhangi bir yaklaşımdan kaçınmaları gerekiyor. Çalışan sistem ile güvenilir sistem aynı şey değildir.
Yapay zeka özeti
Güvenlik davranışını çalışırken değiştirmek, beklenmedik arızalara yol açabilir. Beckhoff FSoE sistemlerinde yaşanan gizli hata ve güvenilir sistemler için alınması gereken önlemler.