Sanal memory ile Digital input aktif etme ve Simulasyon

Tahsin4040

Üye
Katılım
4 Eki 2021
Mesajlar
11
Puanları
1
Yaş
31
Merhaba

Sanal memory ile dıgıtal inputu s7 1200 de nasıl aktif edebilirim?
 
Çözüm
Simulasyon için yabancılarda gördüğüm yöntem PLC programında kullanılan tüm inputLAR , outputLAR dijital olarak(sanal) kontrol ediliyor ve fiziksel çıkışlara atanma ayrı bir FC içinde mapleniyor yani atıyor.
Örneğin şu şekilde yapıyorlar;
Kod:
// Input Outputları mapleme kısmı

IF SimulasyonAktif = FALSE THEN
   // Simulasyon Aktif değilse atama
   DI_Unit-1 := %I0.0 ;  // Tüm fiziksel girişler dijital girişlere maplenir.
   DI_Unit-2 := %I0.1;

   %Q0.0 := DQ_Unit-1; // Tüm Dİjital Çıkışlar fiziksel çıkışlara atanır
   %Q0.1 := DQ_Unit-2;
ELSE
   // Simulasyon aktifse atama olmaz DI lara yazma olmaz, dijital IO'lar kontrol edilebilir hale gelir.
;
END_IF

// PLC program kısmı
Program içinde hiçbir zaman...
Simulasyon için yabancılarda gördüğüm yöntem PLC programında kullanılan tüm inputLAR , outputLAR dijital olarak(sanal) kontrol ediliyor ve fiziksel çıkışlara atanma ayrı bir FC içinde mapleniyor yani atıyor.
Örneğin şu şekilde yapıyorlar;
Kod:
// Input Outputları mapleme kısmı

IF SimulasyonAktif = FALSE THEN
   // Simulasyon Aktif değilse atama
   DI_Unit-1 := %I0.0 ;  // Tüm fiziksel girişler dijital girişlere maplenir.
   DI_Unit-2 := %I0.1;

   %Q0.0 := DQ_Unit-1; // Tüm Dİjital Çıkışlar fiziksel çıkışlara atanır
   %Q0.1 := DQ_Unit-2;
ELSE
   // Simulasyon aktifse atama olmaz DI lara yazma olmaz, dijital IO'lar kontrol edilebilir hale gelir.
;
END_IF

// PLC program kısmı
Program içinde hiçbir zaman absolute(fiziksel) adresler kullanılmaz her zaman Dijital IO lar kullanılır. Bu mantıkla programı simulasyonda test etmek hızlı bir şekilde gerçekleşebilir hale gelir. Ekrandaki(hmi) giriş ve çıkışlar aynı şekilde dijital giriş-çıkışlara bağlanır.
Kod:
IF DI_Unit-1 then // Sim aktifse aşağıdaki koddan bilgi gelir, değilse fiziksel IO dan
    DQ_Unit-1 := TRUE;
ELSE
    DQ_Unit-1 := FALSE;
END_IF

IF SimulasyonAktif THEN
   //Simulasyon aktifse DI ve DQ lar belli şartlar altında plc içinde komutla simule edilebilir hale gelir.
   //Inputlar otomatik olarak On Of yapılıyor veya HMI dan kontrol edilebiliyor.

   IF AktuelPos > 1000 then
      DI_Unit-1 := TRUE;
   ELSE
      DI_Unit-1 := FALSE;
   END_IF

END_IF
 
Son düzenleme:
Çözüm
Bahsettim yöntem ile ilgili boş bir zamanda prg hazırlayabilirim, ama yukarıda anlaşılmayan varsa cevaplayabilirim.
 
Yazılanların mantığını anlamak için sadece IF ELSE komutunu merak edip öğrenmeniz yeterli.
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…