1. sayfa (Toplam 2 sayfa)
Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Çrş Oca 15, 2025 8:53 pm
gönderen AhmetA
Merhabalar.
Halihazırda çalışan bir sisteme HMI ilavesi yapmam gerekiyor.
3 adet DELTA PLC bulunan bir ağa VI20-101S-FE model HMI ekran ilavesi yapmak istiyorum fakat bu PLC'lerdeki farklı adreslerdeki dataları tek reçetede birleştirerek bir reçete sayfası oluşturmalıyım.
VEICHI markasında fazla bir tecrübem olmadığından macro uygulamasına tam hakim olamadım ve dolayısıyla reçeteyi oluşturamadım.
3 adet PLC'nin içerisindeki sıralı olmayan adreslerdeki, her PLC için yaklaşık 50 Word-DWord ve 20 bitten oluşan bu verileri 100 adet reçete kaydı yapabilen bir reçetede nasıl toplayabilirim?
Reçete sayfasında sıra numarası ve reçete adı görünmesi yeterli olacaktır, fazla detaylı bir reçete gösterimi olmasına gerek yok.
Bir örnek paylaşır mısınz?
Teşekkürler.
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Cum Oca 17, 2025 12:29 pm
gönderen Ahmet
Merhabalar,
Reçete için makro kullanmanıza gerek yok. Aşağıdaki örneği inceleyebilirsiniz.
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Cmt Oca 18, 2025 10:27 pm
gönderen AhmetA
Teşekkürler. Bu örneğin işimi göreceğini düşünüyorum.
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Çrş Oca 29, 2025 6:40 pm
gönderen AhmetA
Ahmet yazdı: ↑Cum Oca 17, 2025 12:29 pm
Merhabalar,
Reçete için makro kullanmanıza gerek yok. Aşağıdaki örneği inceleyebilirsiniz.
Ahmet Bey:
Verdiğiniz örneği plrojeme uyarlamaya çalışıyorum fakat şöyle bir sorun yaşıyorum.
Data transfer elementi 32 adet datayı taşımama izin veriyor.
Daha fazlasını taşımak için ikinci bir şeffaf transfer elementi daha koymaya çalıştım fakat bu elementin tetikleme adresi olmadığı için nasıl tetikleyeceğimi bulamadım.
Rica etsem daha fazla datayı taşıyabileceğim bir örnek paylaşırmısınız?
Teşekkürler.
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Cmt Şub 01, 2025 7:34 pm
gönderen AhmetA
Yaşadığım sorunla ilgili çözüm öneriniz nedir?
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Pzt Şub 03, 2025 7:13 am
gönderen Ahmet
Merhaba Ahmet Bey,
Bir butona 32 adetten fazla aksiyon eklenememektedir. Bu sorununuz için makro yazılması gerekebilir. Örnek oluşturup sizinle paylaşacağım.
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Pzt Şub 03, 2025 2:00 pm
gönderen Volkan
Merhaba örnek aşağıdadır. HMI yerel adresleri kullanılmıştır, siz adresleri PLC'lerinize göre güncelleyebilirsiniz.
https://drive.google.com/open?id=1XygCx ... p=drive_fs
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Pzt Şub 03, 2025 8:35 pm
gönderen AhmetA
Volkan Bey;
Örnek için teşekkürler.
Macro uygulamasını inceledim ve konuyu daha iyi anlamak adına birkaç soru sormak istiyorum.
Aşağıdaki görselde;
1 ==> Macroda 5. ve 7. satırdaki değişken tanımlamalarında neden değişkenler 0 (sıfır)'a eşitleniyor? Bu eşitleme işlemi değişkendeki değeri etkilemeyecek mi?
2 ==> Kırmızı okla gösterilen ve altı çizilen cümlede LW0 tanımlayıp 201 yazmanın veya LW201 tanımlayıp 0(sıfır) yazmanın mantığını kavrayamadım. Burada kafam çok karıştı.
3 ==> Macronun 9. satırında "donus" adlı tag nerede tanımlandı? Eğer bu tag ise bir türü,adresi,vs. bir tanımı olması gerekmez mi? "donus" eğer bir LABEL ise, bunun LABEL olduğunu macroya nasıl tanıtıyoruz?
4 ==> Macronun 45. satırında bulunan "return" etiketinin sağında bulunan 0(sıfır) neyi ifade ediyor?
5 ==> Macronun 17.,25.,26. satırlarında PLC değişkenlerini neden x,y,z değişkenlerine çekiyoruz? IF döngüsü içerisinde neden direkt olarak reçete verilerini PLC içerisine aktarmıyoruz? Aynı sorum r1,r2,r3 değişkenleri içinde geçerli. Buradaki değişkenleri HMI içierisindeki bir değişkene almak ve oradan tekrar aktarma yapmak macroya bir yük değil mi?
Teşekkürler.

- Macro_0.png (318.96 KiB) 37242 kere görüntülendi
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Sal Şub 04, 2025 7:16 am
gönderen Kairat
Merhabalar!
1: Hayır, etkilemeyecek. Sahada bu durumu denedim ve herhangi bir negatif durumla karşılaşmadım.
2: PLC1 ismi ve adresi tanıtılırken dikkat etmeniz gereken husustur.
Solda PLC1 adresleri tanıtılırken D0 olarak tanıttığınız senaryoyu ele alalım:
Bu durumda PLC1'in D0'ıncı registerından teoride D "sonsuza" register aralığı tanımlanmış olur ve makroda D201'in kullanımı için GetWord (@PLC1@, 201) yazılması gerekir. Yani D0'dan 201 register ötelenmiş halini yazmanız gerekir.
PLC1 adresleri tanıtılırken D201 olarak tanıttığınız senaryoyu ele alalım:
Bu durumda PLC1'in D201'inci registerlarından teoride D "sonsuza" register aralığı tanımlanmış olur ve makroda D201 kullanımı için GetWord (@PLC1@, 201) yazılması gerekir. Yani D201'den 0 register ötelenmiş halini yazmanız gerekir.
3: Bir yerde tanımlanmasına gerek yok. Direkt yazılması ve programın ilerleyen yerlerinde "goto" komutu ile kullanılması gerekir. Bunu sonsuz bir while döngüsü olarak düşünebilirsiniz:
donus
.
.
.
goto donus
bu durumda program çalıştıktan ve goto donus komutunu gördükten sonra tekrar donus satırına gidecek ve oradan tekrar çalışmaya başlayacak.
4: Bunun için C veya C++ araştırmanız gerekir. Net açıklamasını ben sunamıyorum maalesef ancak bildiğim kadarıyla programın başarıyla tamamlandığının ifadesidir.
5: Yukarıda değişkenler tanımlandıktan sonra bu değişkenlerin PLC ile eşleştirilmesi gerekir. Programda x,y... değişkenler tanımlandı evet ancak bunların PLC'de gerçek karşılıkları yok. Get... komutuyla bu değişkenler PLC'deki gerçek karşılıklarına eşleştirilmiş oluyor.
Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?
Gönderilme zamanı: Sal Şub 04, 2025 7:20 pm
gönderen AhmetA
Cevaplar için teşekkürler.
Hepsi yeterinde açıklayıcı oldu fakat 5. sorunun cevabını net alamadım yada ben tam olarak doğru şekilde soramadım.
IF döngüsünün içinde ;
SetWord(@PLC1@,0,@RECETE_WORD@,0);
şeklinde bir komut eklersek, bu x,y,z,a,b,c, gibi değişkenleri kullanmadan yazılamaz mı?