CANOpen & SDO, PDO & DIO
Gönderilme zamanı: 02 Mar 2023, 08:11
Merhaba CANOpen ve SDO, PDO kavramları benim için henüz çok yeni.
Digital Input ve Digital Output değerleri üzerinden okuma işlemi yapmak istiyorum. Sürücüm ASDA-A2 serisi.
SDO üzerinden digital inputlar için 0x60FD indeksini okuyorum ve kümülatif 32 bit lik(4x8 bitset) bir veri alıyorum. Buraya kadar herhangi bir sorunum yok.
Sorularım ise şöyle:
1. Aşağıda kullandığım adres değerleri SDO için hemen hemen sabit görünüyor. Bu doğru mudur? Yani tüm cihazlarda bu değerler hep belirtilen sabit adreslerden mi okunur?
Sanırım PDO ile bu özelleştirilebiliyor. Bu doğru mudur?
2. Veriyi toplu halde almak yerine bu sistemde şu adresin sadece şu bit değerini oku gibi birşey yapmak mümkün mü?
Bu şekilde toplu bir okuma yapmak sürücü için ek bir maliyet oluşturuyor mu?
Eğer öyle ise bunu paramtreler ile kısıtlama şansım var mı? Var ise Digital input ve Outputlar için tam olarak hangi parametreyi nasıl değiştirmeliyim?
Örnek vermek gerekirse bana ihtiyaç olan şey inputlar için;
* Home Switch sinyal durumu,
* Negative Limit Switch sinyal durumu,,
* Positive Limit Switch sinyal durumunu almak.
Outputlar için ise;
* SRDY durumu (sürücünün hatasız ve kullanıma hazır olduğunu anlamak için kullanacağım)
Ancak bunu farklı fonksiyonlar ile farklı zaman dilimlerinde belirli aralıklarla sürekli yapmak istiyorum.
Bunun için araştırdığım ve uyguladığım kadarıyla ilk 4 bit benim için yeterli oluyor.
Ama yine de veri toplu olarak okunmuş oluyor.
Konuyla ilgili SubIndex kavramı üzerinden bir şeyler denedim fakat SubIndex kavramı sanırım farklı bir anlama geliyor çünkü okuma yaparken bunu devreye aldığımda veri düzgün gelmiyor.
3. Digital outputlar için 0x60FE indeksini okuyorum ancak değerler hep sabit geliyor. Acaba bazı parametreleri ayarlamayı gözden mi kaçırıyorum. (P4-06 gibi)
Veya bu işlemler için farklı indeksler üzerinden mi işlem yapmam gerekiyor.
4. Konudan bağımsız olarak. Sürücü parametrelerini sürekli okumak veya duruma göre yazmak EEPROM üzeride bir soruna sebep olur mu?
Örneğin P1-44 ve P1-45 parametrelerini duruma göre kontrol edip olması gereken değerlerde değilse buna değiştir gibi birşey yapmak istiyorum.
Yardımlarınız için teşekkür ederim...
Digital Input ve Digital Output değerleri üzerinden okuma işlemi yapmak istiyorum. Sürücüm ASDA-A2 serisi.
SDO üzerinden digital inputlar için 0x60FD indeksini okuyorum ve kümülatif 32 bit lik(4x8 bitset) bir veri alıyorum. Buraya kadar herhangi bir sorunum yok.
Sorularım ise şöyle:
1. Aşağıda kullandığım adres değerleri SDO için hemen hemen sabit görünüyor. Bu doğru mudur? Yani tüm cihazlarda bu değerler hep belirtilen sabit adreslerden mi okunur?
Sanırım PDO ile bu özelleştirilebiliyor. Bu doğru mudur?
2. Veriyi toplu halde almak yerine bu sistemde şu adresin sadece şu bit değerini oku gibi birşey yapmak mümkün mü?
Bu şekilde toplu bir okuma yapmak sürücü için ek bir maliyet oluşturuyor mu?
Eğer öyle ise bunu paramtreler ile kısıtlama şansım var mı? Var ise Digital input ve Outputlar için tam olarak hangi parametreyi nasıl değiştirmeliyim?
Örnek vermek gerekirse bana ihtiyaç olan şey inputlar için;
* Home Switch sinyal durumu,
* Negative Limit Switch sinyal durumu,,
* Positive Limit Switch sinyal durumunu almak.
Outputlar için ise;
* SRDY durumu (sürücünün hatasız ve kullanıma hazır olduğunu anlamak için kullanacağım)
Ancak bunu farklı fonksiyonlar ile farklı zaman dilimlerinde belirli aralıklarla sürekli yapmak istiyorum.
Bunun için araştırdığım ve uyguladığım kadarıyla ilk 4 bit benim için yeterli oluyor.
Ama yine de veri toplu olarak okunmuş oluyor.
Konuyla ilgili SubIndex kavramı üzerinden bir şeyler denedim fakat SubIndex kavramı sanırım farklı bir anlama geliyor çünkü okuma yaparken bunu devreye aldığımda veri düzgün gelmiyor.
3. Digital outputlar için 0x60FE indeksini okuyorum ancak değerler hep sabit geliyor. Acaba bazı parametreleri ayarlamayı gözden mi kaçırıyorum. (P4-06 gibi)
Veya bu işlemler için farklı indeksler üzerinden mi işlem yapmam gerekiyor.
4. Konudan bağımsız olarak. Sürücü parametrelerini sürekli okumak veya duruma göre yazmak EEPROM üzeride bir soruna sebep olur mu?
Örneğin P1-44 ve P1-45 parametrelerini duruma göre kontrol edip olması gereken değerlerde değilse buna değiştir gibi birşey yapmak istiyorum.
Yardımlarınız için teşekkür ederim...