S7 400 Hakkında Soru

xxmustikxx

Üye
Katılım
30 Haz 2007
Mesajlar
8
Puanları
1
Yaş
45
Merhaba Arkadaslar,

simdi bizde iki adet kantar var SH03 ve SH04 diye simlendirilmiş blower sistemi ile istenilen mikarda Un cekiyor. SH03 isimli kantar 12 Silodan çekebiliyor SH04ise tek Silodan cekebiliyor. Miktar ve Silo seçinleri Scada ile yapılıyor.

benim yapmak istediği ise, tek bir Silodan ceken SH04 Kantarı diyer SH03Kantar gibi 12 Silodan çekmesini istiyorum ama SCADA üzerinden deyil Pano üzerine takacağım Butonlarla Silo seçimini yapak istiyorum.

FC426 (SH04) ve FC425 (SH03)ün NW3 de Silo seçimleri var yanlış anlamadıysam.


FC426 (SH04)

NW3 Source selection

L 1
T ''_db_pwaag_SH04''.steuern.hand_silo_nr // burdan direkt silo 4ü seçiyor

FC425 (SH03)

NW3 Source selection

L ''db_visu_analog_mixer''.SH03_Anw_Q
T ''_db_pwaag_SH03''.steuern.hand_silo_nr // burdan direkt silo 4ü seçiyor


tabi bunlar DBye ve DBden UDT yönlendirilmiş.

Benim anlamadığım T komutunda SCADAda seçmiş olduğu Silo nere aktarıyor çünkü Nw3 burda bitiyor ve Nw4de geçiyor.

Yardımlarınız için şimdiden çok teşekkür ederim.
 
Moderatör tarafında düzenlendi:
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.
Profibus aracılığıyla haberleşiyor.Programı yollarsan daha net bilgi verebilirim.
 
FC426 (SH04)

NW3 Source selection

L 1
T ''_db_pwaag_SH04''.steuern.hand_silo_nr // burdan direkt silo 4ü seçiyor

FC425 (SH03)

NW3 Source selection

L ''db_visu_analog_mixer''.SH03_Anw_Q
T ''_db_pwaag_SH03''.steuern.hand_silo_nr // burdan direkt silo 5den 12kadar seçiyor


tabi bunlar DBye ve DBden UDT yönlendirilmiş.

Benim anlamadığım T komutunda SCADAda seçmiş olduğu Silo nere aktarıyor çünkü Nw3 burda bitiyor ve Nw4de geçiyor.

Yardımlarınız için şimdiden çok teşekkür ederim.[/QUOTE]

hocam programmın tamamını indiremedim ama bana e-mailini yollarsan sana programmıda yolluya bilirim.

dediğim gibi ben sadece SH04ü aynı Sh03 gibi yapmak istiyorum sadece bir farkla silo seçimini ekrandan deyil butonlarla seçmek istiyorum

yardımlarınız için tsk. ederim
 

Ekli dosyalar

  • DB62.pdf
    9.8 KB · Görüntüleme: 28
  • DB703.pdf
    6.6 KB · Görüntüleme: 8
  • DB704.pdf
    6.3 KB · Görüntüleme: 7
  • FC425.pdf
    26 KB · Görüntüleme: 14
  • FC426.pdf
    19.1 KB · Görüntüleme: 9
Son düzenleme:
Kod:
FUNCTION "BM02_CW_SH04" : VOID
TITLE =scale SH04
AUTHOR : Wittich
VERSION : 0.1


VAR_TEMP
  fault : BOOL ;	//Fehler
  start_delay_empty : BOOL ;	//start Verzögerung leer
  output : BOOL ;	//Ausgang
  coarse_fill : BOOL ;	
  fine_fill : BOOL ;	
  discharge : BOOL ;	
  fault_int : INT ;	//Fehler INT
END_VAR
BEGIN
NETWORK
TITLE =scale SH04 empty

      AN    "SH04_RWA_not_full"; 
      =     "db_visu_alarm_mixer".SH04_Ueberlast; 

      O     "SH04_RWA_empty"; 
      O     "SH04_RWA_value_neg"; 
      L     "db_timer_soll".SH04_del_empty; 
      SD    "SH04_del_empty"; 
      A     "SH04_del_empty"; 
      =     "SH04_empty"; 

      AN    "SH04_empty"; 
      =     "db_visu_mixer".SH04_N_L; 
NETWORK
TITLE =scale SH04 auto/hand

      CLR   ; 
      =     "SH04_auto"; 

