wincc to excel script ...

seydi53

Üye
Katılım
20 Şub 2007
Mesajlar
16
Puanları
1
Yaş
39
arkadaşlar kolay gelsin.

wincc de bulunan 3 adet tagı bir butana bastığımda EXCEL DEKİ ÖRNEĞİN A sutununda ilk boşolan satıra 3 adet tagı A ,B ,C SUTUNLARINA YAZMAK İSTİYORUM. Örnek bir script yazıp bana gönderebilirmisiniz...
 
KNX Standardı, küçük bir rezidansın içerisindeki aydınlatma, perde panjur, klima kontrolünden, Dünya’nın en büyük havalimanlarındaki aydınlatma otomasyonu gibi çözümler için tercih edilen bir Dünya standardıdır.
Yazımızda endüstrinin can damarı sayılabilecek PLC’yi inceleyeceğiz.
Dim TORBASAYISI1
Set TORBASAYISI1 = HMIRuntime.Tags("TORBASAYISI1")
Dim URUNCINSI1
Set URUNCINSI1 = HMIRuntime.Tags("URUNCINSI1")
Dim ExcelNesne
Set ExcelNesne = CreateObject ("Excel.Application")
excelnesne.visible = True
ExcelNesne.Workbooks.Open ("c:\rapor2.xls")
X = 4
Do While ExcelNesne.Cells(X,1).VALUE=True
X = X + 1
Loop
ExcelNesne.Cells(X,1).value = Date
ExcelNesne.Cells(X,2).value = Time
ExcelNesne.Cells(X,3).value = "KANTAR1"
ExcelNesne.Cells(X,4).value = TORBASAYISI1.Read
ExcelNesne.Cells(X,5).value = URUNCINSI1.Read

ExcelNesne.ActiveWorkbook.Save
excelnesne.Workbooks.close
excelnesne.Quit

şeklinde script oluşturmayı sonunda başardım. script çalışıyor. yanlız excelde bulunan ilk boş satıra yazdırma işleminde problem var. Bilgisi olan arkadaş varsa yardımcı olursa sevinirim.. kolay gelsin
 
Dim Tag1
Set Tag1 = HMIRuntime.Tags("Tag1")
Dim ExcelNesne
Set ExcelNesne = CreateObject ("Excel.Application")
ExcelNesne.Workbooks.Open ("c:\rapor2.xls")
X = 2
Do Until ExcelNesne.CELLS(X,1)=false
X = X + 1
Loop
ExcelNesne.Cells(X,1).value = Tag1.Read
ExcelNesne.ActiveWorkbook.Save
excelnesne.Workbooks.close
excelnesne.Quit

şeklinde excele tagı sıralı bir şekilde yazdırabilmek mümkün test edildi 100 de 100 çalışıyor. Sizlerden yanıt gelmeyince araştırmamı yayınlamak daha uygun geldi başarılar...
 
selamlar, konu dikkatimi çekti de peki şöyle birşey olsa, misal belli sayıda veri sürekli kayıt altında tutuluyor ve kullanıcı bunlardan istediklerini seçerek seçtiklerini de filtre ediyor (misal şu tarih ile şu tarih aralığında diye) bu aşamalardan sonra da bir butona basarak excelde yine istediği isim ile istediği yere kaydediyor (eş zamanlı değil de geriye dönük bir kayıt seçeneği), bunun nasıl yapılacağını bilen var mı?
şimdiden teşekkürler
 
negra ' Alıntı:
selamlar, konu dikkatimi çekti de peki şöyle birşey olsa, misal belli sayıda veri sürekli kayıt altında tutuluyor ve kullanıcı bunlardan istediklerini seçerek seçtiklerini de filtre ediyor (misal şu tarih ile şu tarih aralığında diye) bu aşamalardan sonra da bir butona basarak excelde yine istediği isim ile istediği yere kaydediyor (eş zamanlı değil de geriye dönük bir kayıt seçeneği), bunun nasıl yapılacağını bilen var mı?
şimdiden teşekkürler
arkadasım bu konu Scada yazılımına gore degısmekle beraber scadada bır data kayıt bolumu mevcuttur.sız burada datanızı ne kadar sure saklayacagınızı vede ne kadar zamanda bır ornek alacagınızı buraya yazacagınızı buradan ayarlarsınız.bu verıler pc nın hard dıske kaydedılır vede yazılımın yardımıyla sızınde belırtıgınız fıltreleme yontemıyle yazılı ortama dokulur yada ekranda degısık formatlarda okunabılır.mesela bır tanktakı kımyasal maddenın tonajını 2 dakıkada bır vede 10 sene boyunca tut dıyebılırsınız
 
sanırım sorum anlaşılmadı, konu zaten WinCC ve WinCC de Sql ile dataları kaydediyorsun ve bunu da istediğin şekilde yapıyorsun, lakin konuda geçen kayıdın excele atılması, ben de diyorum ki misal 10 gün boyunca 5 er dakikalık ara ile toplam 3 tag sql e winCC tarafından kaydedilmiş lakin kullanıcı bunlardan istediğini scadada bir ekranda seçip misal ; 1 ve 3. tagi ve 3. gün ile 6. gün aralığında tutulan kayıtlar diye (tarih girerek) filtreliyerek bir text kutusuna kayıt yapacağı sürücü ve klasörün yolunu yazıp excel dosyasına da istediği bir ismi atayarak kayıt sonucu almak istiyor, arkadaşlarım eş zamanlı olarak ele almış ben se geriye dönük sql e kayıt edilmiş verinin excele atılmasının nasıl yapılacağını merak ettim
 
Dim Tag1
Set Tag1 = HMIRuntime.Tags("Tag1")
Dim ExcelNesne
Set ExcelNesne = CreateObject ("Excel.Application")
ExcelNesne.Workbooks.Open ("c:\rapor2.xls")
X = 2
Do Until ExcelNesne.CELLS(X,1)=false
X = X + 1
Loop
ExcelNesne.Cells(X,1).value = Tag1.Read
ExcelNesne.ActiveWorkbook.Save
excelnesne.Workbooks.close
excelnesne.Quit

şeklinde excele tagı sıralı bir şekilde yazdırabilmek mümkün test edildi 100 de 100 çalışıyor. Sizlerden yanıt gelmeyince araştırmamı yayınlamak daha uygun geldi başarılar...

slm hocam bu yazdıklarınızı wicc 7 denedim excell dosyasının içine hic birsey atmıyor ayrıntılı bı sekılde yazabılırmısınız
 
Biraz acemice bir soru olacak ancak şunu kavrayamadım; bu script'i excelde mi yazıyorsunuz scadada mı?
 
scada da yazılması gerekıyor
 
Aşağıdaki link yardımcı olabilir, örnek program ve pdf dosyaları mevcut(ingilizce).
Otomasyon"https://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=23829402&caller=view"]https://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=23829402&caller=view[/URL]
 

Forum istatistikleri

Konular
128,243
Mesajlar
916,133
Kullanıcılar
450,051
Son üye
Rezly

Yeni konular

Geri
Üst