MOVE: Move Value (Değeri Aktar)

MOVE: Move Value (Değeri Aktar)

PLC programlamada veri transferi temel bir ihtiyaçtır ve Siemens S7-1200 ile S7-1500 serisi PLC'lerde bu işlem için MOVE (Taşı) komutu kullanılır. Bu komut, bir operandın (IN) içeriğini başka bir operanda (OUT1) kopyalar. Bu rehberde, MOVE komutunun çalışma mantığını, veri tipi uyumluluklarını, kullanım örneklerini, avantajlarını, dikkat edilmesi gerekenleri ve pratik ipuçlarını detaylıca inceleyeceğiz.

MOVE Komutu Nedir?

"Move value" (MOVE) komutu, IN girişindeki operandın içeriğini OUT1 çıkışındaki operanda aktarmak için kullanılır. Transfer, her zaman artan adres yönünde gerçekleşir ve Ladder Diagram (LAD), Function Block Diagram (FBD) veya Structured Text (STL) dillerinde uygulanabilir.

Çalışma Mantığı:

  • EN = 1: IN'deki değer OUT1'e kopyalanır, ENO = 1 (başarılıysa).
  • EN = 0: Komut çalışmaz, ENO = 0.
  • Uyumsuz Veri Tipleri: IN ve OUT1 veri tipleri uyuşmazsa, ENO = 0 olur.

Bu mantık, bir dosyayı bir klasörden diğerine kopyalamaya benzer: Kaynak (IN) seçilir ve hedef (OUT1) klasöre aktarılır.

MOVE Komutunun Yapısı ve Veri Tipleri

MOVE komutunun temel parametreleri:

ParametreTanımVeri Tipi (S7-1200)Veri Tipi (S7-1500)Bellek Alanı
ENÇalıştırma girişiBOOLBOOLI, Q, M, D, L veya sabit
ENOBaşarı çıkışıBOOLBOOLI, Q, M, D, L
INKaynak değerBit dizileri, tamsayılar, gerçek sayılar, zamanlayıcılar, CHAR, WCHAR, STRUCT, ARRAY vb.Bit dizileri, tamsayılar, gerçek sayılar, TIMER, COUNTER, CHAR, WCHAR, STRUCT, ARRAY vb.I, Q, M, D, L veya sabit
OUT1Hedef operandBit dizileri, tamsayılar, gerçek sayılar, zamanlayıcılar, CHAR, WCHAR, STRUCT, ARRAY vb.Bit dizileri, tamsayılar, gerçek sayılar, TIMER, COUNTER, CHAR, WCHAR, STRUCT, ARRAY vb.I, Q, M, D, L

S7-1200 Veri Tipleri: BYTE, WORD, DWORD, SINT, INT, DINT, REAL, TIME, DATE, TOD, CHAR vb.

S7-1500 Ek Tipler: LWORD, LINT, ULINT, LREAL, LTIME, LDT, LTOD, TIMER, COUNTER.

Kombine Örnek: Veri Transferi Senaryoları

Sistem: Farklı veri tipleriyle MOVE komutunun kullanımı (S7-1200):

Kaynak (IN)Hedef (OUT1) - IEC Kontrol AçıkHedef (OUT1) - IEC Kontrol Kapalı
BYTEBYTE, WORD, DWORDBYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD, CHAR
WORDWORD, DWORDBYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD, CHAR
DWORDDWORDBYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE, TOD, CHAR
REALREALDWORD, REAL

Açıklama: IEC kontrol açıkken yalnızca aynı veya uyumlu tiplere transfer yapılır. Kapalıyken daha geniş bir yelpazeye izin verilir.

PLC Programlama Örneği

MOVE komutu, sensör verisi transferi, operatör paneli veri değişimi ve zamanlayıcı manipülasyonunda kullanılır. Aşağıdaki örnekte bir değer kopyalama gösteriliyor:

MOVE Komutu Örneği
        

Örnek Değerler:

ParametreOperandDeğer
INTagIn_Value0011 1111 1010 1111
OUT1TagOut_Value0011 1111 1010 1111

Açıklama: "TagIn" = 1 olduğunda, "TagIn_Value" (0011 1111 1010 1111) "TagOut_Value"’ya kopyalanır ve "TagOut" = 1 olur.

Günlük Hayattan Örnekler

MOVE komutunun mantığını anlamak için günlük hayattan benzetmeler:

  • Fotokopi: Bir belgeyi (IN) kopyalayıp başka bir kağıda (OUT1) aktarma.
  • E-posta: Bir dosyayı (IN) ek olarak gönderip başka bir cihaza (OUT1) kopyalama.
  • Taşıma: Bir kutudaki eşyayı (IN) başka bir kutuya (OUT1) yerleştirme.
  • Kayıt: Bir notu (IN) bir defterden diğerine (OUT1) yazma.

Avantajlar

  • Esneklik: Geniş veri tipi desteğiyle farklı ihtiyaçlara uyum sağlar.
  • Basitlik: Kolay uygulanabilir ve anlaşılır bir yapıya sahiptir.
  • Çoklu Çıkış: Tek IN değerini birden fazla OUT’a kopyalayabilir.
  • Gelişmiş Destek: S7-1500’de ek veri tipleriyle daha fazla seçenek sunar.

Dikkat Edilmesi Gerekenler

  • Bit Kayıpları: IN’in bit uzunluğu OUT1’den büyükse üst bitler kaybolur (örneğin, BYTE → WORD).
  • Veri Tipi Uyumu: IEC kontrol açıkken uyumsuz tipler ENO = 0 ile sonuçlanır.
  • Yapısal Veri: ARRAY ve STRUCT transferinde tipler ve boyutlar aynı olmalıdır.
  • ENO İzleme: Hata durumlarını tespit için ENO çıkışını kontrol edin.

İpuçları

  • Simülasyon: PLCSIM ile transferleri test edin.
  • Etiketleme: Operandlara anlamlı isimler verin (örneğin, "SensorData").
  • Alternatifler: Büyük veri için MOVE_BLK, STRING için S_MOVE kullanın.
  • Dokümantasyon: Transfer mantığını not alarak bakımı kolaylaştırın.

Sonuç

Siemens S7-1200 ve S7-1500 PLC’lerde MOVE komutu, veri transferi için güçlü ve esnek bir araçtır. IN’den OUT1’e artan adres yönünde kopyalama yapar ve geniş veri tipi desteği sunar. Doğru veri tipi kullanımı ve ENO kontrolü ile güvenilir sistemler tasarlanabilir. Daha fazla bilgi için Siemens Online Destek sayfasını ziyaret edebilirsiniz.

Yorumlar