NETWORK
TITLE =

      A     "BUTON_1"; 
      JNB   _003; 
      L     1; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_003: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_2"; 
      JNB   _005; 
      L     2; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_005: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_3"; 
      JNB   _006; 
      L     3; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_006: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_4"; 
      JNB   _007; 
      L     4; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_007: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_5"; 
      JNB   _016; 
      L     5; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_016: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_6"; 
      JNB   _017; 
      L     6; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_017: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_7"; 
      JNB   _018; 
      L     7; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_018: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_8"; 
      JNB   _019; 
      L     8; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_019: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_9"; 
      JNB   _01a; 
      L     9; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_01a: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_10"; 
      JNB   _01b; 
      L     10; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_01b: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_11"; 
      JNB   _01d; 
      L     11; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_01d: NOP   0; 
NETWORK
TITLE =

      A     "BUTON_12"; 
      JNB   _01e; 
      L     12; 
      T     "_db_pwaag_SH04".steuern.hand_silo_nr; 
_01e: NOP   0; 
NETWORK
TITLE =Manual required value

      L     "db_visu_analog_mixer".SH04_Soll; 
      L     "_db_pwaag_SH04".steuern.waag_wert; 
      -R    ; 
      A     "SH04_weighing"; 
      JC    M401; 
      T     "_db_pwaag_SH04".steuern.hand_soll; 
M401: NOP   0; 

NETWORK
TITLE =Actual scale value

      L     "_db_pwaag_SH04".steuern.waag_wert; 
      T     "db_visu_analog_mixer".SH04_Ist; 

NETWORK
TITLE =Alarm

      O     "SH04_alarm_scale"; 
      O     "db_visu_alarm_sponge".PB_39_COMM_A; 
      =     "db_visu_cw_mixer".SH04_alarm; 
NETWORK
TITLE =SH04 - scale refilling stop/start

      L     "_db_pwaag_SH04".steuern.waag_wert; 
      L     "db_visu_analog_mixer".SH04_Soll; 
      >=R   ; 
      ON    "db_visu_cw_mixer".SH04_BET; 
      ON    "SH04_RWA_not_full"; 
      =     "SH04_ref_stop"; 

      L     "db_visu_analog_mixer".SH04_Soll; 
      L     1.500000e+001; 
      -R    ; 
      L     "_db_pwaag_SH04".steuern.waag_wert; 
      >=R   ; 
      AN    "SH04_ref_stop"; 
      =     "SH04_ref_dem"; 
NETWORK
TITLE =SH04 control


      A     "SH04_ref_dem"; 
      =     "SH04_coarse"; 
      A     "SH04_ref_stop"; 
      =     "SH04_stop"; 
      A     "db_visu_cw_mixer_pulse".SH04_q_alarm; 
      =     "SH04_alarm_ack"; 
      A     "SH04_auto"; 
      =     "SH04_automatic"; 
      A     "PST_SH04_S04"; 
      A     "SH04_weighing"; 
      L     "db_timer_soll".SH04_del_tare; 
      SD    "SH04_del_tare"; 
      A     "SH04_del_tare"; 
      =     "SH04_tare"; 
      SET   ; 
      =     "SH04_start_en"; 

      AN    "RH03_silo_S01"; 
      AN    "RH03_silo_S02"; 
      AN    "RH03_silo_S03"; 
      AN    "SH01_silo_S01"; 
      AN    "SH01_silo_S02"; 
      AN    "SH01_silo_S03"; 
      AN    "SH02F_ref_silo_S04"; 
      L     "db_timer_soll".SH04_del_enable; 
      SD    "SH04_del_enable"; 
      A     "SH04_del_enable"; 
      =     "SH04_met_enable"; 

      A     "SH04_met_enable"; 
      A     "SH04_RWA_not_full"; 
      A     "SH04_RWA_value_valid"; 
      AN    "db_visu_alarm_mixer".SH04V01_A; 
      A     "SH04V01_C"; 
      AN    "SH04_discharge"; 
      =     "SH04_gen_en"; 

      AN    "db_visu_alarm_S01_4".S04RV01_A; 
      =     "SH04_silo_en_S04"; 

NETWORK
TITLE =SH04 scale control


      CALL "fb_pwaag" , "di_pwaage" (
           siz_erst_byte            := "SH04_sflag_byte",
           sifr_erst_byte           := "SH04_en_byte",
           init_global              := "_db_sys".eingang.init_global,
           steuer_wort              := "SH04_ctrl_word",
           str_waag_steu            := "_db_pwaag_SH04".steuern);


