ABB IRC5 Profinet

Branxian

Üye
Katılım
25 May 2008
Mesajlar
254
Puanları
1
Merhabalar,
ABB IRC5 robot ile s7-300 PLC'i profinet üzerinden haberleştirmeye çalışıyorum.
Haberleştirme olarak hiçbir sıkıntım yok. Dijital olarak veri transferini profinet üzerinden yapabiliyorum.
Ancak int bir değer yollamak istediğimde okadar başarılı olamıyorum.

Group Input (0-15) arası veri almasını istiyorum. PLC tarafından word olarak değeri yolladığımda alakasız bir değer geliyor.
Örn: IW0'a 100 değeri yolladığımda 25500 gibi bir değer gidiyor.
Ancak wordü byte, byte bölüp yolladığımda IB0 : 100 yaptığımda 100 değerini alıyorum. IB1'e 100 yazdığımda tekrardan farklı bir değer alıyorum.

Veri transferi yaparken ABB tarafından word bir değer alma işlemini nasıl yapabilirim ?
 
İleride benzer bir probleme rastlayan arkadaşlara bilgi olması açısından;

Siemens Word değerlerini Big Endian (Motorola format) olarak gönderir ve alır. Bu işlemci tipi ile ilgili bir durumdur. Ancak Siemens dışında kalan bazı kontrol ekipmanları veriyi Little Endian (Intel Format) olarak alırlar ya da gönderirler. Bu çakışma sonucunda Byte ları ters olarak alırsınız. Kontrolcü ya da alıcı tarafında byte sıralamasını değiştirirseniz sorun düzelecektir. Bunun için Siemens tarafında byte swap kütüphaneleri kullanılabilir (OSCAT).
 
Hocam şuan elimdeki iş biraz sıkıntılı olduğundan uzun çözümü yazamadım. Siemenste scl ile swap bloğu yazdım. O şekilde çözüm buldum. Daha rahat bir zamanda geniş bir döküman hazırlayacağım :)
 

Forum istatistikleri

Konular
129,837
Mesajlar
930,663
Kullanıcılar
452,673
Son üye
loran laran

Yeni konular

Geri
Üst