Ana içeriğe atla

Codesys Yıldız-Üçgen, İleri-Geri Yol Verme

 _

Codesys için kullanılabilir bir Fonksiyon Bloğu


//////
FUNCTION_BLOCK YidizUcgenIG_FB
VAR_INPUT
	xAcilStop:BOOL;
	xTermikAriza:BOOL;
END_VAR
VAR_OUTPUT
	xAnaKontaktorIleri:BOOL;
	xAnaKontaktorGeri:BOOL;
	xUcgenKontaktor:BOOL;
	xYildizKontaktor:BOOL;
END_VAR
VAR
	xintStarDelta_Case10: BOOL;
	xintStarDelta_Case20: BOOL;
	T_xYildizKontaktor: TON;
	T_xintStarDelta_Case20: TON;
	intStarDelta: INT;
END_VAR

VAR_IN_OUT
	ixStartIleri: BOOL;
	ixStartGeri:BOOL;
END_VAR
//////////

IF (NOT (ixStartIleri XOR ixStartGeri)) OR (NOT (xAnaKontaktorIleri XOR xAnaKontaktorGeri)) OR  NOT xAcilStop OR NOT xTermikAriza OR(xYildizKontaktor AND xUcgenKontaktor) THEN
	xAnaKontaktorIleri	:= FALSE;
	xAnaKontaktorGeri	:= FALSE;
	xYildizKontaktor	:= FALSE;
	xUcgenKontaktor		:= FALSE;
	
	xintStarDelta_Case10:= FALSE;
	xintStarDelta_Case20:= FALSE;
	
	intStarDelta:=0;
	
END_IF

IF 
 NOT xAcilStop OR NOT xTermikAriza OR(xYildizKontaktor AND xUcgenKontaktor) THEN
	ixStartIleri		:= FALSE;
	ixStartGeri			:= FALSE;
		intStarDelta:=0;
END_IF

T_xYildizKontaktor(IN:=xYildizKontaktor,PT:=T#10S);
T_xintStarDelta_Case20(IN:=xintStarDelta_Case20,PT:=T#100MS);

CASE intStarDelta OF
	0:
		IF ixStartIleri XOR ixStartGeri THEN
			IF ixStartIleri AND NOT ixStartGeri THEN
				xAnaKontaktorIleri	:=TRUE;
				xAnaKontaktorGeri	:=FALSE;
			END_IF
			IF ixStartGeri AND NOT ixStartIleri THEN
				xAnaKontaktorGeri	:=TRUE;
				xAnaKontaktorIleri	:=FALSE;
			END_IF
			IF xAnaKontaktorIleri XOR xAnaKontaktorGeri THEN
				xYildizKontaktor	:= TRUE;
				intStarDelta		:= 10;
			END_IF
			ELSE
				xAnaKontaktorIleri	:=FALSE;
				xAnaKontaktorGeri	:=FALSE;
				xYildizKontaktor	:=FALSE;
				xUcgenKontaktor		:= FALSE;
				xintStarDelta_Case10:= FALSE;
				xintStarDelta_Case20:= FALSE;
		END_IF	
	10:
		IF T_xYildizKontaktor.Q THEN
			xintStarDelta_Case10 :=TRUE;
			intStarDelta			:= 20;
		END_IF
	20:
		IF xintStarDelta_Case10 THEN
			xYildizKontaktor:=FALSE;
			xintStarDelta_Case20:=TRUE;
			xintStarDelta_Case10:=FALSE;
			intStarDelta		:= 30;
		END_IF
	30:
		IF T_xintStarDelta_Case20.Q THEN
			xUcgenKontaktor	:= TRUE;
			xintStarDelta_Case20:=FALSE;
		END_IF
END_CASE

Yorumlar

Bu blogdaki popüler yayınlar

Bilginin Değeri ve Kalıcılığı Üzerine

Teknolojinin gelişmesiyle birlikte bilgiye ulaşmak hiç olmadığı kadar kolaylaştı. Artık birkaç dokunuşla, aradığımız her şeyi saniyeler içinde öğrenebiliyoruz. Fakat bu kolaylık, beraberinde önemli bir kaybı da getirdi: öğrenme sürecinin kendisini. Eskiden bir konu hakkında bilgi edinmek, uzun bir yolculuğu andırırdı. Merakla başlayan bu yolculuk; düşünmeyi, araştırmayı ve sonunda sonuca ulaşmayı içerirdi. Bugünse çoğu zaman bu yolculuğa çıkmadan, doğrudan son durağa varıyoruz. Düşünmeden, sorgulamadan, sadece sonuca odaklanıyoruz. Bu da bilginin değerini ve kalıcılığını bizden alıyor. Son yıllarda artan "gereksiz" yapay zeka kullanımı da bu süreci hızlandırdı. Artık bilgiye sahip olmak, onu gerçekten öğrenmekten çok daha kolay. Ancak kolay elde edilen bilginin ömrü de bir o kadar kısa. Bir bilginin kalıcı olabilmesi için ona gerçekten ihtiyaç duyulması gerekir. Rastgele öğrenilen bilgiler, zihinde yer etmez. Oysa araştırmak, düşünmek, sorgulamak… Bunlar öğrenmenin en güçlü p...

Endüstriyel Otomasyon Sistemlerinde PLC Programlama Standartları: Güvenlik ve Güvenilirlik için Temel Prensipler

Endüstriyel Otomasyon Sistemlerinde PLC Programlama Standartları Endüstriyel Otomasyon Sistemlerinde PLC Programlama Standartları: Güvenlik ve Güvenilirlik için Temel Prensipler Özet Endüstriyel kontrol sistemlerinin performansı ve güvenilirliği, kullanılan programlanabilir mantık denetleyicilerinin (PLC) yazılım kalitesi ile doğrudan ilişkilidir. Bu makale, endüstriyel otomasyon uygulamalarında PLC programlama için temel tasarım desenlerini ve güvenlik standartlarını sistematik bir yaklaşımla incelemektedir. Durum makinesi pattern'lerinden pozisyon geri besleme validasyonuna, karşılıklı kilitleme mekanizmalarından hata yönetimi stratejilerine kadar kritik öneme sahip standartlar detaylı olarak ele alınmaktadır. Terimler Sözlüğü / Glossary of Terms State Machine Pattern / Durum Makinesi Deseni Position Feedback Validation / Pozisyon Geri Besleme Doğrulama Mutual Exclusion Pattern / Karşılıklı Dışlama Deseni Two-Hand Control / İki El Kontrolü Timer Management / ...