Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

VI20
AhmetA
Mesajlar: 46
Kayıt: Çrş Kas 13, 2024 7:57 am

Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj 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.
Ahmet
Mesajlar: 13
Kayıt: Prş Kas 07, 2024 11:01 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj gönderen Ahmet »

Merhabalar,
Reçete için makro kullanmanıza gerek yok. Aşağıdaki örneği inceleyebilirsiniz.
Dosya ekleri
REÇETE.zip
(5.79 MiB) 345 kere indirildi
AhmetA
Mesajlar: 46
Kayıt: Çrş Kas 13, 2024 7:57 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj gönderen AhmetA »

Teşekkürler. Bu örneğin işimi göreceğini düşünüyorum.
AhmetA
Mesajlar: 46
Kayıt: Çrş Kas 13, 2024 7:57 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj 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.
AhmetA
Mesajlar: 46
Kayıt: Çrş Kas 13, 2024 7:57 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj gönderen AhmetA »

Yaşadığım sorunla ilgili çözüm öneriniz nedir?
Ahmet
Mesajlar: 13
Kayıt: Prş Kas 07, 2024 11:01 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj 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.
Kullanıcı avatarı
Volkan
Mesajlar: 1053
Kayıt: Prş Tem 29, 2021 8:40 am
Konum: İstanbul
İletişim:

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj 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
AhmetA
Mesajlar: 46
Kayıt: Çrş Kas 13, 2024 7:57 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj gönderen AhmetA »

Volkan yazdı: Pzt Şub 03, 2025 2:00 pm 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
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
Macro_0.png (318.96 KiB) 37238 kere görüntülendi
En son AhmetA tarafından Sal Şub 04, 2025 7:22 pm tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kairat
Mesajlar: 85
Kayıt: Çrş Oca 25, 2023 6:39 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj 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.
AhmetA
Mesajlar: 46
Kayıt: Çrş Kas 13, 2024 7:57 am

Re: Ethernet ağındaki 3 adet farklı marka PLC'ye reçete oluşturma?

Mesaj 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ı?
Cevapla

“Veichi HMI” sayfasına dön