CODESYS ile EtherCAT Servo Devreye Alma: 7 Adım
ESI dosyasından ilk harekete: master, görev çevrimi, Distributed Clocks, SoftMotion ekseni, ölçekleme ve en sık görülen hatalar.
Bu içerik ön boyutlandırma ve mimari karar desteğidir; seçilen ürünün kılavuzu ile makine risk değerlendirmesinin yerini almaz.
1. ESI dosyasını cihaz deposuna yükleyin
ESI (EtherCAT Slave Information) dosyası, sürücünün süreç verisi eşlemesini, desteklediği modları ve senkronizasyon ayarlarını master'a tanıtır. Sürücünün tam sipariş koduyla eşleşen dosyayı Doküman Merkezi'nden indirin ve CODESYS Device Repository'ye yükleyin.
- Sürücüdeki revizyon ile ESI revizyonu uyuşmalıdır
- Projede aynı sürücünün farklı revizyonlarını karıştırmayın
2. EtherCAT Master ekleyin ve ağı tarayın
Cihaz ağacına EtherCAT Master ekleyin ve sürücülerin bağlı olduğu ağ arayüzünü seçin. Ağı taradığınızda bulunan cihazlar kablolama sırasıyla listelenir; bu sıra fiziksel sırayla aynı olmalıdır.
- Kabloyu IN portundan girip OUT portundan çıkacak şekilde bağlayın
- Taramada eksik cihaz varsa önce kabloyu ve portları kontrol edin
3. Görevi ve çevrim süresini ayarlayın
Hareket ve EtherCAT haberleşmesi, en yüksek öncelikli ve sabit çevrimli bir görevde çalışmalı ve bu görev bus cycle task olarak seçilmelidir. Çoğu servo uygulaması için 1 ms iyi bir başlangıçtır; görev her çevrimde gecikmesiz bitmelidir.
- Makine mantığı ve HMI iletişimini daha düşük öncelikli görevlere taşıyın
- Görev watchdog'unu açın
4. Distributed Clocks'u etkinleştirin
Senkron konum modunda (CSP) Distributed Clocks, tüm sürücülerin komutu aynı anda uygulamasını sağlar. SYNC0 periyodu görev çevrimine eşit olmalıdır.
T_SYNC0 = T_task
5. SoftMotion ekseni ve ölçekleme
Her sürücü için bir SoftMotion ekseni oluşturun. Ölçekleme, bir mühendislik biriminin (mm, derece) kaç enkoder sayımına karşılık geldiğini belirler. Yanlış ölçeklemenin tipik belirtisi, eksenin doğru yöne ama yanlış mesafe gitmesidir.
- Örnek: 17 bit enkoder (131.072 sayım/dev), 1:1, 10 mm hatve → 13.107,2 sayım/mm
counts/unit = (counts/rev × gear ratio) / (units/rev)
6. İlk hareket: MC_Power, MC_Jog, MC_Home
Ekseni önce MC_Power ile enerjilendirin, düşük hızda MC_Jog ile yönü ve limitleri doğrulayın, ardından MC_Home ile referanslayın. Her bloğun Error ve ErrorID çıkışını izleyin.
- İlk jog'u düşük tork sınırıyla yapın
- Donanım limitlerini yazılım limitlerinden önce test edin
7. En sık görülen hatalar
Slave PRE-OP veya SAFE-OP'ta kalıyorsa AL Status Code nedenini söyler: çoğunlukla ESI uyuşmazlığı, PDO eşlemesi veya DC ayarıdır. Working counter hataları neredeyse her zaman kablo, konnektör veya ekranlama sorunudur.
| Belirti | Olası neden | İlk kontrol |
|---|---|---|
| Slave PRE-OP'ta kalıyor | ESI / firmware uyuşmazlığı | AL Status Code ve revizyon |
| SAFE-OP'tan OP'ye geçmiyor | DC / SYNC0 ayarı, watchdog | SYNC0 = görev çevrimi |
| Working counter hatası | Kablo, konnektör, gürültü | Port hata sayaçları |
| Eksen yanlış mesafe gidiyor | Ölçekleme | Sayım/birim hesabı |
Sık sorulan sorular
Distributed Clocks her zaman açık mı olmalı?
Senkron konum modunda ve koordineli çok eksenli harekette evet. Bağımsız, profil konum modunda çalışan eksenlerde zorunlu değildir.
Çevrim süresini neye göre seçerim?
Görevin her çevrimde gecikmesiz tamamlanabildiği en kısa süreye göre; 1 ms ile başlayın, gerekirse kısaltın ve aşım sayacını izleyin.
Teknik kaynaklar
Kaynaklar, standart sahipleri ve üreticilerin yayımladığı dokümanlardır.