Ax2000 İçin State Maschine

ms_cikar

Üye
Katılım
14 Nis 2011
Mesajlar
26
Puanları
1
Yaş
37
Slm Ustalar

Okulda Yaptigimiz bir Proje icin Ax2000 serisini kullaniyoruz.
bir State Machine programlamamiz lazim.
Arkadaslarla elimizden geldigi kadar acemice birtane yaptik, ama problem var ve problemin tam olarak nerden kaynaklandigini bulamiyoruz :(

Umarim siz Tecrübeli Ustalarimiz bize yardim edebilirsiniz.

Almanyadan Selamlar.

(*++++FPGA_Drive_State control+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)

IF ((wAx_Status AND 16#000F) <> 16#0008) THEN
sys_cycle_cnt := sys_cycle_cnt +1;
IF (sys_cycle_cnt > Lim_2s) THEN
sys_cycle_cnt := 0;
IF En_Drive = TRUE THEN
IF ((wAx_Status AND 16#00FF) = 16#0060) THEN
wAx_Control := 16#0006; (*Init*)
ELSIF ((wAx_Status AND 16#00FF) = 16#0040) THEN
wAx_Control := 16#0006; (*PreCharge*)
ELSIF ((wAx_Status AND 16#00FF) = 16#0021) THEN
wAx_Control := 16#0907; (*PreRun, change to Opmode 9 => v/f - control*)
ELSIF ((wAx_Status AND 16#00FF) = 16#0023) THEN
wAx_Control := 16#090F; (*RuN*)
ELSIF ((wAx_Status AND 16#00FF) = 16#0027) THEN
U_cmd := U_cmd_percent;
speed_cmd := speed_cmd_rpm;
END_IF
ELSE
wAx_Control := 16#0000;
U_cmd := 0;
speed_cmd := 0;
END_IF;
END_IF;
ELSE (*Drive_Error*)
sys_cycle_cnt := 0;
En_Drive := FALSE; (* Disable on Error *)
U_cmd := 0;
speed_cmd := 0;
END_IF;


IF ( Clr_Fault = TRUE ) THEN
IF ((wAx_Status AND 16#000F) = 16#0008) THEN
wAx_Control := 16#0080; (*reset Error*)
END_IF
Clr_Fault := FALSE ;
END_IF

SysTime(timeLoDW => NewSysTime);
CycTime := (NewSysTime - OldSysTime)/10; (* cycle time in [µs]*)
IF (CycTime = 0) THEN
CycTime := 1000;
END_IF


OldSysTime := NewSysTime;
Lim_2s := 2000000 / CycTime;
(*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*)


STATE MASCHINE

Beckhoff Information System - German
 
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.
bir END_IF fazla diye düşünmüştüm ama bir daha bakınca fazla olmadığını fark ettim. Mesajı siliyorum:)
 

Yeni mesajlar

Forum istatistikleri

Konular
129,360
Mesajlar
925,767
Kullanıcılar
451,848
Son üye
slhtnozkk1

Yeni konular

Çevrimiçi üyeler

Geri
Üst