Atama

bsfrot

Paylaşımcı üye
Katılım
14 Ara 2010
Mesajlar
522
Puanları
149
Merhabalar

PLC programı içerisinde DB35.DBD730 dan DB35.DBD930 a kadar olan wordlerin aynı anda değerini değiştirebileceğim en kısa yazılım nasıl olur? Fikirlerinizi bekliyorum...Kısa bir yol komutu varmı?
 
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.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
VAR
say:CTU;
dizi1:ARRAY [0..10] OF REAL;
indis1:WORD;
blink:fbBLINK;
analog1:WORD;

BEGIN
blink(in:=TRUE,onPT:=T#1MS,ofPT:=T#1MS);
say(cu:=blink.out,reset:=say.Q,pv:=10);
indis1:=say.Cv;
dizi1[indis1]:=bsfrotundegeri;

yalnız burada array kısmını 0 ile 10 değil DB35.DBD730 ile DB35.DBD930 yapman lazım
 
bu da fbBLINK içeriği

FUNCTION_BLOCK fbBLINK
VAR_INPUT
in:BOOL;
onPT:TIME;
ofPT:TIME;
END_VAR

VAR_OUTPUT
out:BOOL;
END_VAR

VAR_TEMP
in1:BOOL;
END_VAR

VAR
T1:TON;
T2:TON;
END_VAR



BEGIN
IF in AND NOT T2.Q THEN
in1:=1;
ELSE
in1:=0;
END_IF

T1(IN:=in1,PT:=ofPT);
T2(IN:=T1.Q,PT:=onPT);

IF T1.Q THEN
out:=1;
ELSE
out:=0;
END_IF
 
teşekkürler hocam
 
bir çözüm daha var ama biraz daha karışık
 

Forum istatistikleri

Konular
128,237
Mesajlar
916,066
Kullanıcılar
450,036
Son üye
murki

Yeni konular

Çevrimiçi üyeler

Geri
Üst