Atama

bsfrot

Usta Üye
Katılım
14 Ara 2010
Mesajlar
535
Puanları
164
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ı?
 
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
129,840
Mesajlar
930,680
Kullanıcılar
452,678
Son üye
TengRi

Yeni konular

Çevrimiçi üyeler

Şu anda çevrimiçi üye yok.
Geri
Üst