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:
Parametre | Tanım | Veri Tipi (S7-1200) | Veri Tipi (S7-1500) | Bellek Alanı |
---|---|---|---|---|
EN | Çalıştırma girişi | BOOL | BOOL | I, Q, M, D, L veya sabit |
ENO | Başarı çıkışı | BOOL | BOOL | I, Q, M, D, L |
IN | Kaynak değer | Bit 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 |
OUT1 | Hedef operand | Bit 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çık | Hedef (OUT1) - IEC Kontrol Kapalı |
---|---|---|
BYTE | BYTE, WORD, DWORD | BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD, CHAR |
WORD | WORD, DWORD | BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, TIME, DATE, TOD, CHAR |
DWORD | DWORD | BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, TIME, DATE, TOD, CHAR |
REAL | REAL | DWORD, 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:
Örnek Değerler:
Parametre | Operand | Değer |
---|---|---|
IN | TagIn_Value | 0011 1111 1010 1111 |
OUT1 | TagOut_Value | 0011 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
Yorum Gönder