Sick marka dx35 mesafe ölçüm sensörü hız bilgisi nasıl alınır?

Katılım
18 Eyl 2019
Mesajlar
17
Puanları
1
Yaş
34
sıck marka dx35 mesafe sensörü ile hız bilgisi alabilirmiyiz 0-10V ile pozisyon bilgisi gönderiyor
 
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
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.
pozisyon gosterdigine gore baslangıc pozisyonu ile bitis pozisyonu arasındaki farkı,islem süresine bölerseniz otamatikman hızı bulmus olursunuz. yani hiz=yol/zaman
 
Cevap için Teşekkür ederim OB30'da mı 35 temi yapmam gerekiyor birde bu anlık hızı vericekmi bana benim baskı hızım sürekli değişken strok boyum sabit 2 metre en faz la 1 m billet basımı yapabiliyorum bu 1 metrelik oran değişken min 35 cm biilet max 1 mt baskı süresi boyunca kaç hızla bastığını görmek benim amacım bu işlem işe yararmı
 
Kod:
PROGRAM PLC_PRG
VAR
    TimeClock : TON;
    SampleOLD_mm, SampleVal_mm, SampleNew_mm, Speed_mm_sn: REAL;
END_VAR

    TimeClock.IN := NOT TimeClock.Q;  (* 10 ms de bir anlık pulse üretir *)
    TimeClock.PT := T#10ms;
    TimeClock();

    IF TimeClock.Q THEN   (* 10ms bir örnek alınır *)
        SampleNew_mm := SampleVal_mm;
        (* yeni örnekle eskisi çıkarılıp 10ms e bölünür *)
        Speed_mm_sn  := (SampleNew_mm - SampleOLD_mm)/0.01;
        SampleOLD_mm := SampleNew_mm;   (* Eski değer yeni değere güncellenir *)
    END_IF
 
Son düzenleme:
Kod:
    PROGRAM PLC_PRG
VAR
    TimeClock : TON;
    SampleOLD_mm, SampleVal_mm, SampleNew_mm, Speed: REAL;
END_VAR

    TimeClock.IN := NOT TimeClock.Q;  (* 10 ms de bir clock pulse üretir *)
    TimeClock.PT := T#10ms;
    TimeClock();

    IF TimeClock.Q THEN   (* 10ms bir örnek alınır *)
        SampleNew_mm := SampleVal_mm;
        (* yeni örnekle eskisi çıkarılıp 10ms e bölünür *)
        Speed        := (SampleNew_mm - SampleOLD_mm)/0.01;
        SampleOLD_mm := SampleNew_mm;   (* Eski değer yeni değere güncellenir *)
    END_IF



SCL de iyi yazmışsınız emeğiniz için teşekkür ederim Fakat SCL de yazamıyorum kullandığım CPU SCL dilini desteklemiyor. STL de yazabilirim en fazla
 
Kod:
     A     T     10
      JCN   HSP
      L     "Hesap".SampleVal_mm
      T     "Hesap".SampleNew_mm

      L     "Hesap".SampleNew_mm
      L     "Hesap".SampleOLD_mm
      -R  
      L     1.000000e-001
      /R  
      T     "Hesap".Speed

      L     "Hesap".SampleNew_mm
      T     "Hesap".SampleOLD_mm

HSP:  NOP   0

      AN    T     10
      L     S5T#10MS
      SD    T     10
 
Son düzenleme:
Kod:
PROGRAM PLC_PRG
VAR
    TimeClock : TON;
    SampleOLD_mm, SampleVal_mm, SampleNew_mm, Speed: REAL;
END_VAR

    TimeClock.IN := NOT TimeClock.Q;  (* 10 ms de bir anlık pulse üretir *)
    TimeClock.PT := T#10ms;
    TimeClock();

    IF TimeClock.Q THEN   (* 10ms bir örnek alınır *)
        SampleNew_mm := SampleVal_mm;
        (* yeni örnekle eskisi çıkarılıp 10ms e bölünür *)
        Speed        := (SampleNew_mm - SampleOLD_mm)/0.01;
        SampleOLD_mm := SampleNew_mm;   (* Eski değer yeni değere güncellenir *)
    END_IF



VAR
TimeClock : TON;
SampleOLD_mm, SampleVal_mm, SampleNew_mm, Speed: REAL;
END_VAR


VAR END_VAR yazınca hata veriyor SCL den Fazla anlamıyorum kusura bakmayın işe yeni başladım fabrikanın her yerinde farklı plc var bunda da stl yok scl deki sizin yazdığınız kodu yazmayı denedim olmadı
birde bu terimleri DB blokta mı oluşturdunuz karşılıkları nedir DINT INT REAL yardımcı olursanız çok sevinirim
 
Son düzenleme:
57940
 

Forum istatistikleri

Konular
127,951
Mesajlar
913,870
Kullanıcılar
449,599
Son üye
Gksn

Yeni konular

Geri
Üst