1. sayfa (Toplam 1 sayfa)

ST Desteği lütfen

Gönderilme zamanı: 22 Oca 2020, 00:10
gönderen Otomasyon_Delisi
Merhabalar.
CanopenBuilder help dosyasında ST bölümünde SET ve RESET komutlarıyla ilgili bir bilgi maalesef bulamadım.
Aşağıdaki görselde bulunan diyagramı ST dilinde nasıl yazabilirim.
Diyagramda DokAğzıAçık sinyali fiziksel girişten devamlı geldiği için bunu yükselen kenar kullanmak zorundayım.
screenshot_20200121_152956.jpg

Re: ST Desteği lütfen

Gönderilme zamanı: 22 Oca 2020, 16:01
gönderen Kubilay
Merhaba,

Aşağıdaki kod satırını çalıştırıp gözlemleyebilirsiniz.

EDGEPOS(Varible) kodu yükselen kenarı yakalamaktadır.

Kod: Tümünü seç


IF (p_Manuel_1 AND EDGEPOS(DokAğzıAçık)) OR EDGEPOS(p_Otomatik_2) OR EDGEPOS(TestModeAktif) THEN

FreleriAç:=TRUE;

END_IF;

IF EDGEPOS(YüksekBasınç) OR (TrotAktif AND EDGEPOS(YüksekSıcaklık)) THEN

FrenlariAç:=FALSE;

END_IF;



Re: ST Desteği lütfen

Gönderilme zamanı: 22 Oca 2020, 17:05
gönderen Otomasyon_Delisi
teşekkürler

Re: ST Desteği lütfen

Gönderilme zamanı: 05 Şub 2020, 14:48
gönderen Otomasyon_Delisi
RecepKubilay Bey;
Rica etsem aşağıdaki bir kodu ST olarak nasıl yazabileceğime dair bir örnek daha paylaşırmısınız?
ST.jpg

Re: ST Desteği lütfen

Gönderilme zamanı: 05 Şub 2020, 15:02
gönderen Uğur
Aşağıdaki şekilde denermisiniz.

Kod: Tümünü seç

IF EDGEPOS(A) AND B THEN
MOVE(Deger:= Deger_1);
END_IF;

IF EDGEPOS(A) ANDC THEN
MOVE(Deger:= Deger_2);
END_IF;

IF EDGEPOS(A) AND D THEN
MOVE(Deger:= Deger_3);
END_IF;

IF EDGEPOS(A) AND E THEN
MOVE(Deger:= Deger_4);
END_IF;

Re: ST Desteği lütfen

Gönderilme zamanı: 06 Şub 2020, 08:47
gönderen Ahmet
Aşağıdaki şekildede yazabilirsiniz.

Kod: Tümünü seç

IF EDGEPOS(A) AND B THEN
     Deger := Deger_1 ;
ELSIF EDGEPOS(A) AND C THEN
     Deger := Deger_2 ;   
ELSIF EDGEPOS(A) AND D THEN
     Deger := Deger_3 ;
ELSIF EDGEPOS(A) AND E THEN
     Deger := Deger_4 ;  
END_IF;