Robot Kodunuza Güvenlik Özellikleri Ekleme

../../../../_images/ni-logo.png

Karmaşık projelerde yaygın olarak görülen bir sorun, tüm kodunuzun beklediğiniz anda çalıştığından emin olmaktır. RoboRIO’da yüksek önceliğe sahip görevler, uzun yürütme süreleri veya sık çağırmalar işlem gücü aldığında sorunlar ortaya çıkabilir. Bu, işlemcinin meşgul olması nedeniyle gerçekleştirilemeyen görevler için “starvation-açlıktan ölme” olarak bilinen duruma yol açar. Çoğu durumda bu, kumanda kollarından ve diğer cihazlardan girişinize tepki süresini basitçe yavaşlatır. Ancak bu, robotunuzun tahrik motorlarının siz onları durdurmaya çalıştıktan sonra uzun süre açık kalmasına da neden olabilir. Bundan dolayı herhangi bir robotik felaketten kaçınmak için, görev girdisi tıkanmasını kontrol eden ve potansiyel olarak zararlı işlemleri otomatik olarak kapatan güvenlik özellikleri uygulayabilirsiniz.

Motorlar için güvenlik kontrollerinin kolay uygulanmasını sağlayan yerleşik fonksiyonlar vardır. Bu işlevler şunlardır:

  • Robot Sürüş Güvenlik Yapılandırması

  • Motor Sürücü Güvenlik Yapılandırması

  • Röle Güvenliği Yapılandırması

  • PWM Güvenlik Yapılandırması

  • Solenoid Güvenlik Yapılandırması

  • Robot Sürücü Gecikmesi ve Güncelleme Güvenliği

Tüm Güvenlik Yapılandırması işlevlerinde, programlamanız çalışırken güvenlik kontrollerini etkinleştirebilir ve devre dışı bırakabilir ve hangi zaman aşımının uygun olduğunu düşündüğünüzü yapılandırabilirsiniz. İşlevler, güvenliği etkinleştirilmiş tüm aygıtların bir önbelleğini tutar ve bunlardan herhangi birinin zaman sınırlarını aşıp aşmadığını kontrol eder. Varsa, önbellekteki tüm cihazlar devre dışı bırakılır ve robot hemen durur veya röle / PWM / solenoid çıkışları kapatılır. Aşağıdaki kod, motorların kapatılmadan önce hiçbir giriş almayacağı maksimum bir zaman sınırı ayarlamak için Sürücü Güvenlik Yapılandırması işlevlerinin nasıl kullanılacağını gösterir.

../../../../_images/adding-safety-features-to-your-robot-code.png

Emniyet kapatmasını test etmek için, döngüye zaman aşımınızdan daha uzun bir Bekleme işlevi eklemeyi deneyin!

Güvenlik kontrollerinin uygulanmasıyla ilgili son işlev–Robot Drive Delay and Update Safety– roboRIO’yu zaman sınırını aşmadan Otonom Moda geçirmenizi sağlar. Sürücü Çıkışı işlevlerine ağır yüklü çağrılar yapmadan mevcut motor çıkışını koruyacak ve ayrıca motorların aniden durmaması için güvenlik kontrollerinin düzenli olarak güncellenmesini sağlayacaktır.

Genel olarak, robotunuzun kasıtsız olarak tehlikeli bir durumda bırakılmadığından emin olmak için projenizde bir tür güvenlik kontrolünün uygulanması şiddetle tavsiye edilir!