// ======= scale value reading ======

      A     "simulation_flag"; 
      JC    M801; 
      CALL "fc_waagwert_lesen" (
           rwa_ad_dwort             := "SH04_DP_VALUE_I",
           faktor                   := 10,
           db_waag                  := "_db_pwaag_SH04",
           steuer_byte              := "SH04_ctrl_byte");

// ====== signals -> RWA-AD =====
      L     0; 
      T     "SH04_DP_VALUE_0"; 

M801: NOP   0; 

// ====== simulation SH04 ========

      A     "simulation_flag"; 
      JCN   M802; 
      A     "SH04_dosing_sign"; 
      A     "SH04_coarse_sign"; 
      =     #coarse_fill; 
      A     "SH04_dosing_sign"; 
      AN    "SH04_coarse_sign"; 
      =     #fine_fill; 
      A     "SH04V01"; 
      =     #discharge; 
      CALL "fc_waag_simu" (
           waag_db                  := "_db_pwaag_SH04",
           fuell_grob               := #coarse_fill,
           fuell_fein               := #fine_fill,
           entleer_grob             := #discharge,
           entleer_fein             := #discharge,
           fuell_schritt_grob       := 5.000000e+000,
           fuell_schritt_fein       := 1.000000e+000,
           entleer_schritt_grob     := 5.000000e+001,
           entleer_schritt_fein     := 5.000000e+001,
           ueberlast_wert           := 2.300000e+002,
           leermelde_wert           := 1.000000e+001,
           eingang_bit_ueberlast    := "SH04_RWA_not_full",
           eingang_bit_leer         := "SH04_RWA_empty");

      CLR   ; 
      =     "SH04_RWA_value_neg"; 
      SET   ; 
      =     "SH04_RWA_value_valid"; 
M802: NOP   0; 

NETWORK
TITLE =Way check S04 -> SH04


      A     "SH04_silo_S04"; 
      A     "CB10V03"; 
      A     "CB10V03_O"; 
      AN    "db_visu_alarm_S01_4".CB10V03_A; 
      A     "CB10DV02.SH04"; 
      A     "CB10DV02_SH04"; 
      AN    "db_visu_alarm_S01_4".CB10DV02_G_A; 
      AN    "db_visu_alarm_S01_4".CB10DV02_AB_A; 
      =     "WCK_CB10_SH04_S04"; 

NETWORK
TITLE =CB10V01 close blow off valve for SH04


      A     "SH04_silo_S04"; 
      A     "WCK_CB10_SH04_S04"; 
      A     "CB10_ru_fini"; 
      AN    "CB10_MMP"; 
      =     "CL_BOF_CB10_SH04_S04"; 

NETWORK
TITLE =Enable metering silo S01-S03 for SH04

      A     "CL_BOF_CB10_SH04_S04"; 
      A     "CB10V01"; 
      A     "CB10V01_C"; 
      AN    "db_visu_alarm_S01_4".CB10V01_A; 
      AN    "CB10_MP"; 
      =     "PST_SH04_S04"; 

NETWORK
TITLE =SH04 scale discharge 

      A     "BM02_dem_dis_SH04"; 
      AN    "SH04_weighing"; 
      AN    "SH04_empty"; 
      AN    "db_visu_alarm_mixer".SH04V01_A; 
      =     "SH04_discharge"; 

      CALL "fc_bit_verzoe_min_melder" (
           eingang                  := "SH04_discharge",
           soll_einverzoeg          := 0,
           soll_ausverzoeg          := 5,
           ist_einverzoeg           := "db_mixer_aux".SH04_discharge_on,
           ist_ausverzoeg           := "db_mixer_aux".SH04_discharge_off,
           ausgang                  := "SH04_discharge_del_off",
           fehler                   := #fault);


END_FUNCTION

FC426 nın source kodudur.Kullanman için compile etmen gerekir.Butonlar için kullanılmadığını düşündüğüm I10.0-11.3 inputlarını kullandım.Daha ayrıntılı bişey istersen program üstünde çalışmak gerekecektir.

BUTON_1 : I 10.0
.
.
.
BUTON_12 : I 11.3
 
Son düzenleme:
Son yazdığım kodu denediniz mi işinizi görmüyor mu.Programı ayrıntılı incelemeye fırsatım olmadı.Hafta sonu bakmaya çalışacağım.Bir de silo seçimini hangi panelden ve hangi ekrandan seçtiğini söyleyebilir misin.
 

Forum istatistikleri

Konular
129,035
Mesajlar
922,701
Kullanıcılar
451,293
Son üye
EagleClaw

Yeni konular

Çevrimiçi üyeler

Geri
Üst