mrb,
s7-300'de profibus kullanılan uygulamalarda bus üzerinde bulunan elemanlarla (micromaster, motor, uzak i/o, ..vb) veri alışverişinde bulunabilmek için sfc14 ve sfc15 kullanılıyor sanırım. sfc14->profibus'tan okuma, sfc15->profibus'a yazma.
elimdeki örnekte şöyle bir kullanım var:
CALL "DPWR_DAT"
LADDR:=W#16#1
RECORD:=P#DB1.DBX 0.0 WORD 4 // YAZMA
RET_VAL:=MW8
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Arkadasim sfc 14 write komutu sfc 15 read komutudur.Micromaster cihaziyla haberlesme yaptigimizda rated frekansi okumak icin sfc 15 i referans frekensi gondermek iicn kullaniriz.Record dedigi kisim destination kayit yapilacak veya yazilacak adresir.Ve bu bilgilerin uzunlugunu belirtir.Ornekde 4 wordluk bir data okumak icin yazilmis bunun icinde data blokta yazdigimiz word dword veya bool verilerini okuyabiliriz.Ladder da bunlarin okuma yazma icin kullanilan adresleri yine.Manuellerinde bu ayrintili sekilde yazmaktadir
CALL "DPWR_DAT"
LADDR:=W#16#1
RECORD:=P#DB1.DBX 0.0 WORD 4 // YAZMA
RET_VAL:=MW8
bu blokta LADDR: kısmı plcde hardware konfigurasyonunda slave verdiğiniz adresti
RECORD: yazılacak olan data,nın başlangıç adresi ve uzunluğudur
RET_VAL:master ile slave arasında haberleşmede oluşabilecek hatanın kodunun yazılacağı alandır.
-------------------------------------------------------
CALL "DPRD_DAT"
LADDR:=W#16#1
RET_VAL:=MW10 // OKUMA
RECORD:=P#DB1.DBX 12.0 WORD 4
Arkadaşlar merhaba plc sim de bir adet master plc ile bir adet slave plc yi profibus dp üzerinden haberleştirmek istiyorum.Ancak sfc 14 bloğunda ret val değeri - 32624 olarak gözüküyor.Hata kodlarında böyle bir hata kodu gözükmüyor sizce sorun ne olabilir.